(phixonline)-->
-- demo\rosetta\ArithComplex.exw
with javascript_semantics
include complex.e
complex a = complex_new(1,1), -- (or just {1,1})
b = complex_new(3.14159,1.25),
c = complex_new(1,0),
d = complex_new(0,1)
printf(1,"a = %s\n",{complex_sprint(a)})
printf(1,"b = %s\n",{complex_sprint(b)})
printf(1,"c = %s\n",{complex_sprint(c)})
printf(1,"d = %s\n",{complex_sprint(d)})
printf(1,"a+b = %s\n",{complex_sprint(complex_add(a,b))})
printf(1,"a*b = %s\n",{complex_sprint(complex_mul(a,b))})
printf(1,"1/a = %s\n",{complex_sprint(complex_inv(a))})
printf(1,"c/a = %s\n",{complex_sprint(complex_div(c,a))})
printf(1,"c-a = %s\n",{complex_sprint(complex_sub(c,a))})
printf(1,"d-a = %s\n",{complex_sprint(complex_sub(d,a))})
printf(1,"-a = %s\n",{complex_sprint(complex_neg(a))})
printf(1,"conj a = %s\n",{complex_sprint(complex_conjugate(a))})