commit ec70cafdfa401e08b0ab4ca54ccc08e89ae24053 parent 96316ea642d26b3a527cc54a0688bc8e1b90a890 Author: alex wennerberg <alex@alexwennerberg.com> Date: Thu, 1 Dec 2022 13:36:51 -0800 improve multiplication Diffstat:
M | 2022/01.fs | | | 6 | +++--- |
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/2022/01.fs b/2022/01.fs @@ -6,14 +6,14 @@ create 4 * allot does> swap 4 * + ; 6 darray foo variable cals -\ Lol +\ multiplication through recursive adding (Lol) 2variable t10 -: d10* ( d1 -- d2 ) 0 0 t10 2! 10 0 do 2dup t10 2@ d+ t10 2! loop 2drop t10 2@ ; +: d* ( u1 d1 -- d2 ) 0 0 t10 2! 0 do 2dup t10 2@ d+ t10 2! loop 2drop t10 2@ ; 2variable tmp : to-num ( a u -- d ) 0 0 tmp 2! 0 do dup r@ + c@ h# 30 - 0 -tmp 2@ d10* d+ tmp 2! loop drop tmp 2@ ; +tmp 2@ 10 d* d+ tmp 2! loop drop tmp 2@ ; \ d1 == highest