46 lines
976 B
Text
46 lines
976 B
Text
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 ""
|
|
.
|