|
4 | 4 | PLUS_RULES = [ |
5 | 5 | @rule(~x::isnotflat(+) => flatten_term(+, ~x)) |
6 | 6 | @rule(~x::needs_sorting(+) => sort_args(+, ~x)) |
7 | | - @ordered_acrule(~a::isnumber + ~b::isnumber => ~a + ~b) |
| 7 | + @ordered_acrule(~a::is_literal_number + ~b::is_literal_number => ~a + ~b) |
8 | 8 |
|
9 | 9 | @acrule(*(~~x) + *(~β, ~~x) => *(1 + ~β, (~~x)...)) |
10 | 10 | @acrule(*(~α, ~~x) + *(~β, ~~x) => *(~α + ~β, (~~x)...)) |
11 | 11 | @acrule(*(~~x, ~α) + *(~~x, ~β) => *(~α + ~β, (~~x)...)) |
12 | 12 |
|
13 | 13 | @acrule(~x + *(~β, ~x) => *(1 + ~β, ~x)) |
14 | | - @acrule(*(~α::isnumber, ~x) + ~x => *(~α + 1, ~x)) |
| 14 | + @acrule(*(~α::is_literal_number, ~x) + ~x => *(~α + 1, ~x)) |
15 | 15 | @rule(+(~~x::hasrepeats) => +(merge_repeats(*, ~~x)...)) |
16 | 16 |
|
17 | 17 | @ordered_acrule((~z::_iszero + ~x) => ~x) |
|
22 | 22 | @rule(~x::isnotflat(*) => flatten_term(*, ~x)) |
23 | 23 | @rule(~x::needs_sorting(*) => sort_args(*, ~x)) |
24 | 24 |
|
25 | | - @ordered_acrule(~a::isnumber * ~b::isnumber => ~a * ~b) |
| 25 | + @ordered_acrule(~a::is_literal_number * ~b::is_literal_number => ~a * ~b) |
26 | 26 | @rule(*(~~x::hasrepeats) => *(merge_repeats(^, ~~x)...)) |
27 | 27 |
|
28 | 28 | @acrule((~y)^(~n) * ~y => (~y)^(~n+1)) |
|
50 | 50 | @rule(~x / ~y => ~x * pow(~y, -1)) |
51 | 51 | @rule(one(~x) => one(symtype(~x))) |
52 | 52 | @rule(zero(~x) => zero(symtype(~x))) |
53 | | - @rule(cond(~x::isnumber, ~y, ~z) => ~x ? ~y : ~z) |
| 53 | + @rule(cond(~x::is_literal_number, ~y, ~z) => ~x ? ~y : ~z) |
54 | 54 | ] |
55 | 55 |
|
56 | 56 | TRIG_RULES = [ |
|
92 | 92 | # simplify terms with no symbolic arguments |
93 | 93 | # e.g. this simplifies term(isodd, 3, type=Bool) |
94 | 94 | # or term(!, false) |
95 | | - @rule((~f)(~x::isnumber) => (~f)(~x)) |
| 95 | + @rule((~f)(~x::is_literal_number) => (~f)(~x)) |
96 | 96 | # and this simplifies any binary comparison operator |
97 | | - @rule((~f)(~x::isnumber, ~y::isnumber) => (~f)(~x, ~y)) |
| 97 | + @rule((~f)(~x::is_literal_number, ~y::is_literal_number) => (~f)(~x, ~y)) |
98 | 98 | ] |
99 | 99 |
|
100 | 100 | function number_simplifier() |
|
0 commit comments