(DEFINE-FILE-INFO §READTABLE "INTERLISP" §PACKAGE "INTERLISP") (FILECREATED " 3-Nov-86 11:56:13" ("compiled on " {ERIS}SOURCES>ADDARITH.;26) "31-Oct-86 17:14:43" "COMPILE-FILEd" in "Xerox Lisp 31-Oct-86 ..." dated "31-Oct-86 17:48:39") (FILECREATED " 3-Nov-86 11:55:32" {ERIS}SOURCES>ADDARITH.;26 31689 previous date%: "24-Oct-86 20:02:57" {ERIS}SOURCES>ADDARITH.;25) (RPAQQ ADDARITHCOMS ((LOCALVARS . T) (* ; "OK") (MACROS MASK.1'S MASK.0'S BITTEST BITSET BITCLEAR) ( COMS (OPTIMIZERS LOGNOT) (FNS 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) (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 (LOGNOT MASK)))) CL::optimize-LOGNOT D1 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) @gmÿHhNIL (8 LOGXOR) () (LET* ((A0509 (QUOTE LOGNOT)) (A0510 (QUOTE COMPILER:OPTIMIZER-LIST)) (A0512 (CL:ADJOIN (QUOTE CL::optimize-LOGNOT) (GET A0509 A0510)))) (PUTPROP A0509 A0510 A0512)) LOGNOT D1 (L (0 INTEGER)) @mÿæNIL 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)) Y@1Hi Hi º¹J3 ²#I3 ²gIJh[dždiðª3µ gKhggggIggJh(17 LISPFORM.SIMPLIFY 10 LISPFORM.SIMPLIFY) (76 _ 73 BYTESPEC.POSITION 69 _ 66 BYTESPEC.SIZE 63 BYTESPEC 60 create 52 QUOTE 32 BYTESPEC) () (LET* ((A0514 (QUOTE BYTE)) (A0515 (QUOTE COMPILER:OPTIMIZER-LIST)) (A0517 (CL:ADJOIN (QUOTE CL::optimize-BYTE) (GET A0514 A0515)))) (PUTPROP A0514 A0515 A0517)) CL::optimize-DPB D1 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) @ (4 \DPBEXPANDER) NIL () (LET* ((A0519 (QUOTE DPB)) (A0520 (QUOTE COMPILER:OPTIMIZER-LIST)) (A0522 (CL:ADJOIN (QUOTE CL::optimize-DPB) (GET A0519 A0520)))) (PUTPROP A0519 A0520 A0522)) CL::optimize-LDB D1 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) @ (4 \LDBEXPANDER) NIL () (LET* ((A0524 (QUOTE LDB)) (A0525 (QUOTE COMPILER:OPTIMIZER-LIST)) (A0527 (CL:ADJOIN (QUOTE CL::optimize-LDB) (GET A0524 A0525)))) (PUTPROP A0524 A0525 A0527)) (PUTPROPS BYTESIZE MACRO ((BYTESPEC) (fetch BYTESPEC.SIZE of BYTESPEC))) (PUTPROPS BYTEPOSITION MACRO ((BYTESPEC) (fetch BYTESPEC.POSITION of BYTESPEC))) LDB D1 (L (1 INTEGER 0 BYTESPEC)) A@ @kHçkÙå(7 RSH) NIL () DPB D1 (L (2 INTEGER 1 BYTESPEC 0 NEWBYTE)) #BAAHkJçkÙIçmÿæå@kJçkÙåIçäNIL NIL () BYTE D1 (L (1 POSITION 0 SIZE)) g@AhNIL (2 BYTESPEC) () \LDBEXPANDER D1 (L (0 X))  €@i X@YH ZµKIi [Hd¢±Ÿdg𢱕\H]K 3 ³KL ²[KM ²TLM ²MgIMLhgð²±gIJ^dždiðª3µ gNhJ_dŸdið«3µ gOhhgoogIohLMhlð²)K 3 ¦HK ²gIgHhgHhhgoogIohHh(209 ARGS.COMMUTABLEP 200 EVALUABLE.CONSTANTP 80 ARGS.COMMUTABLEP 73 ARGS.COMMUTABLEP 66 ARGS.COMMUTABLEP 56 EVALUABLE.CONSTANTP 26 LISPFORM.SIMPLIFY 17 EVALUABLE.CONSTANTP 8 LISPFORM.SIMPLIFY) (249 LOADBYTE 238 LAMBDA 225 BYTESIZE 218 BYTEPOSITION 214 LOADBYTE 171 LOADBYTE 160 LAMBDA 146 QUOTE 124 QUOTE 105 LOADBYTE 99 BYTESPEC 85 LOADBYTE 39 BYTE) ( 254 ((BYTEPOSITION \PositionSize) (BYTESIZE \PositionSize)) 246 (DECLARE (LOCALVARS \PositionSize)) 242 (\PositionSize) 176 (\Byteposition \Bytesize) 168 (DECLARE (LOCALVARS \Bytesize \Byteposition)) 164 (\Bytesize \Byteposition)) \DPBEXPANDER D1 (L (0 X)) ‰ @@i @i £ Id²dgð²doô˜_µ0I _µTHi ^dJ hðµOhð´ NI hð]d²vg°rgð²ÍO_O_¿»OO_¿¼K ´L _¿°°gð²¨O_dŸdið«3µ gOh»O_dŸdið«3µ gOh¼i_¿±ÿoH_K²ML²JO¬KL ²JI žgJLKOh°sgoogJggOhhKLh°JIlð²$JI ²gJgIhgIhOh°!i½googJohIh_M²gooOhHhO(299 ARGS.COMMUTABLEP 230 ARGS.COMMUTABLEP 223 ARGS.COMMUTABLEP 135 EVALUABLE.CONSTANTP 129 EVALUABLE.CONSTANTP 84 ARGS.COMMUTABLEP 69 ARGS.COMMUTABLEP 63 LISPFORM.SIMPLIFY 53 EVALUABLE.CONSTANTP 16 LISPFORM.SIMPLIFY 8 LISPFORM.SIMPLIFY) (368 LAMBDA 344 DEPOSITBYTE 333 LAMBDA 315 BYTESIZE 308 BYTEPOSITION 304 DEPOSITBYTE 267 \Bytesize 264 \Byteposition 260 DEPOSITBYTE 249 LAMBDA 234 DEPOSITBYTE 193 QUOTE 167 QUOTE 145 BYTESPEC 99 LIST 93 \NewByte 29 CONS) ( 376 (DECLARE (LOCALVARS \NewByte)) 372 (\NewByte) 349 ((BYTEPOSITION \ByteSpec) (BYTESIZE \ByteSpec) \NewByte) 341 (DECLARE (LOCALVARS \ByteSpec)) 337 (\ByteSpec) 257 (DECLARE (LOCALVARS \Bytesize \Byteposition)) 253 (\Bytesize \Byteposition) 39 (QUOTE BYTESPEC)) optimize-IMOD D1 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) '@H µgYd ²ögHIkÙh(22 POWEROFTWOP 10 CONSTANTEXPRESSIONP) (27 LOGAND 15 IGNOREMACRO) () (LET* ((A0529 (QUOTE IMOD)) (A0530 (QUOTE COMPILER:OPTIMIZER-LIST)) (A0532 (CL:ADJOIN (QUOTE optimize-IMOD) (GET A0529 A0530)))) (PUTPROP A0529 A0530 A0532)) 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 kHçkÙåkIçkÙHçmÿæå@kIçkÙåHçä(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ó²@AââââÐAlåb¿b¿°éBlAÕó²$@AlAÕCBlAÕÕb @kÐjb¿b¿¿°¿@dÈlAÕHkBçkÙIçmÿæåCkBçkÙåIçäHIÍI(53 \PUTBASEBITS 50 RSH) NIL () (PUTPROPS ADDARITH FILETYPE CL:COMPILE-FILE) (PUTPROPS ADDARITH COPYRIGHT ("Xerox Corporation" 1982 1983 1984 1985 1986)) NIL