--- gforth/extend.fs 2007/01/25 09:11:08 1.58 +++ gforth/extend.fs 2007/03/08 13:55:49 1.59 @@ -50,8 +50,12 @@ decimal \G In ANS Forth u3 can only be a positive signed number. >r s>d >r abs -rot s>d r> xor r> swap >r >r dabs rot tuck um* 2swap um* - swap >r 0 d+ r> -rot r@ um/mod -rot r> um/mod -rot - r> IF IF 1. d+ THEN dnegate ELSE drop THEN ; + swap >r 0 d+ r> -rot r@ um/mod -rot r> um/mod + [ s" floored" environment? 0= throw ] [if] + -rot r> IF IF 1. d+ THEN dnegate ELSE drop THEN + [else] + nip swap r> IF dnegate THEN + [then] ; \ CASE OF ENDOF ENDCASE 17may93jaw