This commit is contained in:
Remko Tronçon 2022-06-02 22:18:10 +02:00
parent 80a9eea499
commit d396753de4
2 changed files with 172 additions and 150 deletions

View file

@ -64,7 +64,7 @@
;; COMPILE_EXECUTE_INDEX := 5
;; PUSH_INDIRECT_INDEX := 6
;; END_DO_INDEX := 9
(table (export "table") 0xb0 funcref)
(table (export "table") 0xb1 funcref)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -1861,6 +1861,28 @@
(data (i32.const 0x20958) "\44\09\02\00" "\85" (; F_IMMEDIATE ;) "WHILE " "\a7\00\00\00")
(elem (i32.const 0xa7) $WHILE)
;; [6.2.2440](https://forth-standard.org/standard/core/WITHIN)
(func $WITHIN (param $tos i32) (result i32)
(local $bbtos i32)
(local $bbbtos i32)
(local $min i32)
(i32.store (local.tee $bbbtos (i32.sub (local.get $tos) (i32.const 12)))
(if (result i32) (i32.lt_u
(i32.sub
(i32.load (local.get $bbbtos))
(local.tee $min
(i32.load (local.tee $bbtos (i32.sub (local.get $tos) (i32.const 8))))))
(i32.sub
(i32.load (i32.sub (local.get $tos) (i32.const 4)))
(local.get $min)))
(then
(i32.const -1))
(else
(i32.const 0))))
(local.get $bbtos))
(data (i32.const 0x20968) "\58\09\02\00" "\06" "WITHIN " "\a8\00\00\00")
(elem (i32.const 0xa8) $WITHIN)
;; [6.1.2450](https://forth-standard.org/standard/core/WORD)
(func $WORD (param $tos i32) (result i32)
(local $wordBase i32)
@ -1879,8 +1901,8 @@
(local.get $len))
(i32.store8 (local.get $wordBase) (local.get $len))
(call $push (local.get $wordBase)))
(data (i32.const 0x20968) "\58\09\02\00" "\04" "WORD " "\a8\00\00\00")
(elem (i32.const 0xa8) $WORD)
(data (i32.const 0x20978) "\68\09\02\00" "\04" "WORD " "\a9\00\00\00")
(elem (i32.const 0xa9) $WORD)
;; 15.6.1.2465
(func $WORDS (param $tos i32) (result i32)
@ -1901,8 +1923,8 @@
(local.set $entryP (i32.load (local.get $entryP)))
(br_if $loop (local.get $entryP)))
(local.get $tos))
(data (i32.const 0x20978) "\68\09\02\00" "\05" "WORDS " "\a9\00\00\00")
(elem (i32.const 0xa9) $WORDS)
(data (i32.const 0x20988) "\78\09\02\00" "\05" "WORDS " "\aa\00\00\00")
(elem (i32.const 0xaa) $WORDS)
;; [6.1.2490](https://forth-standard.org/standard/core/XOR)
(func $XOR (param $tos i32) (result i32)
@ -1912,16 +1934,16 @@
(i32.xor (i32.load (local.tee $btos (i32.sub (local.get $tos) (i32.const 4))))
(i32.load (local.get $bbtos))))
(local.get $btos))
(data (i32.const 0x20988) "\78\09\02\00" "\03" "XOR" "\aa\00\00\00")
(elem (i32.const 0xaa) $XOR)
(data (i32.const 0x20998) "\88\09\02\00" "\03" "XOR" "\ab\00\00\00")
(elem (i32.const 0xab) $XOR)
;; [6.1.2500](https://forth-standard.org/standard/core/Bracket)
(func $left-bracket (param $tos i32) (result i32)
(local.get $tos)
(call $ensureCompiling)
(i32.store (i32.const 0x20870 (; = body(STATE) ;)) (i32.const 0)))
(data (i32.const 0x20994) "\88\09\02\00" "\81" (; F_IMMEDIATE ;) "[ " "\ab\00\00\00")
(elem (i32.const 0xab) $left-bracket)
(data (i32.const 0x209a4) "\98\09\02\00" "\81" (; F_IMMEDIATE ;) "[ " "\ac\00\00\00")
(elem (i32.const 0xac) $left-bracket)
;; [6.1.2510](https://forth-standard.org/standard/core/BracketTick)
(func $bracket-tick (param $tos i32) (result i32)
@ -1929,8 +1951,8 @@
(call $ensureCompiling)
(call $')
(call $compilePushConst (call $pop)))
(data (i32.const 0x209a0) "\94\09\02\00" "\83" (; F_IMMEDIATE ;) "[']" "\ac\00\00\00")
(elem (i32.const 0xac) $bracket-tick)
(data (i32.const 0x209b0) "\a4\09\02\00" "\83" (; F_IMMEDIATE ;) "[']" "\ad\00\00\00")
(elem (i32.const 0xad) $bracket-tick)
;; [6.1.2520](https://forth-standard.org/standard/core/BracketCHAR)
(func $bracket-char (param $tos i32) (result i32)
@ -1938,22 +1960,22 @@
(call $ensureCompiling)
(call $CHAR)
(call $compilePushConst (call $pop)))
(data (i32.const 0x209ac) "\a0\09\02\00" "\86" (; F_IMMEDIATE ;) "[CHAR] " "\ad\00\00\00")
(elem (i32.const 0xad) $bracket-char)
(data (i32.const 0x209bc) "\b0\09\02\00" "\86" (; F_IMMEDIATE ;) "[CHAR] " "\ae\00\00\00")
(elem (i32.const 0xae) $bracket-char)
;; [6.2.2535](https://forth-standard.org/standard/core/bs)
(func $\ (param $tos i32) (result i32)
(drop (drop (call $parse (i32.const 0x0a (; '\n' ;)))))
(local.get $tos))
(data (i32.const 0x209bc) "\ac\09\02\00" "\81" (; F_IMMEDIATE ;) "\5c " "\ae\00\00\00")
(elem (i32.const 0xae) $\)
(data (i32.const 0x209cc) "\bc\09\02\00" "\81" (; F_IMMEDIATE ;) "\5c " "\af\00\00\00")
(elem (i32.const 0xaf) $\)
;; [6.1.2540](https://forth-standard.org/standard/right-bracket)
(func $right-bracket (param $tos i32) (result i32)
(i32.store (i32.const 0x20870 (; = body(STATE) ;)) (i32.const 1))
(local.get $tos))
(data (i32.const 0x209c8) "\bc\09\02\00" "\01" "] " "\af\00\00\00")
(elem (i32.const 0xaf) $right-bracket)
(data (i32.const 0x209d8) "\cc\09\02\00" "\01" "] " "\b0\00\00\00")
(elem (i32.const 0xb0) $right-bracket)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -2067,9 +2089,9 @@
(global $sourceID (mut i32) (i32.const 0))
;; Dictionary pointers
(global $latest (mut i32) (i32.const 0x209c8))
(global $here (mut i32) (i32.const 0x209d4))
(global $nextTableIndex (mut i32) (i32.const 0xb0))
(global $latest (mut i32) (i32.const 0x209d8))
(global $here (mut i32) (i32.const 0x209e4))
(global $nextTableIndex (mut i32) (i32.const 0xb1))
;; Pictured output pointer
(global $po (mut i32) (i32.const -1))

View file

@ -171,138 +171,138 @@ TESTING HEX (contributed by James Bowman)
T{ BASE @ HEX BASE @ DECIMAL BASE @ - SWAP BASE ! -> 6 }T
\ \ -----------------------------------------------------------------------------
\ TESTING WITHIN (contributed by James Bowman)
\ -----------------------------------------------------------------------------
TESTING WITHIN (contributed by James Bowman)
\ T{ 0 0 0 WITHIN -> FALSE }T
\ T{ 0 0 MID-UINT WITHIN -> TRUE }T
\ T{ 0 0 MID-UINT+1 WITHIN -> TRUE }T
\ T{ 0 0 MAX-UINT WITHIN -> TRUE }T
\ T{ 0 MID-UINT 0 WITHIN -> FALSE }T
\ T{ 0 MID-UINT MID-UINT WITHIN -> FALSE }T
\ T{ 0 MID-UINT MID-UINT+1 WITHIN -> FALSE }T
\ T{ 0 MID-UINT MAX-UINT WITHIN -> FALSE }T
\ T{ 0 MID-UINT+1 0 WITHIN -> FALSE }T
\ T{ 0 MID-UINT+1 MID-UINT WITHIN -> TRUE }T
\ T{ 0 MID-UINT+1 MID-UINT+1 WITHIN -> FALSE }T
\ T{ 0 MID-UINT+1 MAX-UINT WITHIN -> FALSE }T
\ T{ 0 MAX-UINT 0 WITHIN -> FALSE }T
\ T{ 0 MAX-UINT MID-UINT WITHIN -> TRUE }T
\ T{ 0 MAX-UINT MID-UINT+1 WITHIN -> TRUE }T
\ T{ 0 MAX-UINT MAX-UINT WITHIN -> FALSE }T
\ T{ MID-UINT 0 0 WITHIN -> FALSE }T
\ T{ MID-UINT 0 MID-UINT WITHIN -> FALSE }T
\ T{ MID-UINT 0 MID-UINT+1 WITHIN -> TRUE }T
\ T{ MID-UINT 0 MAX-UINT WITHIN -> TRUE }T
\ T{ MID-UINT MID-UINT 0 WITHIN -> TRUE }T
\ T{ MID-UINT MID-UINT MID-UINT WITHIN -> FALSE }T
\ T{ MID-UINT MID-UINT MID-UINT+1 WITHIN -> TRUE }T
\ T{ MID-UINT MID-UINT MAX-UINT WITHIN -> TRUE }T
\ T{ MID-UINT MID-UINT+1 0 WITHIN -> FALSE }T
\ T{ MID-UINT MID-UINT+1 MID-UINT WITHIN -> FALSE }T
\ T{ MID-UINT MID-UINT+1 MID-UINT+1 WITHIN -> FALSE }T
\ T{ MID-UINT MID-UINT+1 MAX-UINT WITHIN -> FALSE }T
\ T{ MID-UINT MAX-UINT 0 WITHIN -> FALSE }T
\ T{ MID-UINT MAX-UINT MID-UINT WITHIN -> FALSE }T
\ T{ MID-UINT MAX-UINT MID-UINT+1 WITHIN -> TRUE }T
\ T{ MID-UINT MAX-UINT MAX-UINT WITHIN -> FALSE }T
\ T{ MID-UINT+1 0 0 WITHIN -> FALSE }T
\ T{ MID-UINT+1 0 MID-UINT WITHIN -> FALSE }T
\ T{ MID-UINT+1 0 MID-UINT+1 WITHIN -> FALSE }T
\ T{ MID-UINT+1 0 MAX-UINT WITHIN -> TRUE }T
\ T{ MID-UINT+1 MID-UINT 0 WITHIN -> TRUE }T
\ T{ MID-UINT+1 MID-UINT MID-UINT WITHIN -> FALSE }T
\ T{ MID-UINT+1 MID-UINT MID-UINT+1 WITHIN -> FALSE }T
\ T{ MID-UINT+1 MID-UINT MAX-UINT WITHIN -> TRUE }T
\ T{ MID-UINT+1 MID-UINT+1 0 WITHIN -> TRUE }T
\ T{ MID-UINT+1 MID-UINT+1 MID-UINT WITHIN -> TRUE }T
\ T{ MID-UINT+1 MID-UINT+1 MID-UINT+1 WITHIN -> FALSE }T
\ T{ MID-UINT+1 MID-UINT+1 MAX-UINT WITHIN -> TRUE }T
\ T{ MID-UINT+1 MAX-UINT 0 WITHIN -> FALSE }T
\ T{ MID-UINT+1 MAX-UINT MID-UINT WITHIN -> FALSE }T
\ T{ MID-UINT+1 MAX-UINT MID-UINT+1 WITHIN -> FALSE }T
\ T{ MID-UINT+1 MAX-UINT MAX-UINT WITHIN -> FALSE }T
\ T{ MAX-UINT 0 0 WITHIN -> FALSE }T
\ T{ MAX-UINT 0 MID-UINT WITHIN -> FALSE }T
\ T{ MAX-UINT 0 MID-UINT+1 WITHIN -> FALSE }T
\ T{ MAX-UINT 0 MAX-UINT WITHIN -> FALSE }T
\ T{ MAX-UINT MID-UINT 0 WITHIN -> TRUE }T
\ T{ MAX-UINT MID-UINT MID-UINT WITHIN -> FALSE }T
\ T{ MAX-UINT MID-UINT MID-UINT+1 WITHIN -> FALSE }T
\ T{ MAX-UINT MID-UINT MAX-UINT WITHIN -> FALSE }T
\ T{ MAX-UINT MID-UINT+1 0 WITHIN -> TRUE }T
\ T{ MAX-UINT MID-UINT+1 MID-UINT WITHIN -> TRUE }T
\ T{ MAX-UINT MID-UINT+1 MID-UINT+1 WITHIN -> FALSE }T
\ T{ MAX-UINT MID-UINT+1 MAX-UINT WITHIN -> FALSE }T
\ T{ MAX-UINT MAX-UINT 0 WITHIN -> TRUE }T
\ T{ MAX-UINT MAX-UINT MID-UINT WITHIN -> TRUE }T
\ T{ MAX-UINT MAX-UINT MID-UINT+1 WITHIN -> TRUE }T
\ T{ MAX-UINT MAX-UINT MAX-UINT WITHIN -> FALSE }T
T{ 0 0 0 WITHIN -> FALSE }T
T{ 0 0 MID-UINT WITHIN -> TRUE }T
T{ 0 0 MID-UINT+1 WITHIN -> TRUE }T
T{ 0 0 MAX-UINT WITHIN -> TRUE }T
T{ 0 MID-UINT 0 WITHIN -> FALSE }T
T{ 0 MID-UINT MID-UINT WITHIN -> FALSE }T
T{ 0 MID-UINT MID-UINT+1 WITHIN -> FALSE }T
T{ 0 MID-UINT MAX-UINT WITHIN -> FALSE }T
T{ 0 MID-UINT+1 0 WITHIN -> FALSE }T
T{ 0 MID-UINT+1 MID-UINT WITHIN -> TRUE }T
T{ 0 MID-UINT+1 MID-UINT+1 WITHIN -> FALSE }T
T{ 0 MID-UINT+1 MAX-UINT WITHIN -> FALSE }T
T{ 0 MAX-UINT 0 WITHIN -> FALSE }T
T{ 0 MAX-UINT MID-UINT WITHIN -> TRUE }T
T{ 0 MAX-UINT MID-UINT+1 WITHIN -> TRUE }T
T{ 0 MAX-UINT MAX-UINT WITHIN -> FALSE }T
T{ MID-UINT 0 0 WITHIN -> FALSE }T
T{ MID-UINT 0 MID-UINT WITHIN -> FALSE }T
T{ MID-UINT 0 MID-UINT+1 WITHIN -> TRUE }T
T{ MID-UINT 0 MAX-UINT WITHIN -> TRUE }T
T{ MID-UINT MID-UINT 0 WITHIN -> TRUE }T
T{ MID-UINT MID-UINT MID-UINT WITHIN -> FALSE }T
T{ MID-UINT MID-UINT MID-UINT+1 WITHIN -> TRUE }T
T{ MID-UINT MID-UINT MAX-UINT WITHIN -> TRUE }T
T{ MID-UINT MID-UINT+1 0 WITHIN -> FALSE }T
T{ MID-UINT MID-UINT+1 MID-UINT WITHIN -> FALSE }T
T{ MID-UINT MID-UINT+1 MID-UINT+1 WITHIN -> FALSE }T
T{ MID-UINT MID-UINT+1 MAX-UINT WITHIN -> FALSE }T
T{ MID-UINT MAX-UINT 0 WITHIN -> FALSE }T
T{ MID-UINT MAX-UINT MID-UINT WITHIN -> FALSE }T
T{ MID-UINT MAX-UINT MID-UINT+1 WITHIN -> TRUE }T
T{ MID-UINT MAX-UINT MAX-UINT WITHIN -> FALSE }T
T{ MID-UINT+1 0 0 WITHIN -> FALSE }T
T{ MID-UINT+1 0 MID-UINT WITHIN -> FALSE }T
T{ MID-UINT+1 0 MID-UINT+1 WITHIN -> FALSE }T
T{ MID-UINT+1 0 MAX-UINT WITHIN -> TRUE }T
T{ MID-UINT+1 MID-UINT 0 WITHIN -> TRUE }T
T{ MID-UINT+1 MID-UINT MID-UINT WITHIN -> FALSE }T
T{ MID-UINT+1 MID-UINT MID-UINT+1 WITHIN -> FALSE }T
T{ MID-UINT+1 MID-UINT MAX-UINT WITHIN -> TRUE }T
T{ MID-UINT+1 MID-UINT+1 0 WITHIN -> TRUE }T
T{ MID-UINT+1 MID-UINT+1 MID-UINT WITHIN -> TRUE }T
T{ MID-UINT+1 MID-UINT+1 MID-UINT+1 WITHIN -> FALSE }T
T{ MID-UINT+1 MID-UINT+1 MAX-UINT WITHIN -> TRUE }T
T{ MID-UINT+1 MAX-UINT 0 WITHIN -> FALSE }T
T{ MID-UINT+1 MAX-UINT MID-UINT WITHIN -> FALSE }T
T{ MID-UINT+1 MAX-UINT MID-UINT+1 WITHIN -> FALSE }T
T{ MID-UINT+1 MAX-UINT MAX-UINT WITHIN -> FALSE }T
T{ MAX-UINT 0 0 WITHIN -> FALSE }T
T{ MAX-UINT 0 MID-UINT WITHIN -> FALSE }T
T{ MAX-UINT 0 MID-UINT+1 WITHIN -> FALSE }T
T{ MAX-UINT 0 MAX-UINT WITHIN -> FALSE }T
T{ MAX-UINT MID-UINT 0 WITHIN -> TRUE }T
T{ MAX-UINT MID-UINT MID-UINT WITHIN -> FALSE }T
T{ MAX-UINT MID-UINT MID-UINT+1 WITHIN -> FALSE }T
T{ MAX-UINT MID-UINT MAX-UINT WITHIN -> FALSE }T
T{ MAX-UINT MID-UINT+1 0 WITHIN -> TRUE }T
T{ MAX-UINT MID-UINT+1 MID-UINT WITHIN -> TRUE }T
T{ MAX-UINT MID-UINT+1 MID-UINT+1 WITHIN -> FALSE }T
T{ MAX-UINT MID-UINT+1 MAX-UINT WITHIN -> FALSE }T
T{ MAX-UINT MAX-UINT 0 WITHIN -> TRUE }T
T{ MAX-UINT MAX-UINT MID-UINT WITHIN -> TRUE }T
T{ MAX-UINT MAX-UINT MID-UINT+1 WITHIN -> TRUE }T
T{ MAX-UINT MAX-UINT MAX-UINT WITHIN -> FALSE }T
\ T{ MIN-INT MIN-INT MIN-INT WITHIN -> FALSE }T
\ T{ MIN-INT MIN-INT 0 WITHIN -> TRUE }T
\ T{ MIN-INT MIN-INT 1 WITHIN -> TRUE }T
\ T{ MIN-INT MIN-INT MAX-INT WITHIN -> TRUE }T
\ T{ MIN-INT 0 MIN-INT WITHIN -> FALSE }T
\ T{ MIN-INT 0 0 WITHIN -> FALSE }T
\ T{ MIN-INT 0 1 WITHIN -> FALSE }T
\ T{ MIN-INT 0 MAX-INT WITHIN -> FALSE }T
\ T{ MIN-INT 1 MIN-INT WITHIN -> FALSE }T
\ T{ MIN-INT 1 0 WITHIN -> TRUE }T
\ T{ MIN-INT 1 1 WITHIN -> FALSE }T
\ T{ MIN-INT 1 MAX-INT WITHIN -> FALSE }T
\ T{ MIN-INT MAX-INT MIN-INT WITHIN -> FALSE }T
\ T{ MIN-INT MAX-INT 0 WITHIN -> TRUE }T
\ T{ MIN-INT MAX-INT 1 WITHIN -> TRUE }T
\ T{ MIN-INT MAX-INT MAX-INT WITHIN -> FALSE }T
\ T{ 0 MIN-INT MIN-INT WITHIN -> FALSE }T
\ T{ 0 MIN-INT 0 WITHIN -> FALSE }T
\ T{ 0 MIN-INT 1 WITHIN -> TRUE }T
\ T{ 0 MIN-INT MAX-INT WITHIN -> TRUE }T
\ T{ 0 0 MIN-INT WITHIN -> TRUE }T
\ T{ 0 0 0 WITHIN -> FALSE }T
\ T{ 0 0 1 WITHIN -> TRUE }T
\ T{ 0 0 MAX-INT WITHIN -> TRUE }T
\ T{ 0 1 MIN-INT WITHIN -> FALSE }T
\ T{ 0 1 0 WITHIN -> FALSE }T
\ T{ 0 1 1 WITHIN -> FALSE }T
\ T{ 0 1 MAX-INT WITHIN -> FALSE }T
\ T{ 0 MAX-INT MIN-INT WITHIN -> FALSE }T
\ T{ 0 MAX-INT 0 WITHIN -> FALSE }T
\ T{ 0 MAX-INT 1 WITHIN -> TRUE }T
\ T{ 0 MAX-INT MAX-INT WITHIN -> FALSE }T
\ T{ 1 MIN-INT MIN-INT WITHIN -> FALSE }T
\ T{ 1 MIN-INT 0 WITHIN -> FALSE }T
\ T{ 1 MIN-INT 1 WITHIN -> FALSE }T
\ T{ 1 MIN-INT MAX-INT WITHIN -> TRUE }T
\ T{ 1 0 MIN-INT WITHIN -> TRUE }T
\ T{ 1 0 0 WITHIN -> FALSE }T
\ T{ 1 0 1 WITHIN -> FALSE }T
\ T{ 1 0 MAX-INT WITHIN -> TRUE }T
\ T{ 1 1 MIN-INT WITHIN -> TRUE }T
\ T{ 1 1 0 WITHIN -> TRUE }T
\ T{ 1 1 1 WITHIN -> FALSE }T
\ T{ 1 1 MAX-INT WITHIN -> TRUE }T
\ T{ 1 MAX-INT MIN-INT WITHIN -> FALSE }T
\ T{ 1 MAX-INT 0 WITHIN -> FALSE }T
\ T{ 1 MAX-INT 1 WITHIN -> FALSE }T
\ T{ 1 MAX-INT MAX-INT WITHIN -> FALSE }T
\ T{ MAX-INT MIN-INT MIN-INT WITHIN -> FALSE }T
\ T{ MAX-INT MIN-INT 0 WITHIN -> FALSE }T
\ T{ MAX-INT MIN-INT 1 WITHIN -> FALSE }T
\ T{ MAX-INT MIN-INT MAX-INT WITHIN -> FALSE }T
\ T{ MAX-INT 0 MIN-INT WITHIN -> TRUE }T
\ T{ MAX-INT 0 0 WITHIN -> FALSE }T
\ T{ MAX-INT 0 1 WITHIN -> FALSE }T
\ T{ MAX-INT 0 MAX-INT WITHIN -> FALSE }T
\ T{ MAX-INT 1 MIN-INT WITHIN -> TRUE }T
\ T{ MAX-INT 1 0 WITHIN -> TRUE }T
\ T{ MAX-INT 1 1 WITHIN -> FALSE }T
\ T{ MAX-INT 1 MAX-INT WITHIN -> FALSE }T
\ T{ MAX-INT MAX-INT MIN-INT WITHIN -> TRUE }T
\ T{ MAX-INT MAX-INT 0 WITHIN -> TRUE }T
\ T{ MAX-INT MAX-INT 1 WITHIN -> TRUE }T
\ T{ MAX-INT MAX-INT MAX-INT WITHIN -> FALSE }T
T{ MIN-INT MIN-INT MIN-INT WITHIN -> FALSE }T
T{ MIN-INT MIN-INT 0 WITHIN -> TRUE }T
T{ MIN-INT MIN-INT 1 WITHIN -> TRUE }T
T{ MIN-INT MIN-INT MAX-INT WITHIN -> TRUE }T
T{ MIN-INT 0 MIN-INT WITHIN -> FALSE }T
T{ MIN-INT 0 0 WITHIN -> FALSE }T
T{ MIN-INT 0 1 WITHIN -> FALSE }T
T{ MIN-INT 0 MAX-INT WITHIN -> FALSE }T
T{ MIN-INT 1 MIN-INT WITHIN -> FALSE }T
T{ MIN-INT 1 0 WITHIN -> TRUE }T
T{ MIN-INT 1 1 WITHIN -> FALSE }T
T{ MIN-INT 1 MAX-INT WITHIN -> FALSE }T
T{ MIN-INT MAX-INT MIN-INT WITHIN -> FALSE }T
T{ MIN-INT MAX-INT 0 WITHIN -> TRUE }T
T{ MIN-INT MAX-INT 1 WITHIN -> TRUE }T
T{ MIN-INT MAX-INT MAX-INT WITHIN -> FALSE }T
T{ 0 MIN-INT MIN-INT WITHIN -> FALSE }T
T{ 0 MIN-INT 0 WITHIN -> FALSE }T
T{ 0 MIN-INT 1 WITHIN -> TRUE }T
T{ 0 MIN-INT MAX-INT WITHIN -> TRUE }T
T{ 0 0 MIN-INT WITHIN -> TRUE }T
T{ 0 0 0 WITHIN -> FALSE }T
T{ 0 0 1 WITHIN -> TRUE }T
T{ 0 0 MAX-INT WITHIN -> TRUE }T
T{ 0 1 MIN-INT WITHIN -> FALSE }T
T{ 0 1 0 WITHIN -> FALSE }T
T{ 0 1 1 WITHIN -> FALSE }T
T{ 0 1 MAX-INT WITHIN -> FALSE }T
T{ 0 MAX-INT MIN-INT WITHIN -> FALSE }T
T{ 0 MAX-INT 0 WITHIN -> FALSE }T
T{ 0 MAX-INT 1 WITHIN -> TRUE }T
T{ 0 MAX-INT MAX-INT WITHIN -> FALSE }T
T{ 1 MIN-INT MIN-INT WITHIN -> FALSE }T
T{ 1 MIN-INT 0 WITHIN -> FALSE }T
T{ 1 MIN-INT 1 WITHIN -> FALSE }T
T{ 1 MIN-INT MAX-INT WITHIN -> TRUE }T
T{ 1 0 MIN-INT WITHIN -> TRUE }T
T{ 1 0 0 WITHIN -> FALSE }T
T{ 1 0 1 WITHIN -> FALSE }T
T{ 1 0 MAX-INT WITHIN -> TRUE }T
T{ 1 1 MIN-INT WITHIN -> TRUE }T
T{ 1 1 0 WITHIN -> TRUE }T
T{ 1 1 1 WITHIN -> FALSE }T
T{ 1 1 MAX-INT WITHIN -> TRUE }T
T{ 1 MAX-INT MIN-INT WITHIN -> FALSE }T
T{ 1 MAX-INT 0 WITHIN -> FALSE }T
T{ 1 MAX-INT 1 WITHIN -> FALSE }T
T{ 1 MAX-INT MAX-INT WITHIN -> FALSE }T
T{ MAX-INT MIN-INT MIN-INT WITHIN -> FALSE }T
T{ MAX-INT MIN-INT 0 WITHIN -> FALSE }T
T{ MAX-INT MIN-INT 1 WITHIN -> FALSE }T
T{ MAX-INT MIN-INT MAX-INT WITHIN -> FALSE }T
T{ MAX-INT 0 MIN-INT WITHIN -> TRUE }T
T{ MAX-INT 0 0 WITHIN -> FALSE }T
T{ MAX-INT 0 1 WITHIN -> FALSE }T
T{ MAX-INT 0 MAX-INT WITHIN -> FALSE }T
T{ MAX-INT 1 MIN-INT WITHIN -> TRUE }T
T{ MAX-INT 1 0 WITHIN -> TRUE }T
T{ MAX-INT 1 1 WITHIN -> FALSE }T
T{ MAX-INT 1 MAX-INT WITHIN -> FALSE }T
T{ MAX-INT MAX-INT MIN-INT WITHIN -> TRUE }T
T{ MAX-INT MAX-INT 0 WITHIN -> TRUE }T
T{ MAX-INT MAX-INT 1 WITHIN -> TRUE }T
T{ MAX-INT MAX-INT MAX-INT WITHIN -> FALSE }T
\ \ -----------------------------------------------------------------------------
\ TESTING UNUSED (contributed by James Bowman & Peter Knaggs)