algebrite
Version:
Computer Algebra System in Coffeescript
66 lines (45 loc) • 1.08 kB
text/coffeescript
test_rect = ->
run_test [
# check when not assuming real variables ----------
"assumeRealVariables = 0",
"",
"rect(a)",
"rect(a)",
# same as rect(a) + i*rect(b)
# where rect(b) is abs(b)*(cos(arg(b)) + i*sin(arg(b)))
"rect(a+i*b)",
"rect(a)-abs(b)*sin(arg(b))+i*abs(b)*cos(arg(b))",
"assumeRealVariables = 1",
"",
# --------------------------------------------------
"rect(a)",
"a",
"rect(a+i*b)",
"a+i*b",
"rect(exp(a+i*b))",
"i*exp(a)*sin(b)+exp(a)*cos(b)",
"rect(1+exp(i*pi/3))",
"3/2+1/2*i*3^(1/2)",
"z=(a+b*i)/(c+d*i)",
"",
"rect(z)-real(z)-i*imag(z)",
"0",
"z=quote(z)",
"",
"rect((-1)^(2/3))",
"-1/2+1/2*i*3^(1/2)",
"rect(exp(-3/4*i*pi))",
"-1/2*2^(1/2)-1/2*i*2^(1/2)",
"rect(exp(-1/4*i*pi))",
"1/2*2^(1/2)-1/2*i*2^(1/2)",
"rect(exp(-2/4*i*pi))",
"-i",
"rect(exp(-3/4*i*pi))",
"-1/2*2^(1/2)-1/2*i*2^(1/2)",
"rect(exp(-4/4*i*pi))",
"-1",
"rect(((-1)^(1/2)/(3^(1/2)))^(1/2))",
"i*2^(1/2)/(2*3^(1/4))+2^(1/2)/(2*3^(1/4))",
"rect((-1)^(1/6) - (-1)^(5/6))",
"3^(1/2)",
]