(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (FILECREATED "21-Apr-99 12:19:34" ("compiled on " {DSK}medley3.5>lispusers>UNBOXEDOPS.;2) "29-Jan-99 11:25:20" tcompl'd in "LFG 12-Apr-99 ..." dated "12-Apr-99 18:32:33") (FILECREATED " 7-Dec-86 17:26:23" {ERIS}LISPCORE>UNBOXEDOPS.;7 12906 changes to%: ( OPTIMIZERS UFREMAINDER2 UFREMAINDER) (FNS UFREMAINDER) (VARS UNBOXEDOPSCOMS) previous date%: " 3-Nov-86 20:30:24" {ERIS}LISPCORE>UNBOXEDOPS.;6) UFABS :D8 (L (0 X)) @íííNIL NIL () UFEQP :D8 (L (1 Y 0 X)) @A (6 FEQP) NIL () UFGEQ :D8 (L (1 Y 0 X)) A@óhðNIL NIL () UFGREATERP :D8 (L (1 Y 0 X)) @AòNIL NIL () UFIX :D8 (L (0 X)) @jØNIL NIL () UFLEQ :D8 (L (1 Y 0 X)) @AóhðNIL NIL () UFLESSP :D8 (L (1 Y 0 X)) A@òNIL NIL () UFMAX :D8 (L (0 ARGS)) %eHk`JIó‘KJdaKò”¿Ja»JkÔZ°íNIL (10 MIN.FLOAT) () UFMIN :D8 (L (0 ARGS)) &eHk`JIó‘KJdaKýò”¿Ja»JkÔZ°ìNIL (10 MAX.FLOAT) () UFMINUS :D8 (L (0 X)) @ (5 FMINUS) NIL () UFREMAINDER :D8 (L (1 Y 0 X)) '@íAíHdíIíë Iíêíìí(21 UFIX) (26 FLOATP) () (PRETTYCOMPRINT UNBOXEDOPSCOMS) (RPAQQ UNBOXEDOPSCOMS ((FNS UFABS UFEQP UFGEQ UFGREATERP UFIX UFLEQ UFLESSP UFMAX UFMIN UFMINUS UFREMAINDER) (OPTIMIZERS UFABS UFABS1 UFEQP UFEQP2 UFGEQ UFGEQ2 UFGREATERP UFGREATERP2 UFIX UFIX1 UFLEQ UFLEQ2 UFLESSP UFLESSP2 UFMAX UFMAX2 UFMIN UFMIN2 UFMINUS UFMINUS1 UFREMAINDER) (PROP FILETYPE UNBOXEDOPS) (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY (LOCALVARS . T)) (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA UFMIN UFMAX))))) (DEFOPTIMIZER UFABS (&OPTIONAL (ARG1 NIL ARG1GIVEN) &REST RESTARGS &WHOLE ORIGINAL) (if (OR (NOT ARG1GIVEN) RESTARGS) then (PRINTOUT T "************" T) (PRINTOUT T "Illegal args to UFABS" %, %, ORIGINAL T) (PRINTOUT T "************" T)) (LIST (QUOTE UFABS1) ARG1)) (DEFOPTIMIZER UFABS1 (X) (BQUOTE (\FLOATBOX ((OPCODES UBFLOAT1 2) (\FLOATUNBOX (\, X)))))) (DEFOPTIMIZER UFEQP (&WHOLE ORIGINAL &OPTIONAL (ARG1 NIL ARG1GIVEN) (ARG2 NIL ARG2GIVEN) &REST RESTARGS) (if (OR (NOT ARG1GIVEN) (NOT ARG2GIVEN) RESTARGS) then (PRINTOUT T "************" T) ( PRINTOUT T "Illegal args to UFEQP" %, %, ORIGINAL T) (PRINTOUT T "************" T)) (LIST (QUOTE UFEQP2) ARG1 ARG2)) (DEFOPTIMIZER UFEQP2 (X Y) (BQUOTE (EQ (\FLOATUNBOX (FDIFFERENCE (\, X) (\, Y))) NIL))) (DEFOPTIMIZER UFGEQ (&WHOLE ORIGINAL &OPTIONAL (ARG1 NIL ARG1GIVEN) (ARG2 NIL ARG2GIVEN) &REST RESTARGS) (if (OR (NOT ARG1GIVEN) (NOT ARG2GIVEN) RESTARGS) then (PRINTOUT T "************" T) ( PRINTOUT T "Illegal args to UFGEQ" %, %, ORIGINAL T) (PRINTOUT T "************" T)) (LIST (QUOTE UFGEQ2) ARG1 ARG2)) (DEFOPTIMIZER UFGEQ2 (X Y) (BQUOTE (NOT ((OPCODES SWAP UBFLOAT2 5) (\FLOATUNBOX (\, X)) (\FLOATUNBOX ( \, Y)))))) (DEFOPTIMIZER UFGREATERP (&WHOLE ORIGINAL &OPTIONAL (ARG1 NIL ARG1GIVEN) (ARG2 NIL ARG2GIVEN) &REST RESTARGS) (if (OR (NOT ARG1GIVEN) (NOT ARG2GIVEN) RESTARGS) then (PRINTOUT T "************" T) ( PRINTOUT T "Illegal args to UFGREATERP" %, %, ORIGINAL T) (PRINTOUT T "************" T)) (LIST (QUOTE UFGREATERP2) ARG1 ARG2)) (DEFOPTIMIZER UFGREATERP2 (X Y) (BQUOTE ((OPCODES UBFLOAT2 5) (\FLOATUNBOX (\, X)) (\FLOATUNBOX (\, Y) )))) (DEFOPTIMIZER UFIX (&WHOLE ORIGINAL &OPTIONAL (ARG1 NIL ARG1GIVEN) &REST RESTARGS) (if (OR (NOT ARG1GIVEN) RESTARGS) then (PRINTOUT T "************" T) (PRINTOUT T "Illegal args to UFIX" %, %, ORIGINAL T) (PRINTOUT T "************" T)) (LIST (QUOTE UFIX1) ARG1)) (DEFOPTIMIZER UFIX1 (X) (BQUOTE ((OPCODES UBFLOAT1 4) (\FLOATUNBOX (\, X))))) (DEFOPTIMIZER UFLEQ (&WHOLE ORIGINAL &OPTIONAL (ARG1 NIL ARG1GIVEN) (ARG2 NIL ARG2GIVEN) &REST RESTARGS) (if (OR (NOT ARG1GIVEN) (NOT ARG2GIVEN) RESTARGS) then (PRINTOUT T "************" T) ( PRINTOUT T "Illegal args to UFLEQ" %, %, ORIGINAL T) (PRINTOUT T "************" T)) (LIST (QUOTE UFLEQ2) ARG1 ARG2)) (DEFOPTIMIZER UFLEQ2 (X Y) (BQUOTE (NOT ((OPCODES UBFLOAT2 5) (\FLOATUNBOX (\, X)) (\FLOATUNBOX (\, Y) ))))) (DEFOPTIMIZER UFLESSP (&WHOLE ORIGINAL &OPTIONAL (ARG1 NIL ARG1GIVEN) (ARG2 NIL ARG2GIVEN) &REST RESTARGS) (if (OR (NOT ARG1GIVEN) (NOT ARG2GIVEN) RESTARGS) then (PRINTOUT T "************" T) ( PRINTOUT T "Illegal args to UFLESSP" %, %, ORIGINAL T) (PRINTOUT T "************" T)) (LIST (QUOTE UFLESSP2) ARG1 ARG2)) (DEFOPTIMIZER UFLESSP2 (X Y) (BQUOTE ((OPCODES SWAP UBFLOAT2 5) (\FLOATUNBOX (\, X)) (\FLOATUNBOX (\, Y))))) (DEFOPTIMIZER UFMAX (&OPTIONAL (ARG1 NIL ARG1GIVEN) (ARG2 NIL ARG2GIVEN) &REST RESTARGS) (if (NOT ARG1GIVEN) then (QUOTE MIN.FLOAT) elseif (NOT ARG2GIVEN) then (BQUOTE (FLOAT %, ARG1)) elseif RESTARGS then (BQUOTE (UFMAX (UFMAX2 %, ARG1 %, ARG2) ., RESTARGS)) else (LIST (QUOTE UFMAX2) ARG1 ARG2))) (DEFOPTIMIZER UFMAX2 (X Y) (BQUOTE (\FLOATBOX ((OPCODES UBFLOAT2 6) (\FLOATUNBOX (\, X)) (\FLOATUNBOX (\, Y)))))) (DEFOPTIMIZER UFMIN (&OPTIONAL (ARG1 NIL ARG1GIVEN) (ARG2 NIL ARG2GIVEN) &REST RESTARGS) (if (NOT ARG1GIVEN) then (QUOTE MAX.FLOAT) elseif (NOT ARG2GIVEN) then (BQUOTE (FLOAT %, ARG1)) elseif RESTARGS then (BQUOTE (UFMIN (UFMIN2 %, ARG1 %, ARG2) ., RESTARGS)) else (LIST (QUOTE UFMIN2) ARG1 ARG2))) (DEFOPTIMIZER UFMIN2 (X Y) (BQUOTE (\FLOATBOX ((OPCODES UBFLOAT2 7) (\FLOATUNBOX (\, X)) (\FLOATUNBOX (\, Y)))))) (DEFOPTIMIZER UFMINUS (&WHOLE ORIGINAL &OPTIONAL (ARG1 NIL ARG1GIVEN) &REST RESTARGS) (if (OR (NOT ARG1GIVEN) RESTARGS) then (PRINTOUT T "************" T) (PRINTOUT T "Illegal args to UFMINUS" %, %, ORIGINAL T) (PRINTOUT T "************" T)) (LIST (QUOTE UFMINUS1) ARG1)) (DEFOPTIMIZER UFMINUS1 (X) (BQUOTE (\FLOATBOX ((OPCODES UBFLOAT1 3) (\FLOATUNBOX (\, X)))))) (DEFOPTIMIZER UFREMAINDER (X Y) (CL:IF (AND (OR (CL:CONSTANTP X) (CL:SYMBOLP X)) (OR (CL:CONSTANTP Y) (CL:SYMBOLP Y))) (BQUOTE (FDIFFERENCE (\, X) (FTIMES (FLOAT (UFIX (FQUOTIENT (\, X) (\, Y)))) (\, Y))) ) (QUOTE COMPILER:PASS))) (PUTPROPS UNBOXEDOPS FILETYPE CL:COMPILE-FILE) (PUTPROPS UNBOXEDOPS COPYRIGHT ("Xerox Corporation" 1986)) NIL