func angconv ang f$ t$ . sgn = sign ang ang = abs ang if f$ = "degree" turn = ang / 360 mod 1 elif f$ = "gradian" turn = ang / 400 mod 1 elif f$ = "mil" turn = ang / 6400 mod 1 elif f$ = "radian" turn = ang / (2 * pi) mod 1 . if t$ = "degree" ang = turn * 360 elif t$ = "gradian" ang = turn * 400 elif t$ = "mil" ang = turn * 6400 elif t$ = "radian" ang = turn * 2 * pi . return ang * sgn . func$ fmt s$ . return substr " " 1 (9 - len s$) & s$ & " " . # scales$[] = [ "degree" "gradian" "mil" "radian" ] values[] = [ -2 -1 0 1 2 6.2831853 16 57.2957795 359 399 6399 1000000 ] numfmt 10 3 for f$ in scales$[] write fmt f$ for t$ in scales$[] write fmt t$ . print "" print " ------------------------------------------------" for v in values[] write v for t$ in scales$[] write angconv v f$ t$ . print "" . print "" .