52 
 When a core file is started, any shared libraries that were 
 When a core file is started, any shared libraries that were 
53 
loaded when the core was made will be reloaded on startup. If 
loaded when the core was made will be reloaded on startup. If 
54 
the library cannot be found, several restarts are available. 
the library cannot be found, several restarts are available. 
55 

 Support for the new float type EXT:DOUBLEDOUBLEFLOAT. This 
56 

includes support for complex numbers with this component type 
57 

and simple arrays for this type and complex numbers of this 
58 

type. 
59 


60 

A DOUBLEDOUBLEFLOAT uses two DOUBLEFLOAT's to represent a 
61 

number with >= 106 bits of precision (about 33 digits). Known 
62 

issues: 
63 


64 

* If you are expecting IEEEstyle behavior, you don't get it: 
65 

 signed zeroes aren't really available. 
66 

 overflows don't return infinity but return NaN instead. 
67 

 rounding might not be quite the same as IEEE 
68 

 SQRT is not accurate to the last bit, as required by IEEE. 
69 

* Multiplying by a number very close to 
70 

mostpositivedoublefloat will produce an error even if the 
71 

result does not overflow. (This is an artifact of how 
72 

multiplication is done. I don't have a solution to this.) 
73 

* Read/write consistency is not working. (Because conversion 
74 

from a bignum to a doubledoublefloat doesn't really 
75 

understand the internal doubledoublefloat format.) 
76 

* INTEGERDECODEFLOAT and SCALEFLOAT aren't "inverses". 
77 

That is, you can't take the result of integerdecodefloat 
78 

and use scalefloat to produce exactly the same number. 
79 

This is because of how bignums are converted to 
80 

doubledoubles. 
81 

* FLOATDIGITS always returns 106 even though there could be 
82 

more bits. (Consider the doubledouble (1d0,1d200)). This 
83 

will show up in PRINT where the printed result will have way 
84 

more than the normal 33 digits or so. But reading such a 
85 

number back won't give the same value. 
86 

* There is probably more consing than is necessary in many of 
87 

the standard Common Lisp functions like floor, ffloor, etc. 
88 

* The special functions are not fully tested. I did a few 
89 

random spot checks for each function and compared the 
90 

results with maxima to verify them. 
91 

* The branch cuts for the special functions very likely will 
92 

not match the doublefloat versions, mostly because we don't 
93 

have working signed zeroes. 
94 

* Type derivation for doubledoublefloats might not be 
95 

working quite right. 
96 

* PI is still a doublefloat. If you want a doubledouble 
97 

version of pi, it's KERNEL:DDPI. (Soon to be EXT:DDPI.) 
98 

* All doubledouble operations are inlined by default (unless 
99 

*INLINEEXPANSIONLIMIT* is reached), so functions will tend 
100 

to be very large. (Each basic doubledouble operation takes 
101 

some 20 FP instructions). 
102 

* There are probably still many bugs where doubledoublefloat 
103 

support was overlooked. 
104 


105 


106 
* Numerous ANSI compliance fixes: 
* Numerous ANSI compliance fixes: 
107 

