(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (FILECREATED "25-Jan-98 02:08:33" ("compiled on " {DSK}sources>ADDARITH.;1) "30-Mar-95 20:33:04" "COMPILE-FILEd" in "Medley 14-Aug-95 ..." dated "14-Aug-95 15:27:48") (FILECREATED "16-May-90 11:46:37" {DSK}local>lde>lispcore>sources>ADDARITH.;2 27815 changes to%: (VARS ADDARITHCOMS) previous date%: "30-Mar-89 11:13:59" {DSK}local>lde>lispcore>sources>ADDARITH.;1) (RPAQQ ADDARITHCOMS ((LOCALVARS . T) (* ; "OK") (MACROS MASK.1'S MASK.0'S BITTEST BITSET BITCLEAR) ( COMS (OPTIMIZERS LOGNOT) (FNS LOGNOT)) (COMS (* ; "BYTE hacking functions") (MACROS LOADBYTE DEPOSITBYTE) (MACROS BYTESIZE BYTEPOSITION)) (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.))) (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 \GETBASENIBBLE \PUTBASENIBBLE \GETBASEBIT \PUTBASEBIT)) (MACROS .ADD.2WORD.INTEGERS. .SUB.2WORD.INTEGERS. .32BITMUL.) )) (PROP (MAKEFILE-ENVIRONMENT 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 :D8 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) @gmÿHhNIL (10 LOGXOR) () (PUTPROP (QUOTE LOGNOT) (QUOTE COMPILER:OPTIMIZER-LIST) (CL:ADJOIN (QUOTE CL::optimize-LOGNOT) (GET ( QUOTE LOGNOT) (QUOTE COMPILER:OPTIMIZER-LIST)))) LOGNOT :D8 (L (0 INTEGER)) @mÿæNIL NIL () (PUTPROPS LOADBYTE MACRO ((N POS SIZE) (LOGAND (LSH N (IMINUS 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)))) (PUTPROPS BYTESIZE MACRO ((BYTESPEC) (BYTE-SIZE BYTESPEC))) (PUTPROPS BYTEPOSITION MACRO ((BYTESPEC) (CL:BYTE-POSITION BYTESPEC))) optimize-IMOD :D8 (L (2 $$CTX 1 $$ENV 0 $$WHOLE)) /@H µgYd ²ògHIkÙh(28 POWEROFTWOP 12 CONSTANTEXPRESSIONP) (35 LOGAND 19 IGNOREMACRO) () (PUTPROP (QUOTE IMOD) (QUOTE COMPILER:OPTIMIZER-LIST) (CL:ADJOIN (QUOTE optimize-IMOD) (GET (QUOTE IMOD) (QUOTE COMPILER:OPTIMIZER-LIST)))) IMODLESSP :D8 (L (2 MODULUS 1 Y 0 X)) A@ÙB BkØâýñ(8 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 :D8 (L (2 FIELDSIZE 1 N 0 X)) 0AB BHÙ¹@jIÙçkHçkÙåkIçkÙHçmÿæå@kIçkÙåHçä(6 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 :D8 (L (3 VAL 2 SIZE 1 POSITION 0 ADDR)) qAló²@AââââÐAlåb¿b¿°éBlAÕó²&@AlAÕCjBlAÕÕbÙç @kÐjb¿b¿¿°½@dÈlAÕHkBçkÙIçmÿæåCkBçkÙåIçäHIÍI(55 \PUTBASEBITS) NIL () (PUTPROPS ADDARITH MAKEFILE-ENVIRONMENT (:PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)) (PUTPROPS ADDARITH FILETYPE CL:COMPILE-FILE) (PUTPROPS ADDARITH COPYRIGHT ("Venue & Xerox Corporation" 1982 1983 1984 1985 1986 1987 1989 1990)) NIL