~vdupras/dusk-examples

abc2a4dc692cf9453f6dc11ce7659f176cfd65d4 — Virgil Dupras 2 months ago 8fe9256 master
Pimp up sieveh.fs

Exact same code generation, but looks nicer
1 files changed, 4 insertions(+), 4 deletions(-)

M sieveh.fs
M sieveh.fs => sieveh.fs +4 -4
@@ 9,13 9,13 @@ variable count
    0 count !
    flags size cells/ $01010101 fill
    0 r! [ ( W=0 ) 0 i) A>) @, begin
      W) flags +) 8b) A>) compare, 0 Z) branchC,
      W) flags +) 8b) A>) compare, ifnz,
        1 i) <<, 3 i) +, S) &) !, RSP) +,
        size i) compare, 0 >) branchC, begin
        size i) compare, if<= begin
          W) flags +) A>) 8b) !, S) &) +,
          size i) compare, <=) branchC, drop then
          size i) compare, while<= then
        1 count m) +n, then 1 RSP) +n,
      RSP) @, size i) compare, NZ) branchC, drop ] ( W )
      RSP) @, size i) compare, while<> ] ( W )
    rdrop drop next nl> count @ . ." primes" ;

freeze sieve