15 lines
507 B
Text
15 lines
507 B
Text
var [const]
|
|
tau=(0.0).pi*2,
|
|
units=Dictionary( // code:(name, units in circle)
|
|
"d", T("degrees", 360.0), "g",T("gradians",400.0),
|
|
"m", T("mills", 6400.0), "r",T("radians", tau) ),
|
|
cvtNm="%s-->%s".fmt,
|
|
cvt= // "d-->r":fcn(angle){}, "r-->d":fcn(angle){} ...
|
|
Walker.cproduct(units.keys,units.keys).pump(Dictionary(),fcn([(a,b)]){
|
|
return(cvtNm(a,b), // "d-->r"
|
|
'wrap(angle){ angle=angle.toFloat();
|
|
u:=units[a][1];
|
|
(angle%u)*units[b][1] / u
|
|
})
|
|
})
|
|
;
|