UNPKG

1.97 kBtext/coffeescriptView Raw
1test_abs = ->
2 run_test [
3
4 "abs(a+i*b)",
5 "(a^2+b^2)^(1/2)",
6
7 "abs(a+b+i*c)",
8 "(2*a*b+a^2+b^2+c^2)^(1/2)",
9
10 "abs(exp(a+i*b))",
11 "exp(a)",
12
13 "abs(((-1)^(1/3)+1)^(1/2))",
14 "3^(1/4)",
15
16 "abs((-2*(-1)^(1/6)/(3^(1/2)))^(1/4))",
17 "(2/(3^(1/2)))^(1/4)",
18
19 "abs((-2*(-1)^(1/6)/(3^(1/2))+1)^(1/4))",
20 "1/3^(1/8)",
21
22 "abs((2*(-1)^(5/6)/(3^(1/2)))^(1/4))",
23 "(2/(3^(1/2)))^(1/4)",
24
25 "abs(1)",
26 "1",
27
28 "abs(x)",
29 "abs(x)",
30
31 # true only if x is real,
32 # counterexample: i, which makes 1 and -1
33 "abs(x)^2",
34 "x^2",
35
36 "abs(-x)",
37 "abs(x)",
38
39 "abs(abs(-x))",
40 "abs(x)",
41
42 "abs(abs(abs(-x)))",
43 "abs(x)",
44
45 "abs(a+b)",
46 "abs(a+b)",
47
48 "abs(a*b)",
49 "abs(a)*abs(b)",
50
51 "abs(-1)",
52 "1",
53
54 "abs(1+exp(i*pi/3))",
55 "3^(1/2)",
56
57 "abs((a+i*b)/(c+i*d))",
58 "(a^2+b^2)^(1/2)/((c^2+d^2)^(1/2))",
59
60 "abs(((-1)^(1/2) / (3^(1/2)))^(1/2))",
61 "1/3^(1/4)",
62
63 "abs(exp(i theta))",
64 "1",
65
66 "abs(exp(-i theta))",
67 "1",
68
69 "abs((-1)^theta)",
70 "1",
71
72 "abs((-1)^(-theta))",
73 "1",
74
75 "abs(3*(-1)^theta)",
76 "3",
77
78 "abs(3*(-1)^(-theta))",
79 "3",
80
81 "abs(-3*(-1)^theta)",
82 "3",
83
84 "abs(-3*(-1)^(-theta))",
85 "3",
86
87 "abs(-5 i pi / a)",
88 "5*pi/abs(a)",
89
90 "abs(1 / a)",
91 "1/(abs(a))",
92
93 # ---------- old abs tests
94
95 "abs(2)",
96 "2",
97
98 "abs(2.0)",
99 "2.0",
100
101 "abs(-2)",
102 "2",
103
104 "abs(-2.0)",
105 "2.0",
106
107 "abs(a)",
108 "abs(a)",
109
110 "abs(-a)",
111 "abs(a)",
112
113 "abs(2*a)",
114 "2*abs(a)",
115
116 "abs(-2*a)",
117 "2*abs(a)",
118
119 "abs(2.0*a)",
120 "2.0*abs(a)",
121
122 "abs(-2.0*a)",
123 "2.0*abs(a)",
124
125 "abs(a-b)+abs(b-a)",
126 "2*abs(a-b)",
127
128 "abs(3 + 4 i)",
129 "5",
130
131 "abs([2,3,4])",
132 "29^(1/2)",
133
134 "abs(a*b)",
135 "abs(a)*abs(b)",
136
137 "abs(a/b)",
138 "abs(a)/abs(b)",
139
140 "abs(1/a^b)",
141 "1/(abs(a^b))",
142
143 # Check that vector length is simplified
144
145 "P=[u*cos(v),u*sin(v),v]",
146 "",
147
148 "abs(cross(d(P,u),d(P,v)))",
149 "(1+u^2)^(1/2)",
150
151 "abs((-1)^(-0.666667+0.0291367/pi))",
152 "1.0",
153
154 "abs((-1)^(9/3))",
155 "1",
156
157 "abs((1)^(9/3))",
158 "1",
159
160 "abs((-1.0)^(9/3))",
161 "1.0",
162
163 ]