(FILECREATED "13-May-86 17:40:34" ("compiled on " {ERIS}LIBRARY>CMLARITHNEW.;4) "12-May-86 17:46:14" recompiled changes: ISQRT PRIMEP SIGNUM %%SIGNUM PHASE EQL %%RATIO-DEFPRINT %%MAKE-RATIO NUMERATOR DENOMINATOR %%COMPARE-RATIO %%COMPARE-RATIO-INTEGER %%FIXNUM/ %%BUILD-RATIO %%RATIO-TRUNC RATIONALP RATIONAL RATIONALIZE %%RATIONALIZE-FLOAT %%RATIO* %%RATIO/ %%RATIO-TIMES-QUOTIENT %%RATIO-INVERSE %%RATIO-MINUS %%RATIO+ %%RATIO- %%RATIO-PLUS-DIFFERENCE %%INTEGER/ %%RATIO-INTEGER* %%RATIO-INTEGER/ %%RATIO-INTEGER+ %%RATIO-INTEGER- %%COMPLEX-DEFPRINT COMPLEXP COMPLEX %%MAKE-COMPLEX REALPART IMAGPART %%COMPLEX+ %%COMPLEX- %%COMPLEX* %%COMPLEX/ %%COMPARE-COMPLEX-COMPLEX %%COMPLEX-ABS %%COMPLEX-MINUS %%COMPLEX-TIMESI CONJUGATE PLUSP = %%= /= < > <= >= + - CL:* / %%/ 1+ 1- CL:GCD %%GCD LCM FLOAT \FLOAT CL:FLOOR TRUNCATE CEILING ROUND CL:MOD REM FFLOOR FCEILING FTRUNCATE FROUND DECODE-FLOAT SCALE-FLOAT FLOAT-RADIX FLOAT-SIGN FLOAT-DIGITS FLOAT-PRECISION INTEGER-DECODE-FLOAT NEW-GREATERP NEW-LESSP NEW-MINUSP NEW-EQP NEW-ABS NEW-MINUS %%+ %%- %%* %%/ NEW-SLOWIPLUS2 NEW-SLOWIDIFFERENCE NEW-SLOWITIMES2 NEW-SLOWIQUOTIENT NEW-IREMAINDER NEW-SLOWIGREATERP LOGEQV LOGNAND LOGNOR LOGANDC1 LOGANDC2 LOGORC1 LOGORC2 BOOLE LOGTEST LOGBITP LOGCOUNT %%LOGCOUNT BYTE-SIZE BYTE-POSITION LDB-TEST MASK-FIELD DEPOSIT-FIELD in "Xerox Lisp 12-May-86 ..." dated "12-May-86 18:12:51") (FILECREATED "13-May-86 17:31:41" {ERIS}LIBRARY>CMLARITHNEW.;4 122139 changes to: (VARS CMLARITHNEWCOMS) (RECORDS RATIO COMPLEX) (MACROS %%NUMERATOR %%DENOMINATOR %%REALPART %%IMAGPART - / 1+ 1-) (FNS ISQRT PRIMEP SIGNUM %%SIGNUM PHASE EQL %%RATIO-DEFPRINT %%MAKE-RATIO NUMERATOR DENOMINATOR %%COMPARE-RATIO %%COMPARE-RATIO-INTEGER %%FIXNUM/ %%BUILD-RATIO %%RATIO-TRUNC RATIONALP RATIONAL RATIONALIZE %%RATIONALIZE-FLOAT %%RATIO* %%RATIO/ %%RATIO-TIMES-QUOTIENT %%RATIO-INVERSE %%RATIO-MINUS %%RATIO+ %%RATIO- %%RATIO-PLUS-DIFFERENCE %%INTEGER/ %%RATIO-INTEGER* %%RATIO-INTEGER/ %%RATIO-INTEGER+ %%RATIO-INTEGER- %%COMPLEX-DEFPRINT COMPLEXP COMPLEX %%MAKE-COMPLEX REALPART IMAGPART %%COMPLEX+ %%COMPLEX- %%COMPLEX* %%COMPLEX/ %%COMPARE-COMPLEX-COMPLEX %%COMPLEX-ABS %%COMPLEX-MINUS %%COMPLEX-TIMESI CONJUGATE PLUSP = %%= /= < > <= >= + - CL:* / %%/ 1+ 1- CL:GCD %%GCD LCM CL:FLOOR TRUNCATE CEILING ROUND CL:MOD REM FFLOOR FCEILING FTRUNCATE FROUND FLOAT \FLOAT DECODE-FLOAT SCALE-FLOAT FLOAT-RADIX FLOAT-SIGN FLOAT-DIGITS FLOAT-PRECISION INTEGER-DECODE-FLOAT NEW-GREATERP NEW-LESSP NEW-MINUSP NEW-EQP NEW-ABS NEW-MINUS %%+ %%- %%* NEW-SLOWIPLUS2 NEW-SLOWIDIFFERENCE NEW-SLOWITIMES2 NEW-SLOWIQUOTIENT NEW-IREMAINDER NEW-SLOWIGREATERP LOGCOUNT %%LOGCOUNT LOGEQV LOGNAND LOGNOR LOGANDC1 LOGANDC2 LOGORC1 LOGORC2 BOOLE LOGTEST LOGBITP BYTE-SIZE BYTE-POSITION LDB-TEST MASK-FIELD DEPOSIT-FIELD) previous date: "12-May-86 12:47:12" {ERIS}LIBRARY>CMLARITHNEW.;3) ISQRT D1 (P 3 HI P 2 LO P 0 LG I 0 N) \@3 Oj@J@ kHkm JdHkjmj KkJJJKm Ydd@I[o@ (131Q CL:ERROR 102Q ASH 56Q ASH 34Q ASH 31Q ASH 15Q INTEGER-LENGTH) NIL ( 125Q "Isqrt: ~S argument must be a nonnegative integer") PRIMEP D1 (P 3 D P 2 INC P 1 R P 0 Q I 0 X) f@dll@h @l hkjhj@l hlkllIj KHIj h@K \LJlKJԻ(122Q \MVLIST 117Q TRUNCATE 107Q %%= 75Q %%= 52Q %%= 47Q REM 25Q %%=) NIL () SIGNUM D1 (I 0 NUMBER) (@djd @@ @ km@d (45Q %%/ 42Q ABS 27Q PLUSP 22Q RATIONALP 13Q \FZEROP) NIL () %%SIGNUM D1 (P 0 RES I 0 X) ,@ k@j@m@H@ jH(43Q \FZEROP 3 PLUSP) (37Q FLOATP) () PHASE D1 (I 0 NUMBER) @ @ @ j(17Q CL:ATAN 14Q IMAGPART 10Q REALPART 3 COMPLEXP) NIL () EQL D1 (I 1 Y I 0 X) ~@Ay@3tA3o@d3 A3 @Aj@A@A @d`%A`@ A j2@ A j@`A`@ A : @ A :(172Q IMAGPART 166Q IMAGPART 157Q REALPART 153Q REALPART 123Q DENOMINATOR 117Q DENOMINATOR 106Q NUMERATOR 102Q NUMERATOR 53Q FEQP) (144Q COMPLEXTYPE# 134Q COMPLEXTYPE# 73Q RATIOTYPE# 62Q RATIOTYPE#) () %%RATIO-DEFPRINT D1 (I 0 N) @o @(14Q CONCAT) (20Q RATIO 3 RATIO) ( 11Q "/") %%MAKE-RATIO D1 (I 1 DENOMINATOR I 0 NUMERATOR) `d@dANIL (2 RATIOTYPE#) () NUMERATOR D1 (P 0 $$TYPE-VALUE I 0 X) @Hd3 @`@@l (35Q \LISPERROR) (24Q RATIO 16Q RATIOTYPE#) () DENOMINATOR D1 (P 0 $$TYPE-VALUE I 0 X) @Hd3 k`@@l (35Q \LISPERROR) (24Q RATIO 16Q RATIOTYPE#) () %%COMPARE-RATIO D1 (P 5 YSIGN P 4 XSIGN P 3 DENY P 2 NUMY P 1 DENX P 0 NUMX I 1 Y I 0 X) @ @ A A !jHjJLMLWgHjHd Jj+J!HJ IK HJ IKLg gLgIK HJgHKJI (214Q COMPARE-NUMBERS 171Q %%= 147Q \FZEROP 127Q %%= 120Q %%= 112Q %%= 72Q \FZEROP 30Q DENOMINATOR 21Q NUMERATOR 12Q DENOMINATOR 3 NUMERATOR) (202Q > 163Q < 154Q = 143Q > 55Q <) () %%COMPARE-RATIO-INTEGER D1 (P 6 A0038 P 5 XI P 4 XR P 3 XSIGN P 2 DENX P 0 NUMX I 1 Y I 0 X) v@ @ jH[jAKPgkJ HA HJ  II]A NdggNgLjL jLg g(156Q \FZEROP 100Q COMPARE-NUMBERS 61Q \MVLIST 56Q TRUNCATE 50Q COMPARE-NUMBERS 42Q %%= 12Q DENOMINATOR 3 NUMERATOR) (163Q = 152Q < 125Q = 116Q < 110Q > 34Q >) () %%FIXNUM/ D1 (P 0 GCD-X-Y I 1 Y I 0 X) HmA @o o@A Hk @H bAH bjAj@jA @A (105Q %%MAKE-RATIO 77Q %%MAKE-RATIO 57Q %%/ 47Q %%/ 41Q %%= 31Q %%GCD 16Q %%= 5 %%=) NIL ( 23Q 200000Q 13Q -200000Q) %%BUILD-RATIO D1 (P 3 CL:GCD P 2 Q P 1 R I 1 Y I 0 X) W@A !HHIj9I/@A Kk @K bAK bjAj@jA  J@A (124Q %%MAKE-RATIO 113Q \FZEROP 107Q %%MAKE-RATIO 66Q %%/ 56Q %%/ 50Q %%= 40Q %%GCD 7 \MVLIST 4 TRUNCATE) NIL () %%RATIO-TRUNC D1 (P 2 Q P 1 R I 0 X) :@@ !HHZIjId jI@ (67Q VALUES 64Q %%BUILD-RATIO 47Q \FZEROP 21Q \MVLIST 16Q TRUNCATE) (57Q RATIO 11Q RATIO 3 RATIO) () RATIONALP D1 (L (0 NUMBER)) @d3 i`NIL (12Q RATIOTYPE#) () RATIONAL D1 (P 5 F P 4 PRECISION P 3 F P 2 E P 0 $$TYPE-VALUE I 0 X) @Hd3 @lI@ IIK KL jJMkLJ MJ kL Hd``@ @ @l (177Q \LISPERROR 170Q %%MAKE-COMPLEX 165Q RATIONAL 162Q IMAGPART 156Q RATIONAL 153Q REALPART 126Q %%BUILD-RATIO 123Q ASH 116Q ASH 110Q %%BUILD-RATIO 105Q ASH 101Q ABS 63Q TRUNCATE 60Q SCALE-FLOAT 50Q FLOAT-PRECISION 27Q \MVLIST 24Q DECODE-FLOAT) (144Q COMPLEXTYPE# 135Q RATIOTYPE#) () RATIONALIZE D1 (P 0 $$TYPE-VALUE I 0 X) B@H3 Hd`@l@o H`@ @ @l (77Q \LISPERROR 70Q %%MAKE-COMPLEX 65Q RATIONALIZE 62Q IMAGPART 56Q RATIONALIZE 53Q REALPART 36Q %%RATIONALIZE-FLOAT) (44Q COMPLEXTYPE# 15Q RATIOTYPE#) ( 33Q 1.192093E-7) %%RATIONALIZE-FLOAT D1 (P 11Q ODEN P 10Q ONUM P 7 DEN P 6 NUM P 5 XX P 4 A P 3 Y P 2 EPS P 1 X P 0 \CL:LAMBDA.ARGCNT) ekHoH HloH @lHoAjIjdI IjPIF Id \kdj Oj8OO ,INIOI I JNO  joMLI [d \NOLOONO___(244Q TRUNCATE 237Q %%/ 214Q \FZEROP 210Q %%/ 177Q ABS 174Q %%/ 167Q %%/ 144Q \FZEROP 115Q TRUNCATE 71Q RATIONALIZE 35Q ERROR 17Q ERROR) (233Q FLOATP 164Q FLOATP 155Q FLOATP) ( 224Q 1.0 53Q 1.192093E-7 31Q "Too many args" 13Q "Too few args") %%RATIO* D1 (P 3 DENY P 2 DENX P 1 NUMY P 0 NUMX I 1 Y I 0 X) %@ A @ A HJIK (42Q %%RATIO-TIMES-QUOTIENT 30Q DENOMINATOR 21Q DENOMINATOR 12Q NUMERATOR 3 NUMERATOR) NIL () %%RATIO/ D1 (P 3 DENY P 2 DENX P 1 NUMY P 0 NUMX I 1 Y I 0 X) 5@ A @ A jIHJjKjI HJKI (62Q %%RATIO-TIMES-QUOTIENT 52Q %%RATIO-TIMES-QUOTIENT 30Q DENOMINATOR 21Q DENOMINATOR 12Q NUMERATOR 3 NUMERATOR) NIL () %%RATIO-TIMES-QUOTIENT D1 (P 3 K P 2 H P 1 GCDH2K1 P 0 GCDH1K2 I 3 K2 I 2 H2 I 1 K1 I 0 H1) R@C BA Hk @H bCH bIk BI bAI b@BACKk JJK (117Q %%MAKE-RATIO 107Q %%= 65Q %%/ 55Q %%/ 47Q %%= 37Q %%/ 27Q %%/ 21Q %%= 11Q %%GCD 4 %%GCD) NIL () %%RATIO-INVERSE D1 (P 1 DENX P 0 NUMX I 0 X) M@ @ HjH kH I o mH jIjIjIjH IH (112Q %%MAKE-RATIO 104Q %%MAKE-RATIO 62Q %%= 51Q CL:ERROR 40Q \FZEROP 31Q %%= 7 DENOMINATOR 3 NUMERATOR) NIL ( 46Q "%%RATIO-INVERSE : the inverse of zero is not defined.") %%RATIO-MINUS D1 (I 0 X) j@ @ (14Q %%MAKE-RATIO 11Q DENOMINATOR 4 NUMERATOR) NIL () %%RATIO+ D1 (I 1 Y I 0 X) @A (4 %%RATIO-PLUS-DIFFERENCE) NIL () %%RATIO- D1 (I 1 Y I 0 X) @Ai (5 %%RATIO-PLUS-DIFFERENCE) NIL () %%RATIO-PLUS-DIFFERENCE D1 (P 10Q K2/D2 P 7 D2 P 6 TEE P 5 K1/D1 P 4 D1 P 3 K2 P 2 H2 P 1 K1 P 0 H1 I 2 DIFFERENCEFLG I 1 Y I 0 X) @ @ A A IK BjJպLk HKJIIK IL HKL JMNL K_Ok KO _NO Mk MO NNMO (215Q %%MAKE-RATIO 202Q %%= 173Q %%= 165Q %%/ 154Q %%/ 145Q %%= 130Q %%GCD 113Q %%/ 102Q %%/ 74Q %%MAKE-RATIO 56Q %%= 40Q %%GCD 30Q DENOMINATOR 21Q NUMERATOR 12Q DENOMINATOR 3 NUMERATOR) NIL () %%INTEGER/ D1 (P 2 ZI P 1 ZR I 1 Y I 0 X) DAj4A*@A !HHIjI@A  J o@A (77Q CL:ERROR 64Q \FZEROP 55Q \FZEROP 51Q %%BUILD-RATIO 21Q \MVLIST 16Q TRUNCATE) NIL ( 72Q "~A / ~A") %%RATIO-INTEGER* D1 (P 1 CL:GCD P 0 DEN I 1 Y I 0 X) OAj1A'@ HA Ik AI bHI X jHk @ A@ AH (114Q %%MAKE-RATIO 106Q NUMERATOR 77Q NUMERATOR 72Q %%= 61Q \FZEROP 54Q %%/ 44Q %%/ 35Q %%= 25Q %%GCD 15Q DENOMINATOR) NIL () %%RATIO-INTEGER/ D1 (P 1 CL:GCD P 0 NUM I 1 Y I 0 X) IAj:A0@ HA Ik HI AI bH@ A  o@ (104Q CL:ERROR 72Q \FZEROP 66Q %%MAKE-RATIO 61Q DENOMINATOR 51Q %%/ 43Q %%/ 35Q %%= 25Q %%GCD 15Q NUMERATOR) NIL ( 100Q "Attempt to divide ~A by zero.") %%RATIO-INTEGER+ D1 (P 0 DENX I 1 Y I 0 X) @@HAH (26Q %%MAKE-RATIO) (14Q RATIO 3 RATIO) () %%RATIO-INTEGER- D1 (P 0 DENX I 1 Y I 0 X) @@HAH (26Q %%MAKE-RATIO) (14Q RATIO 3 RATIO) () %%COMPLEX-DEFPRINT D1 (I 0 N) o@ @ h(13Q IMAGPART 7 REALPART) NIL ( 3 "#C") COMPLEXP D1 (L (0 obj)) @`NIL (4 COMPLEXTYPE#) () COMPLEX D1 (P 4 $$TYPE-VALUE P 3 $$TYPE-VALUE P 2 IMAGPART P 1 REALPART P 0 \CL:LAMBDA.ARGCNT) ekHoH HloH @lHjAIK3 Kd`7Jj:IJL3 Ld`IJ lIJ oJ lIJ oI (207Q CL:ERROR 176Q %%MAKE-COMPLEX 160Q CL:ERROR 147Q %%MAKE-COMPLEX 131Q %%MAKE-COMPLEX 35Q ERROR 17Q ERROR) (173Q FLOATP 143Q FLOATP 121Q RATIOTYPE# 71Q RATIOTYPE#) ( 203Q "~S is a bad realpart for a complex number." 154Q "~S is a bad imagpart for a complex number." 31Q "Too many args" 13Q "Too few args") %%MAKE-COMPLEX D1 (I 1 IMAGPART I 0 REALPART) `d@dANIL (2 COMPLEXTYPE#) () REALPART D1 (L (0 object)) @NIL (3 COMPLEX) () IMAGPART D1 (L (0 object)) @NIL (3 COMPLEX) () %%COMPLEX+ D1 (I 1 Y I 0 X) @ A @ A (24Q COMPLEX 20Q IMAGPART 14Q IMAGPART 7 REALPART 3 REALPART) NIL () %%COMPLEX- D1 (I 1 Y I 0 X) @ A @ A (24Q COMPLEX 20Q IMAGPART 14Q IMAGPART 7 REALPART 3 REALPART) NIL () %%COMPLEX* D1 (P 3 C2 P 2 R2 P 1 C1 P 0 R1 I 1 Z2 I 0 Z1) /@ @ A A HJIKIJHK (54Q COMPLEX 30Q IMAGPART 21Q REALPART 12Q IMAGPART 3 REALPART) NIL () %%COMPLEX/ D1 (P 6 MULT1 P 5 CONS2 P 4 CONS1 P 3 C2 P 2 R2 P 1 C1 P 0 R1 I 1 Z2 I 0 Z1) D@ @ A A 1JdּKdֽHJ^IKLM IJHKLM (101Q COMPLEX 76Q %%/ 61Q %%/ 30Q IMAGPART 21Q REALPART 12Q IMAGPART 3 REALPART) NIL () %%COMPARE-COMPLEX-COMPLEX D1 (I 1 Z2 I 0 Z1) @ A @ A g(27Q %%= 24Q IMAGPART 20Q IMAGPART 12Q %%= 7 REALPART 3 REALPART) (34Q =) () %%COMPLEX-ABS D1 (P 10Q ADEN P 7 ANUM P 6 RDEN P 5 RNUM P 4 $$TYPE-VALUE P 3 A P 2 R P 1 Y P 0 X I 0 Z) w P@X@YHdIdZd\d3 [dJJ KlL`7@JJM _dMJ N _dNOO (164Q SHOULDNT 160Q %%MAKE-RATIO 141Q ISQRT 134Q SQRT 121Q ISQRT 53Q SQRT 41Q ISQRT) (112Q RATIO 103Q RATIO 71Q RATIOTYPE# 15Q COMPLEX 6 COMPLEX) () %%COMPLEX-MINUS D1 (I 0 Z) j@ j@ (16Q COMPLEX 12Q IMAGPART 4 REALPART) NIL () %%COMPLEX-TIMESI D1 (I 0 Z) j@ @ (14Q COMPLEX 11Q REALPART 4 IMAGPART) NIL () CONJUGATE D1 (I 0 NUMBER) 1@d`(`@HdIj@HdINIL (42Q COMPLEX 21Q COMPLEX 14Q COMPLEXTYPE# 5 COMPLEXTYPE#) () PLUSP D1 (L (0 NUMBER)) @jNIL NIL () = D1 (P 4 X P 2 MORE-NUMBERS P 1 NUMBER P 0 \CL:LAMBDA.ARGCNT) Y ekHoH @1Hl2 NdMOZ[#ia_OOh__Nk^O&_IL hK(120Q %%= 17Q ERROR) NIL ( 13Q "Too few args") %%= D1 (P 1 $$TYPE-VALUE P 0 $$TYPE-VALUE I 1 Y I 0 X) #@A@Hd3 5AId3 @Ajl@A I`I`hAl `LAId` @ A j@ A jl@A I3 I`Al Hdl0AIlI3 Id`@A `zAl `IAId`@ A 4@ A 3 ?Il6I`,Al @l (440Q \LISPERROR 431Q \LISPERROR 371Q %%= 366Q IMAGPART 362Q IMAGPART 354Q %%= 351Q REALPART 345Q REALPART 313Q \LISPERROR 273Q FEQP 225Q \LISPERROR 201Q FEQP 163Q DENOMINATOR 157Q DENOMINATOR 142Q NUMERATOR 136Q NUMERATOR 104Q \LISPERROR 55Q FEQP) (416Q RATIOTYPE# 335Q COMPLEXTYPE# 320Q COMPLEXTYPE# 300Q COMPLEXTYPE# 263Q RATIOTYPE# 214Q COMPLEXTYPE# 126Q RATIOTYPE# 111Q RATIOTYPE# 72Q COMPLEXTYPE# 63Q RATIOTYPE#) () /= D1 (P 12Q X P 10Q Y P 6 NUMBERS P 0 \CL:LAMBDA.ARGCNT) X eHk2JdIK!N O_*iaL Mh\JkZM&_OO hO_ihO(102Q %%=) NIL () < D1 (L (0 \CL:LAMBDA.ARGCNT)) CeHk2JdIKIZJdiaL Mh\JkZM&JhJNIL NIL () > D1 (L (0 \CL:LAMBDA.ARGCNT)) BeHk2JdIKIZJdiaL Mh\JkZM&JhJNIL NIL () <= D1 (L (0 \CL:LAMBDA.ARGCNT)) BeHk2JdIKIZJdiaL Mh\JkZM&JhJNIL NIL () >= D1 (L (0 \CL:LAMBDA.ARGCNT)) CeHk2JdIKIZJdiaL Mh\JkZM&JhJNIL NIL () + D1 (L (0 N)) $e0Hjj@kKHKk[aJIԺJNIL NIL () - D1 (L (0 N)) (e0Hk@jI@kKHKk[aJIպJNIL NIL () CL:* D1 (L (0 N)) $e0Hjk@kKHKk[aJIֺJNIL NIL () / D1 (P 11Q X P 2 NUMBERS P 1 NUMBER P 0 \CL:LAMBDA.ARGCNT) b ekHoH @Hl2LdKMZ!kI a_NOh^Lk\O& OI_IO O_(130Q %%/ 52Q %%/ 17Q ERROR) NIL ( 13Q "Too few args") %%/ D1 (P 1 $$TYPE-VALUE P 0 $$TYPE-VALUE I 1 N2 I 0 N1) y@Hd3 ]AId3 @A j@A@A l@AId`A @A `@j A Al i blLAI3 Idl@A`A @A I`@o A Al i bNHd`QAId3 @ @ A l@AId`@A `@j A Al i b`YAId3 @Aj l@Ao Id`A @A `@A Al i b@l i b(561Q \LISPERROR 543Q \LISPERROR 533Q %%COMPLEX/ 517Q %%/ 514Q NUMERATOR 506Q DENOMINATOR 470Q %%COMPLEX/ 465Q %%MAKE-COMPLEX 446Q %%COMPLEX/ 443Q %%MAKE-COMPLEX 405Q \LISPERROR 375Q %%COMPLEX/ 371Q %%MAKE-COMPLEX 355Q %%RATIO/ 325Q %%BUILD-RATIO 320Q DENOMINATOR 314Q NUMERATOR 255Q \LISPERROR 245Q %%COMPLEX/ 241Q %%MAKE-COMPLEX 221Q %%/ 216Q NUMERATOR 210Q DENOMINATOR 136Q \LISPERROR 126Q %%COMPLEX/ 122Q %%MAKE-COMPLEX 106Q %%/ 103Q NUMERATOR 75Q DENOMINATOR 46Q %%BUILD-RATIO 32Q IMOD) (524Q COMPLEXTYPE# 477Q RATIOTYPE# 420Q COMPLEXTYPE# 362Q COMPLEXTYPE# 345Q RATIOTYPE# 272Q RATIOTYPE# 227Q COMPLEXTYPE# 202Q RATIOTYPE# 113Q COMPLEXTYPE# 66Q RATIOTYPE#) ( 462Q 0.0 236Q 0.0) 1+ D1 (L (0 X)) @kNIL NIL () 1- D1 (L (0 X)) @kNIL NIL () CL:GCD D1 (P 12Q INTEGERS P 11Q RES P 10Q INTEGERS P 2 INTEGER2 P 1 INTEGER1 P 0 \CL:LAMBDA.ARGCNT) p ekHj@lHjAHl2LdK#MIJ  O OOk Oa_NOh^Lk\O&OO _O_(144Q %%GCD 76Q %%= 55Q %%GCD) NIL () %%GCD D1 (P 3 TEE P 2 K P 1 V P 0 U I 1 V I 0 U) @ A HjHkI kH k IjHkjIkjJHdkjjIհHm Im JkԺm KjKd HJ KkjKm [K KXjKչHI[(217Q PLUSP 210Q ASH 173Q ASH 165Q \FZEROP 146Q ASH 132Q ASH 123Q ASH 45Q \FZEROP 37Q %%= 31Q %%= 7 ABS 3 ABS) NIL () LCM D1 (P 13Q ARGS P 12Q ARGS P 4 RES P 3 CL:GCD P 2 ARG P 1 ARG1 P 0 \CL:LAMBDA.ARGCNT) ekHoH @1Hl2 NdM <= >=) (PROP DMACRO = /= < > <= >=) (* MAX and MIN are OK *)) (COMS (* Section 12.4 Arithmetic Operations. *) (FNS + - CL:* / %%/ 1+ 1-) (PROP DMACRO + - CL:* / 1+ 1-) (P (COND ((FOR FN IN (QUOTE (+ - 1+ 1- CL:*)) ALWAYS (CCODEP FN)) (MOVD (QUOTE +) ( QUOTE PLUS)) (MOVD (QUOTE -) (QUOTE DIFFERENCE)) (MOVD (QUOTE 1+) (QUOTE ADD1)) (MOVD (QUOTE 1-) ( QUOTE SUB1)) (MOVD (QUOTE CL:*) (QUOTE TIMES))))) (* INCF and SETF implemented by CMLSETF. *) (* CONJUGATE implemented in section 2.1.4 above. *) (FNS CL:GCD %%GCD LCM)) (COMS (* Section 12.6 Type Conversions and Component Extractions on Numbers. *) (* * LLFLOAT replacements. LLFLOAT ufns seem OK once we modify \FLOAT appropriately. *) (FNS FLOAT \FLOAT) (* NUMERATOR and DENOMINATOR implemented in section 2.1.2 above. *) (FNS CL:FLOOR TRUNCATE CEILING ROUND CL:MOD REM FFLOOR FCEILING FTRUNCATE FROUND) (* Page 218 functions. *) (FNS DECODE-FLOAT SCALE-FLOAT FLOAT-RADIX FLOAT-SIGN FLOAT-DIGITS FLOAT-PRECISION INTEGER-DECODE-FLOAT) (* EXPT COMPLEX REALPART and IMAGPART are defined by CMLFLOAT. * )) (COMS (* LLARITH replacements. *) (COMS (* Non ufns *) (FNS NEW-GREATERP NEW-LESSP NEW-MINUSP NEW-EQP NEW-ABS NEW-MINUS) (P (COND ((FOR FN IN (QUOTE (NEW-GREATERP NEW-LESSP NEW-MINUSP NEW-EQP NEW-ABS NEW-MINUS)) ALWAYS (CCODEP FN)) (MOVD (QUOTE NEW-GREATERP) (QUOTE GREATERP)) (MOVD (QUOTE NEW-LESSP) (QUOTE LESSP)) (MOVD (QUOTE NEW-MINUSP) (QUOTE MINUSP)) (MOVD (QUOTE NEW-EQP) (QUOTE EQP)) (MOVD (QUOTE NEW-ABS) (QUOTE ABS)) (MOVD (QUOTE NEW-MINUS) (QUOTE MINUS)))))) (COMS (* New LLARITH UFNS *) (COMS (* GENERAL ARITH UFNS Now know about RATIOs and CVOMPLEXs. Completely recoded. *) (* NOTE: %%/ CAN NOT COMPILE INTO THE EXISTING QUOTIENT OPCODE. This is because %%/ is supposed to produce a rational when numerator is not evenly divisible by denominator. Therefore, there is no MACRO for %%/ below. *) (MACROS %%+ %%- %%*) (FNS %%+ %%- %%* %%/)) (COMS (* INTEGER ARITH UFNS .UNBOX. is made to understand RATIOs so integer arith ufns must be recompiled. *) (MACROS .UNBOX.) (FNS NEW-SLOWIPLUS2 NEW-SLOWIDIFFERENCE NEW-SLOWITIMES2 NEW-SLOWIQUOTIENT NEW-IREMAINDER NEW-SLOWIGREATERP) ) (P (COND ((FOR FN IN (QUOTE (%%+ %%- %%* %%/ NEW-SLOWIPLUS2 NEW-SLOWIDIFFERENCE NEW-SLOWITIMES2 NEW-SLOWIQUOTIENT NEW-IREMAINDER NEW-SLOWIGREATERP)) ALWAYS (CCODEP FN)) (MOVD (QUOTE %%+) (QUOTE \SLOWPLUS2)) (MOVD (QUOTE %%-) (QUOTE \SLOWDIFFERENCE)) (MOVD (QUOTE %%*) (QUOTE \SLOWTIMES2)) (MOVD ( QUOTE %%/) (QUOTE \SLOWQUOTIENT)) (MOVD (QUOTE NEW-SLOWIPLUS2) (QUOTE \SLOWIPLUS2)) (MOVD (QUOTE NEW-SLOWIDIFFERENCE) (QUOTE \SLOWIDIFFERENCE)) (MOVD (QUOTE NEW-SLOWITIMES2) (QUOTE \SLOWITIMES2)) ( MOVD (QUOTE NEW-SLOWIQUOTIENT) (QUOTE \SLOWIQUOTIENT)) (MOVD (QUOTE NEW-IREMAINDER) (QUOTE IREMAINDER) ) (MOVD (QUOTE NEW-SLOWIGREATERP) (QUOTE \SLOWIGREATERP))))))) (COMS (* Section 12.7 Logical Operations on Numbers. *) (* Page 221 functions. LOGAND LOGXOR are OK. *) (P (MOVD (QUOTE LOGOR) ( QUOTE LOGIOR))) (FNS LOGEQV LOGNAND LOGNOR LOGANDC1 LOGANDC2 LOGORC1 LOGORC2) (* Page 222.0 BOOLE and constants. *) (FNS BOOLE) (CONSTANTS BOOLE-CLR BOOLE-SET BOOLE-1 BOOLE-2 BOOLE-C1 BOOLE-C2 BOOLE-AND BOOLE-IOR BOOLE-XOR BOOLE-EQV BOOLE-NAND BOOLE-NOR BOOLE-ANDC1 BOOLE-ANDC2 BOOLE-ORC1 BOOLE-ORC2) (* Remainder of section 12.7 LOGNOT is OK. *) (FNS LOGTEST LOGBITP) (P (MOVD (QUOTE LSH) (QUOTE ASH))) ( FNS LOGCOUNT %%LOGCOUNT) (P (MOVD (QUOTE INTEGERLENGTH) (QUOTE INTEGER-LENGTH)))) (COMS (* Section 12.8 Byte Manipulations Functions. *) (* BYTE macro already implemented. Should be function. *) (FNS BYTE-SIZE BYTE-POSITION) (* LDB macro already implemented. Should be function. *) (FNS LDB-TEST MASK-FIELD) (* DPB macro already implemented. Should be function. *) (FNS DEPOSIT-FIELD)) (COMS (* Section 12.9 Random Numbers. *) (* TO BE INCLUDED. *)) (COMS (* Section 12.10, implementation parameters. The constants in this COMS are exported to the user. *) (MACROS **FLOAT**) (CONSTANTS ( MOST-POSITIVE-FIXNUM MAX.SMALLP) (MOST-NEGATIVE-FIXNUM MIN.SMALLP) (MOST-POSITIVE-SINGLE-FLOAT MAX.FLOAT) (LEAST-POSITIVE-SINGLE-FLOAT (**FLOAT** 1 -125)) (LEAST-NEGATIVE-SINGLE-FLOAT (**FLOAT** -1 -125)) (MOST-NEGATIVE-SINGLE-FLOAT MIN.FLOAT) (MOST-POSITIVE-SHORT-FLOAT MOST-POSITIVE-SINGLE-FLOAT) (LEAST-POSITIVE-SHORT-FLOAT LEAST-POSITIVE-SINGLE-FLOAT) (LEAST-NEGATIVE-SHORT-FLOAT LEAST-NEGATIVE-SINGLE-FLOAT) (MOST-NEGATIVE-SHORT-FLOAT MOST-NEGATIVE-SINGLE-FLOAT) ( MOST-POSITIVE-DOUBLE-FLOAT MOST-POSITIVE-SINGLE-FLOAT) (LEAST-POSITIVE-DOUBLE-FLOAT LEAST-POSITIVE-SINGLE-FLOAT) (LEAST-NEGATIVE-DOUBLE-FLOAT LEAST-NEGATIVE-SINGLE-FLOAT) ( MOST-NEGATIVE-DOUBLE-FLOAT MOST-NEGATIVE-SINGLE-FLOAT) (MOST-POSITIVE-LONG-FLOAT MOST-POSITIVE-SINGLE-FLOAT) (LEAST-POSITIVE-LONG-FLOAT LEAST-POSITIVE-SINGLE-FLOAT) ( LEAST-NEGATIVE-LONG-FLOAT LEAST-NEGATIVE-SINGLE-FLOAT) (MOST-NEGATIVE-LONG-FLOAT MOST-NEGATIVE-SINGLE-FLOAT)) (* EPSILON is the smallest positive floating point number such that (NOT (= (FLOAT 1 EPSILON) (+ (FLOAT 1 EPSILON) EPSILON))) *) (CONSTANTS (SINGLE-FLOAT-EPSILON (**FLOAT** 1 -22)) (SHORT-FLOAT-EPSILON SINGLE-FLOAT-EPSILON) (DOUBLE-FLOAT-EPSILON SINGLE-FLOAT-EPSILON) ( LONG-FLOAT-EPSILON SINGLE-FLOAT-EPSILON)) (* NEGATIVE-EPSILON is the smallest negative floating point number such that (NOT (= (FLOAT 1 NEGATIVE-EPSILON) (- (FLOAT 1 NEGATIVE-EPSILON) NEGATIVE-EPSILON))) *) (CONSTANTS (SINGLE-FLOAT-NEGATIVE-EPSILON (**FLOAT** 1 -23)) (SHORT-FLOAT-NEGATIVE-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON) (DOUBLE-FLOAT-NEGATIVE-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON) ( LONG-FLOAT-NEGATIVE-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON))) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA LOGEQV FLOAT-SIGN FROUND FTRUNCATE FCEILING FFLOOR ROUND CEILING TRUNCATE CL:FLOOR LCM CL:GCD / CL:* - + >= <= > < /= = COMPLEX %%RATIONALIZE-FLOAT))))) (PUTPROP (QUOTE BIGNUM) (QUOTE DEFTYPE) (QUOTE (MACRO NIL (QUOTE (OR (DATATYPE FIXP) (DATATYPE BIGNUM) ))))) (PUTHASH (QUOTE REM) NIL COMPVARMACROHASH) (PUTHASH (QUOTE SUB) NIL COMPVARMACROHASH) (DATATYPE RATIO (NUMERATOR DENOMINATOR) (INIT (DEFPRINT (QUOTE RATIO) (QUOTE %%RATIO-DEFPRINT))) ( SYSTEM)) (/DECLAREDATATYPE (QUOTE RATIO) (QUOTE (POINTER POINTER)) (QUOTE ((RATIO 0 POINTER) (RATIO 2 POINTER)) ) (QUOTE 4)) (DEFPRINT (QUOTE RATIO) (QUOTE %%RATIO-DEFPRINT)) (\SETTYPEMASK (\TYPENUMBERFROMNAME (QUOTE RATIO)) (LOGOR \TT.NUMBERP \TT.ATOM)) (PUTPROPS %%NUMERATOR DMACRO (DEFMACRO (R) (BQUOTE (fetch (RATIO NUMERATOR) of (\, R))))) (PUTPROPS %%DENOMINATOR DMACRO (DEFMACRO (R) (BQUOTE (fetch (RATIO DENOMINATOR) of (\, R))))) (DATATYPE COMPLEX (REALPART IMAGPART) (INIT (DEFPRINT (QUOTE COMPLEX) (QUOTE %%COMPLEX-DEFPRINT)))) (/DECLAREDATATYPE (QUOTE COMPLEX) (QUOTE (POINTER POINTER)) (QUOTE ((COMPLEX 0 POINTER) (COMPLEX 2 POINTER))) (QUOTE 4)) (DEFPRINT (QUOTE COMPLEX) (QUOTE %%COMPLEX-DEFPRINT)) (\SETTYPEMASK (\TYPENUMBERFROMNAME (QUOTE COMPLEX)) (LOGOR \TT.NUMBERP \TT.ATOM)) (PUTPROPS %%REALPART DMACRO (DEFMACRO (Z) (BQUOTE (fetch (COMPLEX REALPART) of (\, Z))))) (PUTPROPS %%IMAGPART DMACRO (DEFMACRO (Z) (BQUOTE (fetch (COMPLEX IMAGPART) of (\, Z))))) (PUTPROPS = DMACRO (DEFMACRO (N &REST NS) (COND ((CDR NS) (BQUOTE ((OPENLAMBDA (N) (AND (= N (\, (CAR NS))) (= N (\,@ (CDR NS))))) , N))) (T (BQUOTE (%%= (\, N) (\, (CAR NS)))))))) (PUTPROPS /= DMACRO (DEFMACRO (N &REST NS) (COND (NS (IF (CDR NS) THEN (LET ((VARS (FOR X IN (CONS N NS) COLLECT (LIST (GENSYM (QUOTE /=)) X)))) (BQUOTE ((OPENLAMBDA (\, (MAPCAR VARS (QUOTE CAR))) (AND ( \,@ (for X on VARS join (for Y on (CDR VARS) collect (BQUOTE (NOT (= (\, (CAAR X)) (\, (CAAR Y)))))))) )) (\,@ (MAPCAR VARS (QUOTE CADR)))))) ELSE (BQUOTE (NOT (= , N , (CAR NS)))))) (T T)))) (PUTPROPS < DMACRO (DEFMACRO (N &REST NS) (COND ((NULL NS) T) ((CDR NS) (LET ((VARS (FOR X IN (CONS N NS) COLLECT (LIST (GENSYM (QUOTE /=)) X)))) (BQUOTE ((OPENLAMBDA (\, (MAPCAR VARS (QUOTE CAR))) (AND ( \,@ (for X on VARS while (CDR X) collect (BQUOTE (LESSP (\, (CAAR X)) (\, (CAADR X)))))))) (\,@ ( MAPCAR VARS (QUOTE CADR))))))) (T (BQUOTE (LESSP (\, N) (\, (CAR NS)))))))) (PUTPROPS > DMACRO (DEFMACRO (N &REST NS) (COND ((NULL NS) T) ((CDR NS) (LET ((VARS (FOR X IN (CONS N NS) COLLECT (LIST (GENSYM (QUOTE /=)) X)))) (BQUOTE ((OPENLAMBDA (\, (MAPCAR VARS (QUOTE CAR))) (AND ( \,@ (for X on VARS while (CDR X) collect (BQUOTE (GREATERP (\, (CAAR X)) (\, (CAADR X)))))))) (\,@ ( MAPCAR VARS (QUOTE CADR))))))) (T (BQUOTE (GREATERP (\, N) (\, (CAR NS)))))))) (PUTPROPS <= DMACRO (DEFMACRO (N &REST NS) (COND ((NULL NS) T) ((CDR NS) (LET ((VARS (FOR X IN (CONS N NS) COLLECT (LIST (GENSYM (QUOTE /=)) X)))) (BQUOTE ((OPENLAMBDA (\, (MAPCAR VARS (QUOTE CAR))) (AND (\,@ (for X on VARS while (CDR X) collect (BQUOTE (LEQ (\, (CAAR X)) (\, (CAADR X)))))))) (\,@ (MAPCAR VARS (QUOTE CADR))))))) (T (BQUOTE (LEQ (\, N) (\, (CAR NS)))))))) (PUTPROPS >= DMACRO (DEFMACRO (N &REST NS) (COND ((NULL NS) T) ((CDR NS) (LET ((VARS (FOR X IN (CONS N NS) COLLECT (LIST (GENSYM (QUOTE /=)) X)))) (BQUOTE ((OPENLAMBDA (\, (MAPCAR VARS (QUOTE CAR))) (AND (\,@ (for X on VARS while (CDR X) collect (BQUOTE (GEQ (\, (CAAR X)) (\, (CAADR X)))))))) (\,@ (MAPCAR VARS (QUOTE CADR))))))) (T (BQUOTE (GEQ (\, N) (\, (CAR NS)))))))) (PUTPROPS + DMACRO (DEFMACRO (&REST NUMBERS) (COND ((NULL NUMBERS) 0) (T (BQUOTE (PLUS (\., NUMBERS))) )))) (PUTPROPS - DMACRO (DEFMACRO (NUMBER &REST NUMBERS) (COND ((NULL NUMBERS) (BQUOTE (DIFFERENCE 0 (\, NUMBER)))) (T (for X in NUMBERS do (SETQ NUMBER (BQUOTE (DIFFERENCE (\, NUMBER) (\, X)))) finally ( RETURN NUMBER)))))) (PUTPROPS CL:* DMACRO (DEFMACRO (&REST NUMBERS) (COND ((NULL NUMBERS) 1) (T (BQUOTE (TIMES (\., NUMBERS))))))) (PUTPROPS / DMACRO (DEFMACRO (NUMBER &REST NUMBERS) (COND ((NULL NUMBERS) (BQUOTE (%%/ 1 (\, NUMBER))) ) (T (for X in NUMBERS do (SETQ NUMBER (BQUOTE (%%/ (\, NUMBER) (\, X)))) finally (RETURN NUMBER)))))) (PUTPROPS 1+ DMACRO (DEFMACRO (X) (BQUOTE (PLUS (\, X) 1)))) (PUTPROPS 1- DMACRO (DEFMACRO (X) (BQUOTE (DIFFERENCE (\, X) 1)))) (COND ((FOR FN IN (QUOTE (+ - 1+ 1- CL:*)) ALWAYS (CCODEP FN)) (MOVD (QUOTE +) (QUOTE PLUS)) (MOVD ( QUOTE -) (QUOTE DIFFERENCE)) (MOVD (QUOTE 1+) (QUOTE ADD1)) (MOVD (QUOTE 1-) (QUOTE SUB1)) (MOVD ( QUOTE CL:*) (QUOTE TIMES)))) (COND ((FOR FN IN (QUOTE (NEW-GREATERP NEW-LESSP NEW-MINUSP NEW-EQP NEW-ABS NEW-MINUS)) ALWAYS (CCODEP FN)) (MOVD (QUOTE NEW-GREATERP) (QUOTE GREATERP)) (MOVD (QUOTE NEW-LESSP) (QUOTE LESSP)) (MOVD (QUOTE NEW-MINUSP) (QUOTE MINUSP)) (MOVD (QUOTE NEW-EQP) (QUOTE EQP)) (MOVD (QUOTE NEW-ABS) (QUOTE ABS)) ( MOVD (QUOTE NEW-MINUS) (QUOTE MINUS)))) (PUTPROPS %%+ MACRO (= . PLUS)) (PUTPROPS %%- MACRO (= . DIFFERENCE)) (PUTPROPS %%* MACRO (= . TIMES)) (PUTPROPS .UNBOX. MACRO ((V HV LV FORM) (PROG NIL UBLP (SELECTC (NTYPX V) (\FIXP (SETQ HV (ffetch ( FIXP HINUM) of V)) (SETQ LV (ffetch (FIXP LONUM) of V))) (\SMALLP (COND ((ILEQ 0 V) (SETQ HV 0) (SETQ LV V)) (T (SETQ HV 65535) (SETQ LV (\LOLOC V))))) (\FLOATP (SETQ V (\FIXP.FROM.FLOATP V)) (GO UBLP)) ( COND ((type? RATIO V) (SETQ V (IQUOTIENT (%%NUMERATOR V) (%%DENOMINATOR V))) (GO UBLP)) (T (TYPECASE V (NUMBER (COND ((QUOTE FORM) (* If there is a FORM, then compiler will compile this branch of macro. * ) FORM) (T (* If there is no FORM, then compiler will compile this branch of macro. *) (SETQ V ( \LISPERROR V "ARG NOT FIXP" T)) (GO UBLP)))) (T (SETQ V (LISPERROR "NON-NUMERIC ARG" V T)) (GO UBLP))) )))))) (COND ((FOR FN IN (QUOTE (%%+ %%- %%* %%/ NEW-SLOWIPLUS2 NEW-SLOWIDIFFERENCE NEW-SLOWITIMES2 NEW-SLOWIQUOTIENT NEW-IREMAINDER NEW-SLOWIGREATERP)) ALWAYS (CCODEP FN)) (MOVD (QUOTE %%+) (QUOTE \SLOWPLUS2)) (MOVD (QUOTE %%-) (QUOTE \SLOWDIFFERENCE)) (MOVD (QUOTE %%*) (QUOTE \SLOWTIMES2)) (MOVD ( QUOTE %%/) (QUOTE \SLOWQUOTIENT)) (MOVD (QUOTE NEW-SLOWIPLUS2) (QUOTE \SLOWIPLUS2)) (MOVD (QUOTE NEW-SLOWIDIFFERENCE) (QUOTE \SLOWIDIFFERENCE)) (MOVD (QUOTE NEW-SLOWITIMES2) (QUOTE \SLOWITIMES2)) ( MOVD (QUOTE NEW-SLOWIQUOTIENT) (QUOTE \SLOWIQUOTIENT)) (MOVD (QUOTE NEW-IREMAINDER) (QUOTE IREMAINDER) ) (MOVD (QUOTE NEW-SLOWIGREATERP) (QUOTE \SLOWIGREATERP)))) (MOVD (QUOTE LOGOR) (QUOTE LOGIOR)) (DEFCONSTANT BOOLE-CLR 0) (DEFCONSTANT BOOLE-SET 1) (DEFCONSTANT BOOLE-1 2) (DEFCONSTANT BOOLE-2 3) (DEFCONSTANT BOOLE-C1 4) (DEFCONSTANT BOOLE-C2 5) (DEFCONSTANT BOOLE-AND 6) (DEFCONSTANT BOOLE-IOR 7) (DEFCONSTANT BOOLE-XOR 8) (DEFCONSTANT BOOLE-EQV 9) (DEFCONSTANT BOOLE-NAND 10) (DEFCONSTANT BOOLE-NOR 11) (DEFCONSTANT BOOLE-ANDC1 12) (DEFCONSTANT BOOLE-ANDC2 13) (DEFCONSTANT BOOLE-ORC1 14) (DEFCONSTANT BOOLE-ORC2 15) (CONSTANTS BOOLE-CLR BOOLE-SET BOOLE-1 BOOLE-2 BOOLE-C1 BOOLE-C2 BOOLE-AND BOOLE-IOR BOOLE-XOR BOOLE-EQV BOOLE-NAND BOOLE-NOR BOOLE-ANDC1 BOOLE-ANDC2 BOOLE-ORC1 BOOLE-ORC2) (MOVD (QUOTE LSH) (QUOTE ASH)) (MOVD (QUOTE INTEGERLENGTH) (QUOTE INTEGER-LENGTH)) (DEFMACRO **FLOAT** (F E) (BQUOTE (SCALE-FLOAT (DECODE-FLOAT (FLOAT (\, F))) (\, E)))) (RPAQ MOST-POSITIVE-FIXNUM MAX.SMALLP) (RPAQ MOST-NEGATIVE-FIXNUM MIN.SMALLP) (RPAQ MOST-POSITIVE-SINGLE-FLOAT MAX.FLOAT) (RPAQ LEAST-POSITIVE-SINGLE-FLOAT (**FLOAT** 1 -125)) (RPAQ LEAST-NEGATIVE-SINGLE-FLOAT (**FLOAT** -1 -125)) (RPAQ MOST-NEGATIVE-SINGLE-FLOAT MIN.FLOAT) (RPAQ MOST-POSITIVE-SHORT-FLOAT MOST-POSITIVE-SINGLE-FLOAT) (RPAQ LEAST-POSITIVE-SHORT-FLOAT LEAST-POSITIVE-SINGLE-FLOAT) (RPAQ LEAST-NEGATIVE-SHORT-FLOAT LEAST-NEGATIVE-SINGLE-FLOAT) (RPAQ MOST-NEGATIVE-SHORT-FLOAT MOST-NEGATIVE-SINGLE-FLOAT) (RPAQ MOST-POSITIVE-DOUBLE-FLOAT MOST-POSITIVE-SINGLE-FLOAT) (RPAQ LEAST-POSITIVE-DOUBLE-FLOAT LEAST-POSITIVE-SINGLE-FLOAT) (RPAQ LEAST-NEGATIVE-DOUBLE-FLOAT LEAST-NEGATIVE-SINGLE-FLOAT) (RPAQ MOST-NEGATIVE-DOUBLE-FLOAT MOST-NEGATIVE-SINGLE-FLOAT) (RPAQ MOST-POSITIVE-LONG-FLOAT MOST-POSITIVE-SINGLE-FLOAT) (RPAQ LEAST-POSITIVE-LONG-FLOAT LEAST-POSITIVE-SINGLE-FLOAT) (RPAQ LEAST-NEGATIVE-LONG-FLOAT LEAST-NEGATIVE-SINGLE-FLOAT) (RPAQ MOST-NEGATIVE-LONG-FLOAT MOST-NEGATIVE-SINGLE-FLOAT) (CONSTANTS (MOST-POSITIVE-FIXNUM MAX.SMALLP) (MOST-NEGATIVE-FIXNUM MIN.SMALLP) ( MOST-POSITIVE-SINGLE-FLOAT MAX.FLOAT) (LEAST-POSITIVE-SINGLE-FLOAT (**FLOAT** 1 -125)) ( LEAST-NEGATIVE-SINGLE-FLOAT (**FLOAT** -1 -125)) (MOST-NEGATIVE-SINGLE-FLOAT MIN.FLOAT) ( MOST-POSITIVE-SHORT-FLOAT MOST-POSITIVE-SINGLE-FLOAT) (LEAST-POSITIVE-SHORT-FLOAT LEAST-POSITIVE-SINGLE-FLOAT) (LEAST-NEGATIVE-SHORT-FLOAT LEAST-NEGATIVE-SINGLE-FLOAT) ( MOST-NEGATIVE-SHORT-FLOAT MOST-NEGATIVE-SINGLE-FLOAT) (MOST-POSITIVE-DOUBLE-FLOAT MOST-POSITIVE-SINGLE-FLOAT) (LEAST-POSITIVE-DOUBLE-FLOAT LEAST-POSITIVE-SINGLE-FLOAT) ( LEAST-NEGATIVE-DOUBLE-FLOAT LEAST-NEGATIVE-SINGLE-FLOAT) (MOST-NEGATIVE-DOUBLE-FLOAT MOST-NEGATIVE-SINGLE-FLOAT) (MOST-POSITIVE-LONG-FLOAT MOST-POSITIVE-SINGLE-FLOAT) ( LEAST-POSITIVE-LONG-FLOAT LEAST-POSITIVE-SINGLE-FLOAT) (LEAST-NEGATIVE-LONG-FLOAT LEAST-NEGATIVE-SINGLE-FLOAT) (MOST-NEGATIVE-LONG-FLOAT MOST-NEGATIVE-SINGLE-FLOAT)) (RPAQ SINGLE-FLOAT-EPSILON (**FLOAT** 1 -22)) (RPAQ SHORT-FLOAT-EPSILON SINGLE-FLOAT-EPSILON) (RPAQ DOUBLE-FLOAT-EPSILON SINGLE-FLOAT-EPSILON) (RPAQ LONG-FLOAT-EPSILON SINGLE-FLOAT-EPSILON) (CONSTANTS (SINGLE-FLOAT-EPSILON (**FLOAT** 1 -22)) (SHORT-FLOAT-EPSILON SINGLE-FLOAT-EPSILON) ( DOUBLE-FLOAT-EPSILON SINGLE-FLOAT-EPSILON) (LONG-FLOAT-EPSILON SINGLE-FLOAT-EPSILON)) (RPAQ SINGLE-FLOAT-NEGATIVE-EPSILON (**FLOAT** 1 -23)) (RPAQ SHORT-FLOAT-NEGATIVE-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON) (RPAQ DOUBLE-FLOAT-NEGATIVE-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON) (RPAQ LONG-FLOAT-NEGATIVE-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON) (CONSTANTS (SINGLE-FLOAT-NEGATIVE-EPSILON (**FLOAT** 1 -23)) (SHORT-FLOAT-NEGATIVE-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON) (DOUBLE-FLOAT-NEGATIVE-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON) ( LONG-FLOAT-NEGATIVE-EPSILON SINGLE-FLOAT-NEGATIVE-EPSILON)) (PUTPROPS CMLARITHNEW COPYRIGHT ("Xerox Corporation" 1986)) NIL