(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))})