with javascript_semantics constant units = {"degrees","gradians","mils","radians"}, turns = {1/360,1/400,1/6400,0.5/PI} function convert(atom a, unit, tgt) return remainder(a*unit,1)/tgt end function constant tests = {-2,-1,0,1,2,2*PI,16,57.2957795,359,399,6399,1000000} printf(1," angle unit %9s %9s %9s %9s\n",units) for t in tests do for i,u in turns do printf(1,"%9g %-8s",{t,units[i]}) for tgt in turns do printf(1," %9g",convert(t,u,tgt)) end for puts(1,"\n") end for puts(1,"\n") end for