Remove some code duplication in TRANSLATE-PREDICATE
[maxima.git] / tests / rtest_polynomialp.mac
blobdfe4b1d3bbd71e99cd0c94b88f7b693ce8bf9d24
1 polynomialp(1,[x])$
2 true$
4 polynomialp(%pi,[x])$
5 true$
7 polynomialp(sqrt(23),[x])$
8 true$
10 polynomialp(1+x,[x])$
11 true$
13 polynomialp(1 + x * (sqrt(5) + x),[x])$
14 true$
16 polynomialp(1 + x * (sqrt(5) + x),[y])$
17 false$
19 polynomialp(1 + x * (sqrt(5) + y),[x,y])$
20 true$
22 polynomialp(1 + sqrt(x),[x], 'numberp, 'numberp);
23 true$
25 polynomialp(1 + sqrt(1 + sqrt(x)),[x], 'numberp, 'numberp);
26 true$
28 polynomialp(1 + sqrt(x + sqrt(1 + x*y)),[x,y], 'numberp, 'numberp);
29 true$
31 polynomialp(cos(x),[x]);
32 false$
34 polynomialp(cos(x),[x], 'numberp, 'numberp);
35 false$
37 polynomialp([x],[x], 'numberp, 'numberp);
38 false$
40 polynomialp((1+x)^a,[x], 'constantp, lambda([e],freeof(x,e)));
41 true$
43 polynomialp((1+x)^a,[x], 'constantp);
44 false$
46 /* Bug #3543: bug with polynomialp */
48 block ([z : factor (x[1])],
49   /* This should yield true even though the value of z has
50    * some extra stuff in its header compared to a vanilla x[1]
51    */
52   polynomialp (x[1], [z]));
53 true;