From 6f86ce7057dd7cd1b491e8f09501258822d2ea74 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 23 May 2017 17:06:09 +0200 Subject: Import j1demo --- j1demo/firmware/sincos.fs | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 j1demo/firmware/sincos.fs (limited to 'j1demo/firmware/sincos.fs') diff --git a/j1demo/firmware/sincos.fs b/j1demo/firmware/sincos.fs new file mode 100644 index 0000000..6ad1ea4 --- /dev/null +++ b/j1demo/firmware/sincos.fs @@ -0,0 +1,36 @@ +( Sine and cosine JCB 18:29 11/18/10) + +create sintab + +meta + +: mksin + 65 0 do + i s>d d>f 128e0 f/ pi f* fsin + 32767e0 f* f>d drop + t, + loop +; +mksin + +target + +: sin ( th -- v ) + dup d# 128 and >r + d# 127 and + dup d# 63 > if + invert d# 129 + \ 64->64, 65->63 + then + cells sintab + @ + r> if + negate + then +; + +: cos d# 64 + sin ; + +: sin* ( s th -- sinth * s ) + sin swap 2* m* nip ; + +: cos* ( s th -- costh * s ) + cos swap 2* m* nip ; -- cgit v1.2.3