(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP") (FILECREATED "24-Oct-86 20:03:47" ("compiled on " {ERIS}SOURCES>ADDARITH.;25) "12-Oct-86 23:04:15" "COMPILE-FILEd" in "Xerox Lisp 12-Oct-86 ..." dated "12-Oct-86 23:41:02") (FILECREATED "24-Oct-86 20:02:57" {ERIS}SOURCES>ADDARITH.;25 32689 changes to%: (MACROS \GETBASENIBBLE \PUTBASENIBBLE \GETBASEBIT \PUTBASEBIT LOADBYTE DEPOSITBYTE) (VARS ADDARITHCOMS) (FNS \RTIMES2 \RATIONALIZE \RPLUS2 \RMINUS CREATERATIONAL RATIONALTOINTEGER) (RECORDS RATIONAL) previous date%: " 7-Oct-86 15:48:41" {ERIS}SOURCES>ADDARITH.;24) (RPAQQ ADDARITHCOMS ((LOCALVARS . T) (* ; "OK") (MACROS MASK.1'S MASK.0'S BITTEST BITSET BITCLEAR) ( COMS (OPTIMIZERS CL:LOGNOT) (FNS CL:LOGNOT)) (COMS (* ; "BYTE hacking functions") (RECORDS BYTESPEC) ( MACROS LOADBYTE DEPOSITBYTE) (* ; "NOT OK YET") (OPTIMIZERS BYTE DPB LDB) (MACROS BYTESIZE BYTEPOSITION) (FNS LDB DPB BYTE) (FNS \LDBEXPANDER \DPBEXPANDER)) (COMS (OPTIMIZERS IMOD) (FNS IMODLESSP) (MACROS IMODPLUS IMODDIFFERENCE)) (COMS (FNS ROT) (MACROS .ROT.)) (COMS (* ;; "Primitive Functions for extracting fields as integers") (MACROS \XLOADBYTEWORD) (FNS \PUTBASEBITS) (* ;; "Primitive functions, especially needed for CommonLisp array package.") (DECLARE%: DONTCOPY ( MACROS .HIHALFWORDLO. .HIHALFWORDHI. .LOHALFWORDLO. .LOHALFWORDHI.) (MACROS \GETBASENIBBLE \PUTBASENIBBLE \GETBASEBIT \PUTBASEBIT))) (COMS (* ;; "Beginning of rewrite of some LLARITH things, modularly using the macros of this file") (DECLARE%: DONTCOPY (EXPORT (CONSTANTS MASK0WORD1'S MASK1WORD0'S MASKWORD1'S MASKHALFWORD1'S BITSPERHALFWORD) ( MACROS EQZEROP) (MACROS \MOVETOBOX .XUNBOX. .XLLSH. .XLLSH1. .XLRSH. .ADD.2WORD.INTEGERS. .SUB.2WORD.INTEGERS. .32BITMUL.) (MACROS .SUMSMALLMOD. .DIFFERENCESMALLMOD.)) (MACROS .ADD.2WORD.INTEGERS. .SUB.2WORD.INTEGERS. .32BITMUL.))) (PROP FILETYPE ADDARITH))) (PUTPROPS MASK.1'S MACRO (OPENLAMBDA (POSITION SIZE) (LSH (SUB1 (LSH 1 SIZE)) POSITION))) (PUTPROPS MASK.0'S MACRO (OPENLAMBDA (POSITION SIZE) (CL:LOGNOT (MASK.1'S POSITION SIZE)))) (PUTPROPS BITTEST MACRO ((N MASK) (NEQ 0 (LOGAND N MASK)))) (PUTPROPS BITSET MACRO (= . LOGOR)) (PUTPROPS BITCLEAR MACRO ((X MASK) (LOGAND X (CL:LOGNOT MASK)))) CL::optimize-LOGNOT D1 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) @gmHhNIL (8 LOGXOR) () (PUTPROP (QUOTE CL:LOGNOT) (QUOTE COMPILER%:OPTIMIZER-LIST) (UNION (GETPROP (QUOTE CL:LOGNOT) (QUOTE COMPILER%:OPTIMIZER-LIST)) (LIST (QUOTE CL::optimize-LOGNOT)))) CL:LOGNOT D1 (L (0 CL:INTEGER)) @mNIL NIL () (TYPERECORD BYTESPEC (BYTESPEC.SIZE BYTESPEC.POSITION)) (PUTPROPS LOADBYTE MACRO ((N POS SIZE) (LOGAND (RSH N POS) (MASK.1'S 0 SIZE)))) (PUTPROPS DEPOSITBYTE MACRO (OPENLAMBDA (N POS SIZE VAL) (LOGOR (BITCLEAR N (MASK.1'S POS SIZE)) (LSH (LOGAND VAL (MASK.1'S 0 SIZE)) POS)))) CL::optimize-BYTE D1 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) _@1Hi Hi J3 )I3 $gIJh[ddi3higKhKggggIggJh(17 LISPFORM.SIMPLIFY 10 LISPFORM.SIMPLIFY) (82 _ 79 BYTESPEC.POSITION 75 _ 72 BYTESPEC.SIZE 69 BYTESPEC 66 create 56 QUOTE 32 BYTESPEC) () (PUTPROP (QUOTE BYTE) (QUOTE COMPILER%:OPTIMIZER-LIST) (UNION (GETPROP (QUOTE BYTE) (QUOTE COMPILER%:OPTIMIZER-LIST)) (LIST (QUOTE CL::optimize-BYTE)))) CL::optimize-DPB D1 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) @ (4 \DPBEXPANDER) NIL () (PUTPROP (QUOTE DPB) (QUOTE COMPILER%:OPTIMIZER-LIST) (UNION (GETPROP (QUOTE DPB) (QUOTE COMPILER%:OPTIMIZER-LIST)) (LIST (QUOTE CL::optimize-DPB)))) CL::optimize-LDB D1 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) @ (4 \LDBEXPANDER) NIL () (PUTPROP (QUOTE LDB) (QUOTE COMPILER%:OPTIMIZER-LIST) (UNION (GETPROP (QUOTE LDB) (QUOTE COMPILER%:OPTIMIZER-LIST)) (LIST (QUOTE CL::optimize-LDB)))) (PUTPROPS BYTESIZE MACRO ((BYTESPEC) (fetch BYTESPEC.SIZE of BYTESPEC))) (PUTPROPS BYTEPOSITION MACRO ((BYTESPEC) (fetch BYTESPEC.POSITION of BYTESPEC))) LDB D1 (L (1 CL:INTEGER 0 BYTESPEC)) A@ @kHk(7 RSH) NIL () DPB D1 (L (2 CL:INTEGER 1 BYTESPEC 0 NEWBYTE)) #BAAHkJkIm@kJkINIL NIL () BYTE D1 (L (1 POSITION 0 SIZE)) g@AhNIL (2 BYTESPEC) () \LDBEXPANDER D1 (L (0 X)) @i X@YH ZKIi [Hddg\H]K 3 KL iKM bLM [gIMLhggIJ^ddi3higNhNJ_ddi3higOhOhgoogIohLMhl)K 3 HK gIgHhgHhhgoogIohHh(223 ARGS.COMMUTABLEP 214 EVALUABLE.CONSTANTP 80 ARGS.COMMUTABLEP 73 ARGS.COMMUTABLEP 66 ARGS.COMMUTABLEP 56 EVALUABLE.CONSTANTP 26 LISPFORM.SIMPLIFY 17 EVALUABLE.CONSTANTP 8 LISPFORM.SIMPLIFY) (263 LOADBYTE 252 LAMBDA 239 BYTESIZE 232 BYTEPOSITION 228 LOADBYTE 185 LOADBYTE 174 LAMBDA 157 QUOTE 128 QUOTE 105 LOADBYTE 99 BYTESPEC 85 LOADBYTE 39 BYTE) ( 268 ((BYTEPOSITION \PositionSize) (BYTESIZE \PositionSize)) 260 (DECLARE (LOCALVARS \PositionSize)) 256 (\PositionSize) 190 (\Byteposition \Bytesize) 182 (DECLARE (LOCALVARS \Bytesize \Byteposition)) 178 (\Bytesize \Byteposition)) \DPBEXPANDER D1 (L (0 X))  @@i @i  Iddgdo_I _BHi ^dJ hgO_O_OO_K L _gO_ddi3higOhOO_ddi3higOhOi_qiOhi NI hi]dgH_KMLJOKL JI gJLKOhsgoogJggOhhKLhJIl$JI gJgIhgIhOh!igoogJohIh_MgooOhHhO(324 ARGS.COMMUTABLEP 255 ARGS.COMMUTABLEP 248 ARGS.COMMUTABLEP 220 ARGS.COMMUTABLEP 117 EVALUABLE.CONSTANTP 111 EVALUABLE.CONSTANTP 69 ARGS.COMMUTABLEP 63 LISPFORM.SIMPLIFY 53 EVALUABLE.CONSTANTP 16 LISPFORM.SIMPLIFY 8 LISPFORM.SIMPLIFY) (393 LAMBDA 369 DEPOSITBYTE 358 LAMBDA 340 BYTESIZE 333 BYTEPOSITION 329 DEPOSITBYTE 292 \Bytesize 289 \Byteposition 285 DEPOSITBYTE 274 LAMBDA 259 DEPOSITBYTE 230 \NewByte 188 QUOTE 154 QUOTE 127 BYTESPEC 81 LIST 29 CONS) ( 401 (DECLARE (LOCALVARS \NewByte)) 397 (\NewByte) 374 ((BYTEPOSITION \ByteSpec) (BYTESIZE \ByteSpec) \NewByte) 366 (DECLARE (LOCALVARS \ByteSpec)) 362 (\ByteSpec) 282 (DECLARE (LOCALVARS \Bytesize \Byteposition)) 278 (\Bytesize \Byteposition) 39 (QUOTE BYTESPEC)) optimize-IMOD D1 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) +@H gYd higHIkh(22 POWEROFTWOP 10 CONSTANTEXPRESSIONP) (31 LOGAND 15 IGNOREMACRO) () (PUTPROP (QUOTE IMOD) (QUOTE COMPILER%:OPTIMIZER-LIST) (UNION (GETPROP (QUOTE IMOD) (QUOTE COMPILER%:OPTIMIZER-LIST)) (LIST (QUOTE optimize-IMOD)))) IMODLESSP D1 (L (2 MODULUS 1 Y 0 X)) A@B Bk(6 IMOD) NIL () (PUTPROPS IMODPLUS MACRO ((X Y MODULUS) (IMOD (IPLUS X Y) MODULUS))) (PUTPROPS IMODDIFFERENCE MACRO ((X Y MODULUS) (IMOD (IDIFFERENCE X Y) MODULUS))) ROT D1 (L (2 FIELDSIZE 1 N 0 X)) .AB BHٹ@I kHkkIkHm@kIkH(16 RSH 4 IMOD) NIL () (PUTPROPS .ROT. MACRO ((XFORM N FIELDSIZE) ((OPENLAMBDA (X) (DEPOSITBYTE (LOADBYTE X (IDIFFERENCE FIELDSIZE N) N) N (IDIFFERENCE FIELDSIZE N) X)) XFORM))) (PUTPROPS \XLOADBYTEWORD DMACRO ((N POS SIZE) (* N is constrained to be a SMALLP) (LOGAND (\XLRSHWORD N POS) (MASK.1'S 0 (IMIN BITSPERWORD SIZE))))) \PUTBASEBITS D1 (L (3 VAL 2 SIZE 1 POSITION 0 ADDR)) oAl@AAlbbBlA$@AlACBlAb @kjbb@dlAHkBkImCkBkIHII(53 \PUTBASEBITS 50 RSH) NIL () (PUTPROPS ADDARITH FILETYPE CL:COMPILE-FILE) (PUTPROPS ADDARITH COPYRIGHT ("Xerox Corporation" 1982 1983 1984 1985 1986)) NIL