User Tools

Site Tools


sd:star_forth_test_suite

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sd:star_forth_test_suite [2026/03/14 02:01] appledogsd:star_forth_test_suite [2026/03/14 13:20] (current) appledog
Line 17: Line 17:
 | 1.0\\ 260313 | PASS | '': SIMPLE 500000 0 DO LOOP ;''\\ ''SIMPLE'' | ~6 seconds (170,000 w/s) at 4MHz | | 1.0\\ 260313 | PASS | '': SIMPLE 500000 0 DO LOOP ;''\\ ''SIMPLE'' | ~6 seconds (170,000 w/s) at 4MHz |
 | 1.0\\ 260313 | PASS | '': BENCH 500000 0 DO I DUP * DROP LOOP ;''\\ ''BENCH'' | 22 seconds (140,000 w/s) at 4Mhz | | 1.0\\ 260313 | PASS | '': BENCH 500000 0 DO I DUP * DROP LOOP ;''\\ ''BENCH'' | 22 seconds (140,000 w/s) at 4Mhz |
-| 1.0\\ 260313 | PASS | '': #WORDS 0 $030003 P@ BEGIN DUP WHILE SWAP 1 + SWAP P@ REPEAT DROP . ." words" CR ;'' | Shows 72 words (see WORDS, which shows 71). |+| 1.0\\ 260314 | PASS | '': #WORDS 0 $030003 P@ BEGIN DUP WHILE SWAP 1 + SWAP P@ REPEAT DROP . ." words" CR ;'' | Shows 73 words (see WORDS, which shows 72). |
  
 Note that AS-IS, SD/FORTH 1.0 is not FORTH-79 compliant. That's fine, the following self-hosted words act as a sort of test suite, and also bring us up squarely into FORTH-79. Note that AS-IS, SD/FORTH 1.0 is not FORTH-79 compliant. That's fine, the following self-hosted words act as a sort of test suite, and also bring us up squarely into FORTH-79.
Line 51: Line 51:
  
 <codify Forth> <codify Forth>
-: TEST= = IF ." PASS" ELSE ." FAIL" THEN CR ;+: TEST= = IF ." PASS " ELSE ." FAIL " THEN ;
  
 ( Arithmetic ) ( Arithmetic )
Line 73: Line 73:
 ( Stack ops ) ( Stack ops )
 1 2 NIP 2 TEST= 1 2 NIP 2 TEST=
-1 2 TUCK DROP 2 TEST= +1 2 TUCK 2 TEST= DROP DROP 
-1 2 TUCK DROP DROP 1 TEST=+1 2 TUCK DROP 1 TEST= DROP 
 +2 TUCK DROP DROP 2 TEST=
 5 ?DUP + 10 TEST= 5 ?DUP + 10 TEST=
 0 ?DUP 0 TEST= 0 ?DUP 0 TEST=
-1 2 3 ROT DROP DROP 1 TEST=+1 2 3 ROT 1 TEST= DROP DROP
 3 4 2DUP + >R + R> + 14 TEST= 3 4 2DUP + >R + R> + 14 TEST=
  
Line 98: Line 99:
 65 EMIT 66 EMIT 67 EMIT CR 65 EMIT 66 EMIT 67 EMIT CR
 3 SPACES 65 EMIT CR 3 SPACES 65 EMIT CR
 +
 +( Bit Shifting Ops )
 +1 0 LSHIFT 1 TEST=
 +1 1 LSHIFT 2 TEST=
 +1 4 LSHIFT 16 TEST=
 +1 8 LSHIFT 256 TEST=
 +$FF 4 LSHIFT $FF0 TEST=
 +16 1 RSHIFT 8 TEST=
 +256 8 RSHIFT 1 TEST=
 +$FF0 4 RSHIFT $FF TEST=
 +1 1 RSHIFT 0 TEST=
 </codify> </codify>
  
Line 134: Line 146:
 === FIZZBENCH === FIZZBENCH
 <codify Forth> <codify Forth>
 +    : FIZZBUZZ 21 1 DO I 15 MOD 0 = IF ." FizzBuzz" ELSE I 3 MOD
 +          0 = IF ." Fizz" ELSE I 5 MOD
 +          0 = IF ." Buzz" ELSE I . THEN THEN THEN CR LOOP ;
     : FIZZBENCH 0 10000 0     : FIZZBENCH 0 10000 0
         DO I 15 MOD 0 = IF 1 + ELSE         DO I 15 MOD 0 = IF 1 + ELSE
sd/star_forth_test_suite.1773453680.txt.gz · Last modified: by appledog

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki