aoc-forth

Advent of code solutions in UF forth
git clone git://git.alexwennerberg.com/aoc-forth
Log | Files | Refs | README

commit ec70cafdfa401e08b0ab4ca54ccc08e89ae24053
parent 96316ea642d26b3a527cc54a0688bc8e1b90a890
Author: alex wennerberg <alex@alexwennerberg.com>
Date:   Thu,  1 Dec 2022 13:36:51 -0800

improve multiplication

Diffstat:
M2022/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