27 lines
594 B
Factor
27 lines
594 B
Factor
USING: combinators generalizations kernel math prettyprint ;
|
|
IN: rosetta-code.bearings
|
|
|
|
: delta-bearing ( x y -- z )
|
|
swap - 360 mod {
|
|
{ [ dup 180 > ] [ 360 - ] }
|
|
{ [ dup -180 < ] [ 360 + ] }
|
|
[ ]
|
|
} cond ;
|
|
|
|
: bearings-demo ( -- )
|
|
20 45
|
|
-45 45
|
|
-85 90
|
|
-95 90
|
|
-45 125
|
|
-45 145
|
|
29.4803 -88.6381
|
|
-78.3251 -159.036
|
|
-70099.74233810938 29840.67437876723
|
|
-165313.6666297357 33693.9894517456
|
|
1174.8380510598456 -154146.66490124757
|
|
60175.77306795546 42213.07192354373
|
|
[ delta-bearing . ] 2 12 mnapply ;
|
|
|
|
MAIN: bearings-demo
|