version 1.8, 2007/11/03 08:20:32
|
version 1.11, 2008/03/06 19:24:30
|
Line 180 HAS-FLOATING-STACK [IF]
|
Line 180 HAS-FLOATING-STACK [IF]
|
: F} ( ... -- ... ) |
: F} ( ... -- ... ) |
FDEPTH ACTUAL-FDEPTH @ = IF |
FDEPTH ACTUAL-FDEPTH @ = IF |
FDEPTH START-FDEPTH @ > IF |
FDEPTH START-FDEPTH @ > IF |
FDEPTH START-FDEPTH @ DO |
FDEPTH START-FDEPTH @ - 0 DO |
ACTUAL-FRESULTS I FLOATS + F@ FCONF= INVERT IF |
ACTUAL-FRESULTS I FLOATS + F@ FCONF= INVERT IF |
S" INCORRECT FP RESULT: " ERROR LEAVE |
S" INCORRECT FP RESULT: " ERROR LEAVE |
THEN |
THEN |
Line 192 HAS-FLOATING-STACK [IF]
|
Line 192 HAS-FLOATING-STACK [IF]
|
|
|
: F...}T ( -- ) |
: F...}T ( -- ) |
FCURSOR @ START-FDEPTH @ + ACTUAL-FDEPTH @ <> IF |
FCURSOR @ START-FDEPTH @ + ACTUAL-FDEPTH @ <> IF |
S" NUMBER OF FLOAT RESULTS BEFORE '->' DOES NOT MATCH ...}T SPRECIFICATION: " ERROR |
S" NUMBER OF FLOAT RESULTS BEFORE '->' DOES NOT MATCH ...}T SPECIFICATION: " ERROR |
ELSE FDEPTH START-FDEPTH @ = 0= IF |
ELSE FDEPTH START-FDEPTH @ = 0= IF |
S" NUMBER OF FLOAT RESULTS BEFORE AND AFTER '->' DOES NOT MATCH: " ERROR |
S" NUMBER OF FLOAT RESULTS BEFORE AND AFTER '->' DOES NOT MATCH: " ERROR |
THEN THEN ; |
THEN THEN ; |
Line 202 HAS-FLOATING-STACK [IF]
|
Line 202 HAS-FLOATING-STACK [IF]
|
FDEPTH 0= ACTUAL-FDEPTH @ FCURSOR @ START-FDEPTH @ + 1+ < OR IF |
FDEPTH 0= ACTUAL-FDEPTH @ FCURSOR @ START-FDEPTH @ + 1+ < OR IF |
S" NUMBER OF FLOAT RESULTS AFTER '->' BELOW ...}T SPECIFICATION: " ERROR |
S" NUMBER OF FLOAT RESULTS AFTER '->' BELOW ...}T SPECIFICATION: " ERROR |
ELSE ACTUAL-FRESULTS FCURSOR @ FLOATS + F@ FCONF= 0= IF |
ELSE ACTUAL-FRESULTS FCURSOR @ FLOATS + F@ FCONF= 0= IF |
S" INCORRECT FP RESULT: " ERROR |
S" INCORRECT FP RESULT: " ERROR |
THEN THEN |
THEN THEN |
1 FCURSOR +! ; |
1 FCURSOR +! ; |
|
|
[ELSE] |
[ELSE] |
Line 223 HAS-FLOATING-STACK [IF]
|
Line 223 HAS-FLOATING-STACK [IF]
|
: FTESTER ( R -- ) |
: FTESTER ( R -- ) |
DEPTH CELLS-PER-FP < ACTUAL-DEPTH @ XCURSOR @ START-DEPTH @ + CELLS-PER-FP + < OR IF |
DEPTH CELLS-PER-FP < ACTUAL-DEPTH @ XCURSOR @ START-DEPTH @ + CELLS-PER-FP + < OR IF |
S" NUMBER OF RESULTS AFTER '->' BELOW ...}T SPECIFICATION: " ERROR EXIT |
S" NUMBER OF RESULTS AFTER '->' BELOW ...}T SPECIFICATION: " ERROR EXIT |
THEN |
ELSE ACTUAL-RESULTS XCURSOR @ CELLS + F@ FCONF= 0= IF |
ACTUAL-RESULTS XCURSOR @ CELLS + F@ FCONF= 0= IF |
|
S" INCORRECT FP RESULT: " ERROR |
S" INCORRECT FP RESULT: " ERROR |
THEN |
THEN THEN |
CELLS-PER-FP XCURSOR +! ; |
CELLS-PER-FP XCURSOR +! ; |
[THEN] |
[THEN] |
|
|
Line 261 HAS-FLOATING-STACK [IF]
|
Line 260 HAS-FLOATING-STACK [IF]
|
\ (ACTUAL) CONTENTS. |
\ (ACTUAL) CONTENTS. |
DEPTH ACTUAL-DEPTH @ = IF \ IF DEPTHS MATCH |
DEPTH ACTUAL-DEPTH @ = IF \ IF DEPTHS MATCH |
DEPTH START-DEPTH @ > IF \ IF THERE IS SOMETHING ON THE STACK |
DEPTH START-DEPTH @ > IF \ IF THERE IS SOMETHING ON THE STACK |
DEPTH START-DEPTH @ DO \ FOR EACH STACK ITEM |
DEPTH START-DEPTH @ - 0 DO \ FOR EACH STACK ITEM |
ACTUAL-RESULTS I CELLS + @ \ COMPARE ACTUAL WITH EXPECTED |
ACTUAL-RESULTS I CELLS + @ \ COMPARE ACTUAL WITH EXPECTED |
<> IF S" INCORRECT RESULT: " ERROR LEAVE THEN |
<> IF S" INCORRECT RESULT: " ERROR LEAVE THEN |
LOOP |
LOOP |
Line 283 HAS-FLOATING-STACK [IF]
|
Line 282 HAS-FLOATING-STACK [IF]
|
DEPTH 0= ACTUAL-DEPTH @ XCURSOR @ START-DEPTH @ + 1+ < OR IF |
DEPTH 0= ACTUAL-DEPTH @ XCURSOR @ START-DEPTH @ + 1+ < OR IF |
S" NUMBER OF CELL RESULTS AFTER '->' BELOW ...}T SPECIFICATION: " ERROR EXIT |
S" NUMBER OF CELL RESULTS AFTER '->' BELOW ...}T SPECIFICATION: " ERROR EXIT |
ELSE ACTUAL-RESULTS XCURSOR @ CELLS + @ <> IF |
ELSE ACTUAL-RESULTS XCURSOR @ CELLS + @ <> IF |
S" INCORRECT CELL RESULT: " ERROR |
S" INCORRECT CELL RESULT: " ERROR |
THEN THEN |
THEN THEN |
1 XCURSOR +! ; |
1 XCURSOR +! ; |
|
|
: X}T XTESTER ...}T ; |
: X}T XTESTER ...}T ; |