(FILECREATED " 4-Oct-86 17:43:22" ("compiled on " {ERIS}SOURCES>LLFLOAT.;48) " 1-Oct-86 20:23:15" recompiled exprs: \INIT.POWERS.OF.TEN in "Xerox Lisp 1-Oct-86 ..." dated " 1-Oct-86 21:24:44") (FILECREATED " 4-Oct-86 17:41:25" {ERIS}SOURCES>LLFLOAT.;48 87590 changes to: (VARS LLFLOATCOMS) (MACROS \HAND.FLOATUNBOX POLYEVAL \PUTBASEFLOATP \GETBASEFLOATP .FLOATUNBOX. .LLSH1. .LLSH8. .LRSHSTICKY. .ADDSMALL2. .ADDSMALL3. .SUBSMALL. \CALLER.ARGS) (FNS \INIT.POWERS.OF.TEN) previous date: "29-Aug-86 14:32:38" {ERIS}SOURCES>LLFLOAT.;47) \PUTBASEFLOATP D1 (L (2 VAL 1 OFFST 0 BASE)) @ABHIJJNIL NIL () \GETBASEFLOATP D1 (L (1 OFFST 0 BASE)) @AdNIL NIL () FTIMES D1 (L (0 N)) -ekHdjok@@IHIkعJIaJNIL (30Q FLOATP) ( 20Q 1.0) FPLUS D1 (L (0 N)) -ekHdjok@@IHIkعJIaJNIL (30Q FLOATP) ( 20Q 0.0) FQUOTIENT D1 (L (1 Y 0 X)) @ANIL NIL () FDIFFERENCE D1 (L (1 Y 0 X)) @ANIL NIL () FGREATERP D1 (L (1 Y 0 X)) @ANIL NIL () FABS D1 (L (0 X)) @NIL NIL () \SLOWFDIFFERENCE D1 (NAME FDIFFERENCE L (1 Y 0 X)) @Ai (5 \BOXFPLUSDIF) NIL () \SLOWFPLUS2 D1 (NAME FPLUS L (1 Y 0 X)) @A (4 \BOXFPLUSDIF) NIL () \SLOWFTIMES2 D1 (NAME FTIMES L (1 Y 0 X)) @A (4 \BOXFTIMES2) NIL () \SLOWFQUOTIENT D1 (NAME FQUOTIENT L (1 Y 0 X)) @A (4 \BOXFQUOTIENT) NIL () \SLOWFGREATERP D1 (L (1 Y 0 X)) @XAS@AHndInfjHIHI@AIHHI{A@@@dl8@@Hn$IjHjnHkظnHٸnIkعkj)k7j@j@j@k@jkjn@kعHdjIdjj@b}jll@b@lHdlIظIlKlٻHnjKHIdnHkԸInKk@@@@[djLHjIjkHIظIlAAdlEAALn1MjLj%nLkؼlHlذnLټnMkؽkj)k:jAjAjAkAjkjnAkؽLdj Mdjj_AbmjllAbFl_LdlMؼMlOl_LnjOLMdnLkԼMnOkAAAA_dj#LjMjk_LMؼMlJdNjlLlذjKO/KO)HL$HLIMOKOKLH LHMINIL (1007Q FLOATP 764Q FLOATP 362Q FLOATP 337Q FLOATP) () \FZEROP D1 (L (0 X)) @j@jNIL (3 FLOATP) () FEQP D1 (L (1 Y 0 X)) @4A/@Ay@Al@j`Aj@@dl8@@Jn$KjJjnJkغnJٺnKkػkj)k7j@j@j@k@jkjn@kػJdjKdjj@b}jll@b@lJdlKغKlIlٹJnjKJKdnJkԺKnIk@@@@YdjOJjKjkJKغKlAAdlKAA_Nn5OjNj(nNkؾlJlذnNپnOk_kj+k:jAjAjAkAjkjnAk_Ndj OdjjAbgj_llAbHlNdlOؾOl_MlٽNnjVNOdnNkԾOn_MkAA_AA]djANjOjkNOؾOl_JNKOIMHLIj JjKjlNlذNIL (753Q FLOATP 726Q FLOATP 316Q FLOATP 273Q FLOATP) () FLOAT D1 (L (0 X)) @NIL (3 FLOATP) () \FLOAT D1 (P 11Q SIGN P 10Q LO P 7 HI P 6 LO P 5 SIGN P 4 HI P 3 $$TYPE-VALUE P 2 A0614 P 1 $$TYPE-VALUE P 0 A0611 I 0 X) @HIdl@3 @@Kdk3jjj@@k@jkjn@kMlLNi lS@@j On3OjOj#nOk_nO_nOk_k_OlOOi K`@ gJo I`@ @ igHo b(343Q CHECK-TYPE-FAIL 325Q RATIO-DENOMINATOR 321Q RATIO-NUMERATOR 305Q CHECK-TYPE-FAIL 271Q \BIGNUM.TO.FLOAT 254Q \MAKEFLOAT 125Q \MAKEFLOAT) (333Q X 313Q RATIOTYPE# 275Q X 262Q BIGNUMTYPE#) ( 340Q (OR FLOAT INTEGER RATIO) 302Q (OR DATATYPE SMALLP DATATYPE FIXP DATATYPE BIGNUM)) \FIXP.FROM.FLOATP D1 (L (0 X)) P@@dl8@@Jn$KjJjnJkغnJٺnKkػkj)k3j@j@j@k@jkjn@kػJdjKdjj@bjll@b@lJdlKغKlIlٹJnjLJKdnJkԺKnIk@@@@YdjSJjKjkJKغKlIl~ٹjInIl Il 5HjJdnKj$JlKԼHkL lJlذLIl ll IY(JIl jZHkCKj0Jdj9nJkذ/IdjKJdkjKnػJkٰnJٺnKkػJK(540Q LRSH 473Q MINUS) (222Q FLOATP 200Q FLOATP) () FIXR D1 (L (0 X) F 5 \OVERFLOW) 0@3 ~P@@dl8@@Jn$KjJjnJkغnJٺnKkػkj)k3j@j@j@k@jkjn@kػJdjKdjj@bjll@b@lJdlKغKlIlٹJnjLJKdnJkԺKnIk@@@@Ydj5JjKjkJKغKlIl~ٹjInl I@ojlJlذIl Il +HjJnKjUi@l2i HjoolI$l IdjKJdkjKnػJkllIYKJKjjlIl jZKlKJlػJLlLl@Kkj9Kdn-jJkZ'IdjKKkJdkjKnػJkٰk[Hk#KjJdjnJk؎nJٺnKkػJK(646Q LRSH 524Q \LISPERROR) (227Q FLOATP 205Q FLOATP) ( 542Q -20000000000Q 535Q 17777777777Q 437Q .5) \BOXFPLUSDIF D1 (L (3 BOX 2 SUBTRACT 1 Y 0 X))   AAdl?AA_Nn)OjNjnNkؾnNپnOk_kj+k:jAjAjAkAjkjnAk_Ndj OdjjAbsj_llAbHlNdlOؾOl_MlٽNnjVNOdnNkԾOn_MkAA_AA]djWNjOjkNOؾOl_BkLټ@@dlE@@Jn1KjJj%nJkغlNlذnJٺnKkػkj)k?j@j@j@k@jkjn@kػJdj%KdjLMNOhC @bhjll@b@lJdlKغKlIlٹJnjNJKdnJkԺKnIk@@@@Ydj4JjKj{kJKغKlNjOjTIlHC lJlذMlLC IM_dj3dlNkdjUOOk_NdkjOn_j3mOjOdjKKkJdkjKnػJkMYHLsKdnOnOkٻkOػj_JdnNOnNdjOj_kOٺkNOغjkmKKkJdkjKnػJnԺIkYJNdJJdNOKNJOK_LJnjh_JNOKKOٻjnOKkػkZHIJKOC (1655Q \MAKEFLOAT 1162Q \INFINITY 1134Q \INFINITY 672Q \MAKEFLOAT) (722Q FLOATP 677Q FLOATP 243Q FLOATP 216Q FLOATP) () \BOXFQUOTIENT D1 (L (2 BOX 1 Y 0 X) F 12Q \OVERFLOW)  jdddd @@dl?@@_Nn)OjNjnNkؾnNپnOk_kj+k:j@j@j@k@jkjn@k_Ndj Odjj@bsj_ll@bHlNdlOؾOl_MlٽNnjYNOdnNkԾOn_Mk@@_@@]dj^NjOjekNOؾOl_AAdlUA_A_On@4 j@@ b@djXkdjoKHYjIdd > jdjXLNHMOLM_MjMM @LM@ AJL LM @l (255Q \LISPERROR 246Q \RATIONALIZE 240Q MINUS 226Q ABS 212Q \FZEROP 141Q \FZEROP 131Q \FZEROP 70Q MINUS) NIL ( 111Q 1.0 37Q 5.960465E-8) SQRT D1 (L (0 N)) s@hoHOo@ HllnllHljYldj%n?jIHIkٰHdooI(30Q ERROR) NIL ( 154Q 0.0 145Q 0.0 24Q "SQRT OF NEGATIVE VALUE" 12Q 0.0) \UNBOXFLOAT1 D1 (L (0 OP)) 3@dj<f1kHY`IlYdZIl kHIl[JKJKk8f1kHY`IlYdZIl kHIJ[K@dl7fhkHZ`JlZdYJl kHJI l6fhkHZ`JlZdYJl kHJI @l3fhkHZ`JlZdYJl kHJIjo@ (460Q HELP 434Q \MAKEFREEBLOCK 372Q \SLOWRETURN 356Q FMINUS 342Q \MAKEFREEBLOCK 300Q \SLOWRETURN 265Q ABS 251Q \MAKEFREEBLOCK 207Q \SLOWRETURN 152Q \MAKEFREEBLOCK 111Q \SLOWRETURN 55Q \MAKEFREEBLOCK 14Q \SLOWRETURN 2 \SLOWRETURN) (410Q \STACKSPACE 316Q \STACKSPACE 225Q \STACKSPACE 164Q FLOATP 126Q \STACKSPACE 31Q \STACKSPACE) ( 454Q "\UNBOXFLOAT1 called with illegal op ") \UNBOXFLOAT2 D1 (L (0 OP)) & fhd kH[`Kl[dZ`Kl[dYKl kHK@djIJ\LkIJ]M@dlJI^NlIJ_O@dlIJ_OlIJ@dlIJ _OlIJ _O@lIJ _Oo@ (443Q HELP 416Q FREMAINDER 362Q FMIN 327Q FMAX 66Q \MAKEFREEBLOCK 2 \SLOWRETURN) (421Q FLOATP 365Q FLOATP 332Q FLOATP 260Q FLOATP 224Q FLOATP 175Q FLOATP 143Q FLOATP 115Q FLOATP 42Q \STACKSPACE 21Q \STACKSPACE) ( 437Q "\UNBOXFLOAT2 called with illegal op ") \UNBOXFLOAT3 D1 (L (0 OP)) &@jfh2kHZ`JlZd\`JlZd[`JlZdYJl kHJLlKdNMOIKNd_Nl^OfAkHY`IlYd\`IlYd[`IlYdZIl kHI@dkJKL lJKL @dlJKL lJKL @dlJKL lJKL o@ (443Q HELP 432Q \MATMULT441 417Q \MATMULT144 401Q \MATMULT331 366Q \MATMULT133 350Q \MATMULT444 335Q \MATMULT333 313Q \MAKEFREEBLOCK 210Q \SLOWRETURN 115Q \MAKEFREEBLOCK 11Q \SLOWRETURN) (267Q \STACKSPACE 246Q \STACKSPACE 225Q \STACKSPACE 71Q \STACKSPACE 50Q \STACKSPACE 27Q \STACKSPACE) ( 437Q "\UNBOXFLOAT3 called with illegal op ") \MATMULT133 D1 (L (2 CBASE 1 BBASE 0 ABASE)) OljIHCljhIKJ(L@KdAMdKlԻMlԽBILIlYBNIL NIL () \MATMULT144 D1 (L (2 CBASE 1 BBASE 0 ABASE)) OljIHCljhIKJ(L@KdAMdKlԻMlԽBILIlYBNIL NIL () \MATMULT331 D1 (L (2 CBASE 1 BBASE 0 ABASE)) RljIHFlIlhjMJ(L@KdAMdKlԻMl]BILIlYBNIL NIL () \MATMULT333 D1 (L (2 CBASE 1 BBASE 0 ABASE)) p l jd#IHcljLKRIlIhLNM/O@NdAOd_NlԾOl_BJOJlغLl\IlYBNIL NIL () \MATMULT441 D1 (L (2 CBASE 1 BBASE 0 ABASE)) RljIHFlIlhjMJ(L@KdAMdKlԻMl]BILIlYBNIL NIL () \MATMULT444 D1 (L (2 CBASE 1 BBASE 0 ABASE)) p ljd#IHcljLKRIlIhLNM/O@NdAOd_NlԾOl_BJOJlغLl\IlYBNIL NIL () \FLOATINGSCALE D1 (L (2 BOX 1 EXP10 0 X)) @@bB@bAdjB@@B@B@Bj.Al@`l;(B bAlbb@`Al(B mA@`l;(B bAlbb@`jAl(B (217Q \BOXFQUOTIENT 163Q \BOXFQUOTIENT 141Q \BOXFTIMES2 107Q \BOXFTIMES2) (204Q \POWERS.OF.TEN 154Q \POWERS.OF.TEN 130Q \POWERS.OF.TEN 100Q \POWERS.OF.TEN 7 FLOATP) () \INIT.POWERS.OF.TEN D1 NIL Rl;g dlo lkoIH+`IlJoZ `lIoJ IkY`(69 SETA 52 SETA 20 SETA 7 ARRAY) (79 \POWERS.OF.TEN 56 \POWERS.OF.TEN 38 \POWERS.OF.TEN 10 \POWERS.OF.TEN 4 POINTER) ( 64 1.0 47 10.0 27 1.0 17 1.0) \CONVERT.FLOATING.NUMBER D1 (L (3 FORMAT 2 STRPTR) P 4 POWTEN P 1 CNT I 1 STR I 0 X) ; @jA C `bBCi=Cb_WC_C_:C_Odll_OOOk_@o 1jbkO_djh_JJ_ll_Hko@bOl_l l _kOk_O@lllil l ^l@`l7(M ]bKlػNlٰ mN@`l7(M ]bKlٻNlؾ`Nl(@NkԾ`Nl(@`Nkl(@NkپKNO_ػO+OKl"mKKOJOHklkh_i_Oj8O"OOjOOOO_jO_Oj@jOM ]b@ohM b`Ol(@@oh@ o@ bKkԻ@jbol O HkAkYl- OKkٻAIkYl. OjOk_@jAIkYlE jKAIkYl- jKٻODO>OdlAIkYl+ Ok_"Ol KlldjAIkYl0 kl KAIkYKl l0 Kl ܻAIkYKl0 iKdjkٰAIkYl. jK0OKjOjbOK_jKdjAIkYl0 kOjOk_@jAkIB (1470Q SUBSTRING 1453Q \PRODUCE.FDIGIT 1445Q \PRODUCE.FDIGIT 1421Q \RPLCHARCODE 1342Q \RPLCHARCODE 1322Q \PRODUCE.FDIGIT 1307Q \RPLCHARCODE 1265Q \RPLCHARCODE 1233Q \RPLCHARCODE 1167Q \RPLCHARCODE 1125Q \RPLCHARCODE 1105Q \RPLCHARCODE 1065Q \PRODUCE.FDIGIT 1057Q \PRODUCE.FDIGIT 1037Q \RPLCHARCODE 1020Q \PRODUCE.FDIGIT 1006Q \RPLCHARCODE 771Q NTH 740Q \BOXFQUOTIENT 730Q \BOXFPLUSDIF 676Q \BOXFPLUSDIF 660Q \FLOATINGSCALE 400Q \BOXFTIMES2 340Q \BOXFQUOTIENT 137Q FEQP) (704Q \POWERS.OF.TEN 457Q \POWERS.OF.TEN 441Q \POWERS.OF.TEN 421Q \POWERS.OF.TEN 371Q \POWERS.OF.TEN 331Q \POWERS.OF.TEN 23Q \FLOATFORMAT 10Q STRINGP) ( 761Q (575360400Q 46113200Q 3641100Q 303240Q 23420Q 1750Q 144Q 12Q 1) 734Q 10.0 723Q 4.5 671Q .5 230Q 0.0 134Q 0.0) \PRODUCE.FDIGIT D1 (F 0 X F 1 CNT F 2 POWTEN F 3 STR) ,PjSQkcl0 SQkcPRl0 PRcRc(37Q \RPLCHARCODE 16Q \RPLCHARCODE) NIL () FLOATP.TO.BCPL D1 (L (0 FLONUM)) e@dbl1@o jHllo@@l[dHKkKJKJnY@kjII(32Q FEQP) (7 FLOATP) ( 51Q 17777777Q 27Q 0.0) BCPL.TO.FLOATP D1 (L (0 BCPLNUM)) f0j@j@bk@jjoj@@ko@ j@lY@@ZHIJJn(56Q ERROR) NIL ( 52Q "Not a valid BCPL flonum" 30Q 0.0) (PRETTYCOMPRINT LLFLOATCOMS) (RPAQQ LLFLOATCOMS ((DECLARE: DONTCOPY (MACROS \HAND.FLOATUNBOX) (EXPORT (MACROS POLYEVAL))) (COMS ( FNS \PUTBASEFLOATP \GETBASEFLOATP) (MACROS \PUTBASEFLOATP \GETBASEFLOATP (* ; " the following deal with raw 32 bit numbers") \.PUTBASE32 \.GETBASE32)) (COMS (FNS FTIMES FPLUS FQUOTIENT FDIFFERENCE FGREATERP FABS) (* ; "UFNs") (FNS \SLOWFDIFFERENCE \SLOWFPLUS2 \SLOWFTIMES2 \SLOWFQUOTIENT \SLOWFGREATERP) (FNS \FZEROP FEQP FLOAT \FLOAT \FIXP.FROM.FLOATP FIXR \BOXFPLUSDIF \BOXFQUOTIENT \BOXFTIMES2 \INFINITY \MAKEFLOAT MAKEFLOATNUMBER PutFloat \FZEROP MAKERATIONAL) (PROP DMACRO ZEROP) (FNS SQRT) (DECLARE: EVAL@COMPILE DONTCOPY (EXPORT (RECORDS FLOATP) (CONSTANTS ( MAX.DIGITS.ACCURACY 9))) (CONSTANTS (\8BITS 255) (\MAX.HI.FRAC 127) (\SIGNBIT 32768) (\EXPONENT.BIAS 127) (\HIDDENBIT 128) (\MAX.EXPONENT 255)) (MACROS .FLOATUNBOX. .LLSH1. .LLSH8. .LRSH1. .LRSH8. .LRSHSTICKY. .ADDSMALL2. .ADDSMALL3. .SUBSMALL. .POWEROF2.) (LOCALVARS . T)) (DECLARE: DONTEVAL@LOAD DOCOPY (VARS (\UNDERFLOW) (MAX.FLOAT (\INFINITY 0)) (MIN.FLOAT (\INFINITY 1))) (P (MOVD? (QUOTE FGREATERP) (QUOTE FGTP))))) (COMS (* ;; "unboxed ufns") (FNS \UNBOXFLOAT1 \UNBOXFLOAT2 \UNBOXFLOAT3) ( FNS \MATMULT133 \MATMULT144 \MATMULT331 \MATMULT333 \MATMULT441 \MATMULT444) (* ; "unboxed arg handling") (DECLARE: DONTCOPY (EXPORT (MACROS \CALLER.ARGS)))) (COMS (FNS \FLOATINGSCALE \INIT.POWERS.OF.TEN \CONVERT.FLOATING.NUMBER \PRODUCE.FDIGIT) (DECLARE: DONTCOPY (GLOBALVARS \POWERS.OF.TEN) (MACROS \POWER.OF.TEN)) (DECLARE: DONTEVAL@LOAD DOCOPY (P (\INIT.POWERS.OF.TEN)))) ( COMS (FNS FLOATP.TO.BCPL BCPL.TO.FLOATP) (DECLARE: EVAL@COMPILE DONTCOPY (RECORDS BCPLNUM))) (PROP ARGNAMES \UNBOXFLOAT1 \UNBOXFLOAT2 \UNBOXFLOAT3) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA FPLUS FTIMES))))) (PUTPROPS \PUTBASEFLOATP DMACRO ((BASE OFFST VAL) (* ; "put the floatp VAL at offset OFFST from BASE. Used by REPLACEFIELD of floatp fields") (\FLOATBOX ( \.PUTBASE32 BASE OFFST (\FLOATUNBOX VAL))))) (PUTPROPS \GETBASEFLOATP DMACRO ((BASE OFFST) (* ; "get the floatp at OFFST from BASE") (\FLOATBOX ( \.GETBASE32 BASE OFFST)))) (PUTPROPS \.PUTBASE32 DMACRO (= . \PUTBASEPTR)) (PUTPROPS \.GETBASE32 DMACRO (APPLY* COMP.GETBASE NIL GETBASE.32)) (PUTPROPS ZEROP DMACRO (OPENLAMBDA (X) (COND ((EQ X 0)) ((FLOATP X) (\FZEROP X))))) (RPAQQ \UNDERFLOW NIL) (RPAQ MAX.FLOAT (\INFINITY 0)) (RPAQ MIN.FLOAT (\INFINITY 1)) (MOVD? (QUOTE FGREATERP) (QUOTE FGTP)) (\INIT.POWERS.OF.TEN) (PUTPROPS \UNBOXFLOAT1 ARGNAMES (X OP)) (PUTPROPS \UNBOXFLOAT2 ARGNAMES (X Y OP)) (PUTPROPS \UNBOXFLOAT3 ARGNAMES (X Y Z OP)) (PUTPROPS LLFLOAT COPYRIGHT ("Xerox Corporation" 1982 1984 1985 1986)) NIL