(FILECREATED "16-May-86 11:38:26" ("compiled on " . {ERIS}SOURCES>LLBIGNUM.;16) "14-May-86 16:07:00" "COMPILE-FILEd" in "Xerox Lisp 14-May-86 ..." dated "14-May-86 16:39:45") (FILECREATED "14-May-86 10:47:48" {ERIS}SOURCES>LLBIGNUM.;16 32959 changes to: (FNS \BIGNUM.LOGOR \BIGNUM.LOGAND \BN.LOGANDC2) previous date: " 5-May-86 12:26:21" {ERIS}SOURCES>LLBIGNUM.;15) (RPAQQ LLBIGNUMCOMS ((COMS (DECLARE: EVAL@COMPILE DONTCOPY (RECORDS BIGNUM)) (INITRECORDS BIGNUM) ( CONSTANTS \BIGNUM.THETA (\BIGNUM.BETA (EXPT 2 14)) (\BIGNUM.BETA1 (SUB1 \BIGNUM.BETA))) (DECLARE: EVAL@COMPILE (ADDVARS (CHARACTERNAMES (INFINITY 8551)))) (ADDVARS (GLOBALVARS MIN.INTEGER MAX.INTEGER \BIG.0 \BIG.1))) (COMS (* entries) (FNS \BIGNUM.COMPARE \BIGNUM.DIFFERENCE \BIGNUM.INTEGERLENGTH \BIGNUM.LOGAND \BIGNUM.LOGOR \BIGNUM.LOGXOR \BIGNUM.PLUS \BIGNUM.LSH \BIGNUM.TIMES \BIGNUM.QUOTIENT \BIGNUM.REMAINDER \BIGNUM.TO.FLOAT)) (COMS (* internal functions) (FNS \BIGNUM.TO.INT \BN.2TH \BN.ABS \BN.DIFFERENCE \BN.DIVIDE \BN.FLOAT \BN.IGNN BIGNUM.DEFPRINT \BN.INTEGERLENGTH \BN.LOGAND \BN.LOGANDC2 \BN.LOGOR \BN.LOGXOR \BN.MINUS \BN.PLUS2 \BN.SIGN \BN.TIMES2 \BN.COMPAREN \BN.D2TH \BN.FROM.FIXP \BN.ICANON \BN.IDIVIDE \BN.ISUM0 \BN.ISUM1 \BN.MADD \BN.TO.FIXP \BN.NZEROS \BN.QRS \BN.SIGN \BN.TH2B \BN.TH2D)) (COMS (FNS \INITBIGNUMS) (* MAKERATIONAL needs work) (* needs work: MASK.1'S MASK.0'S BITTEST BITSET BITCLEAR LOGNOT LOADBYTE DEPOSITBYTE IMODLESSP IMODPLUS IMODDIFFERENCE ROT) (DECLARE: DONTEVAL@LOAD DOCOPY (P (\INITBIGNUMS)))))) (/DECLAREDATATYPE (QUOTE BIGNUM) (QUOTE (POINTER)) (QUOTE ((BIGNUM 0 POINTER))) (QUOTE 2)) (DEFPRINT (QUOTE BIGNUM) (QUOTE BIGNUM.DEFPRINT)) (RPAQQ \BIGNUM.THETA 10000) (FUNCALL (FUNCTION RPAQ) (QUOTE \BIGNUM.BETA) (QUOTE (EXPT 2 14))) (FUNCALL (FUNCTION RPAQ) (QUOTE \BIGNUM.BETA1) (QUOTE (SUB1 \BIGNUM.BETA))) (CONSTANTS \BIGNUM.THETA (\BIGNUM.BETA (EXPT 2 14)) (\BIGNUM.BETA1 (SUB1 \BIGNUM.BETA))) (ADDTOVAR CHARACTERNAMES (INFINITY 8551)) (ADDTOVAR GLOBALVARS MIN.INTEGER MAX.INTEGER \BIG.0 \BIG.1) \BIGNUM.COMPARE D1 (I 1 Y I 0 X) <@d`A`jm`A`kAd``@ A (71Q \BN.COMPAREN 66Q \BN.FROM.FIXP 62Q \BN.FROM.FIXP) (53Q MAX.INTEGER 45Q MIN.INTEGER 33Q MAX.INTEGER 25Q MAX.INTEGER 13Q MIN.INTEGER 4 MIN.INTEGER) () \BIGNUM.DIFFERENCE D1 (I 1 Y I 0 X) @ A (15Q \BN.TO.FIXP 12Q \BN.DIFFERENCE 7 \BN.FROM.FIXP 3 \BN.FROM.FIXP) NIL () \BIGNUM.INTEGERLENGTH D1 (I 0 X) @ (6 \BN.INTEGERLENGTH 3 \BN.FROM.FIXP) NIL () \BIGNUM.LOGAND D1 (I 1 Y I 0 X) N@jAjjjdA$@m@mAm@ mA @A@bb@ A (113Q \BN.TO.FIXP 110Q \BN.LOGAND 105Q \BN.FROM.FIXP 101Q \BN.FROM.FIXP 60Q \BN.TO.FIXP 55Q \BN.LOGANDC2 52Q \BN.FROM.FIXP 43Q \BN.FROM.FIXP) NIL () \BIGNUM.LOGOR D1 (I 1 Y I 0 X) 1@jAAj@@jAj@ A md@mA(42Q \BN.TO.FIXP 37Q \BN.LOGOR 34Q \BN.FROM.FIXP 30Q \BN.FROM.FIXP) NIL () \BIGNUM.LOGXOR D1 (I 1 Y I 0 X) &j@jA@A @A @ A (43Q \BN.TO.FIXP 40Q \BN.LOGXOR 35Q \BN.FROM.FIXP 31Q \BN.FROM.FIXP 24Q \BIGNUM.DIFFERENCE 21Q \BIGNUM.LOGAND 14Q \BIGNUM.LOGOR) NIL () \BIGNUM.PLUS D1 (I 1 Y I 0 X) @ A (15Q \BN.TO.FIXP 12Q \BN.PLUS2 7 \BN.FROM.FIXP 3 \BN.FROM.FIXP) NIL () \BIGNUM.LSH D1 (I 1 N I 0 X) ,jA@lA @djljA  A (51Q MINUS 46Q \BIGNUM.LSH 42Q MINUS 36Q \BIGNUM.QUOTIENT 33Q EXPT 15Q \BIGNUM.TIMES 12Q EXPT) NIL () \BIGNUM.TIMES D1 (I 1 Y I 0 X) @ A (15Q \BN.TO.FIXP 12Q \BN.TIMES2 7 \BN.FROM.FIXP 3 \BN.FROM.FIXP) NIL () \BIGNUM.QUOTIENT D1 (I 1 Y I 0 X) @ A  (16Q \BN.TO.FIXP 12Q \BN.DIVIDE 7 \BN.FROM.FIXP 3 \BN.FROM.FIXP) NIL () \BIGNUM.REMAINDER D1 (I 1 Y I 0 X) @ A  (16Q \BN.TO.FIXP 12Q \BN.DIVIDE 7 \BN.FROM.FIXP 3 \BN.FROM.FIXP) NIL () \BIGNUM.TO.FLOAT D1 (I 0 X) @ (6 \BN.FLOAT 3 \BN.FROM.FIXP) NIL () \BIGNUM.TO.INT D1 (I 0 X) @d@ n@(13Q \BIGNUM.TO.INT) NIL () \BN.2TH D1 (P 1 B P 0 L I 0 A)  @In' XbHI(15Q \BN.QRS) NIL () \BN.ABS D1 (I 0 U) j@ @ @(12Q \BN.MINUS 4 \BN.SIGN) NIL () \BN.DIFFERENCE D1 (I 1 V I 0 U) @A (7 \BN.PLUS2 4 \BN.MINUS) NIL () \BN.DIVIDE D1 (P 32Q L2 P 31Q L1 P 30Q BIP P 27Q IP P 26Q X P 25Q Q P 24Q V P 23Q U P 22Q R2 P 21Q R1 P 20Q C1 P 17Q QHAT P 16Q A3 P 15Q A2 P 14Q A1 P 13Q B2 P 12Q B1 P 11Q F P 10Q E P 7 W P 6 D P 5 C P 4 ST P 3 SA P 2 K P 1 N P 0 M I 2 FLG I 1 B I 0 A) #P"@A`@@A _0BghO0 @ A HIٺjJ@ A_&Ikk_8_6O8O6O&_&O8k_8O&kjMmjMٽn@Mk۾KL_@KN bALN b@_&h_2Jkk_<_:OO@O>O&O4_4O&_&O@k_@O&O&j&A_&Ilk_D_BODOBO&_&ODk_DO&_O&_O4_&_O&_&_O&_&_O&_&OOn?On@OO_On@ _.OO._"OO._$jO$O$n@_$O"k_"O"j5OOn@ _.O$O._"jOO._$jO"jO$OkٰO2_&A_(j_ jO_O(n@ _.O(_(O._O&_O OO.n@ _._O._ jOOn@_O kفO O_ O&OO&_,_&O(O&O _O,`OjKO2_&A_(j_ Ok_O&_O(_O(_(O OOn@ _.O&O.O&_&O(OjO*OOO*_*O2_2O4_&O4_4O2YO*Bgh @KN (1364Q \BN.QRS 1243Q \BN.IDIVIDE 1037Q \BN.IDIVIDE 773Q \BN.IDIVIDE 665Q \BN.IDIVIDE 572Q \BN.IDIVIDE 240Q \BN.TIMES2 235Q \BN.FROM.FIXP 223Q \BN.TIMES2 220Q \BN.FROM.FIXP 107Q \BN.SIGN 71Q FLENGTH 64Q FLENGTH 56Q \BN.FROM.FIXP 34Q \BN.QRS) (1350Q QUOTIENT 1146Q \BIG.0 43Q QUOTIENT 20Q \BIG.0) () \BN.FLOAT D1 (I 0 X) @o@ o(15Q \BN.FLOAT) NIL ( 21Q 16384.0 6 0.0) \BN.IGNN D1 (P 0 Y I 0 U) (@hn@@@h@n@X@Hn@bdH (44Q \BN.FROM.FIXP) NIL () BIGNUM.DEFPRINT D1 (P 11Q C P 10Q CHARS P 7 B P 6 L P 5 ELS P 4 TH P 1 RADIX P 0 R I 1 STREAM I 0 BIGN F 12Q *READTABLE* F 13Q \THISFILELINELENGTH F 14Q *PRINT-BASE* F 15Q *PRINT-RADIX*) L @`@`#W o @`ggWHdkHHdl$H !Idl n'lnIZIdn@J@!M2OIL WIdl,W jOlQh iL ^NO_Illo