home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / forth / compiler / fpc / source / interval.seq < prev    next >
Text File  |  1988-11-03  |  1KB  |  27 lines

  1.  
  2. \ Interval testing words. Naming convention motivated by the
  3. \ mathematical intervals (a,b) [a,b] (a,b] and [a,b).
  4. \ Would better names be  (A,B) [A,B] ... ?
  5. \ Application Note:  In VP-Planner these four words were
  6. \ implemented in machine code and saved approximately 500 bytes,
  7. \ resulted in increased execution speed and better readability
  8. \ than when actual tests were coded inline in highlevel Forth.
  9.  
  10. \ (IN)  leaves a true flag if   a < x < b
  11. : (IN)  ( x a b --  flag )  ( JWB 28 09 88 )
  12. \        2DUP < NOT ABORT" Invalid interval."
  13.          -ROT OVER < -ROT > AND ;
  14.  
  15. \ [IN]  leaves a true flag if a <= x <= b  , otherwise false.
  16. : [IN]  ( x a b --  flag ) ( JWB 02 10 85 )
  17.         1+ SWAP 1- SWAP (IN) ;
  18.  
  19. \ (IN]  leaves a true flag if a <  x <= b  , otherwise false.
  20. : (IN]  ( x a b --  flag ) ( JWB 02 10 85 )
  21.         1+ (IN) ;
  22.  
  23. \ [IN)  leaves a true flag if a <= x <  b  , otherwise false.
  24. : [IN)  ( x a b --  flag ) ( JWB 02 10 85 )
  25.         SWAP 1- SWAP (IN) ;
  26.  
  27.