176 lines
2.3 KiB
CoffeeScript
176 lines
2.3 KiB
CoffeeScript
test_abs = ->
|
|
run_test [
|
|
|
|
"abs(a+i*b)",
|
|
"(a^2+b^2)^(1/2)",
|
|
|
|
"abs(a+b+i*c)",
|
|
"(2*a*b+a^2+b^2+c^2)^(1/2)",
|
|
|
|
"abs(exp(a+i*b))",
|
|
"exp(a)",
|
|
|
|
"abs(((-1)^(1/3)+1)^(1/2))",
|
|
"3^(1/4)",
|
|
|
|
"abs((-2*(-1)^(1/6)/(3^(1/2)))^(1/4))",
|
|
"(2/(3^(1/2)))^(1/4)",
|
|
|
|
"abs((-2*(-1)^(1/6)/(3^(1/2))+1)^(1/4))",
|
|
"1/3^(1/8)",
|
|
|
|
"abs((2*(-1)^(5/6)/(3^(1/2)))^(1/4))",
|
|
"(2/(3^(1/2)))^(1/4)",
|
|
|
|
"abs(1+1.0*(-1)^(1/2))",
|
|
"1.414214...",
|
|
|
|
"abs(1-1.0*(-1)^(1/2))",
|
|
"1.414214...",
|
|
|
|
"abs(1+2.0*(-1)^(1/2))",
|
|
"2.236068...",
|
|
|
|
"abs(1-2.0*(-1)^(1/2))",
|
|
"2.236068...",
|
|
|
|
"abs(1)",
|
|
"1",
|
|
|
|
"abs(x)",
|
|
"abs(x)",
|
|
|
|
# true only if x is real,
|
|
# counterexample: i, which makes 1 and -1
|
|
"abs(x)^2",
|
|
"x^2",
|
|
|
|
"abs(-x)",
|
|
"abs(x)",
|
|
|
|
"abs(abs(-x))",
|
|
"abs(x)",
|
|
|
|
"abs(abs(abs(-x)))",
|
|
"abs(x)",
|
|
|
|
"abs(a+b)",
|
|
"abs(a+b)",
|
|
|
|
"abs(a*b)",
|
|
"abs(a)*abs(b)",
|
|
|
|
"abs(-1)",
|
|
"1",
|
|
|
|
"abs(1+exp(i*pi/3))",
|
|
"3^(1/2)",
|
|
|
|
"abs((a+i*b)/(c+i*d))",
|
|
"(a^2+b^2)^(1/2)/((c^2+d^2)^(1/2))",
|
|
|
|
"abs(((-1)^(1/2) / (3^(1/2)))^(1/2))",
|
|
"1/3^(1/4)",
|
|
|
|
"abs(exp(i theta))",
|
|
"1",
|
|
|
|
"abs(exp(-i theta))",
|
|
"1",
|
|
|
|
"abs((-1)^theta)",
|
|
"1",
|
|
|
|
"abs((-1)^(-theta))",
|
|
"1",
|
|
|
|
"abs(3*(-1)^theta)",
|
|
"3",
|
|
|
|
"abs(3*(-1)^(-theta))",
|
|
"3",
|
|
|
|
"abs(-3*(-1)^theta)",
|
|
"3",
|
|
|
|
"abs(-3*(-1)^(-theta))",
|
|
"3",
|
|
|
|
"abs(-5 i pi / a)",
|
|
"5*pi/abs(a)",
|
|
|
|
"abs(1 / a)",
|
|
"1/(abs(a))",
|
|
|
|
# ---------- old abs tests
|
|
|
|
"abs(2)",
|
|
"2",
|
|
|
|
"abs(2.0)",
|
|
"2.0",
|
|
|
|
"abs(-2)",
|
|
"2",
|
|
|
|
"abs(-2.0)",
|
|
"2.0",
|
|
|
|
"abs(a)",
|
|
"abs(a)",
|
|
|
|
"abs(-a)",
|
|
"abs(a)",
|
|
|
|
"abs(2*a)",
|
|
"2*abs(a)",
|
|
|
|
"abs(-2*a)",
|
|
"2*abs(a)",
|
|
|
|
"abs(2.0*a)",
|
|
"2.0*abs(a)",
|
|
|
|
"abs(-2.0*a)",
|
|
"2.0*abs(a)",
|
|
|
|
"abs(a-b)+abs(b-a)",
|
|
"2*abs(a-b)",
|
|
|
|
"abs(3 + 4 i)",
|
|
"5",
|
|
|
|
"abs([2,3,4])",
|
|
"29^(1/2)",
|
|
|
|
"abs(a*b)",
|
|
"abs(a)*abs(b)",
|
|
|
|
"abs(a/b)",
|
|
"abs(a)/abs(b)",
|
|
|
|
"abs(1/a^b)",
|
|
"1/(abs(a^b))",
|
|
|
|
# Check that vector length is simplified
|
|
|
|
"P=[u*cos(v),u*sin(v),v]",
|
|
"",
|
|
|
|
"abs(cross(d(P,u),d(P,v)))",
|
|
"(1+u^2)^(1/2)",
|
|
|
|
"abs((-1)^(-0.666667+0.0291367/pi))",
|
|
"1.0",
|
|
|
|
"abs((-1)^(9/3))",
|
|
"1",
|
|
|
|
"abs((1)^(9/3))",
|
|
"1",
|
|
|
|
"abs((-1.0)^(9/3))",
|
|
"1.0",
|
|
|
|
]
|