- Jun 27, 2007
-
-
rtoy authored
o Add some declarations in various places to get rid of some warnings. o Rearrange DD-%ASIN to get rid of some warnings. o Declare the type of DD-%SIN, DD-%COS, and DD-%TAN because cmucl doesn't compute the correct return type.
-
- Jun 22, 2007
-
-
rtoy authored
of them. Use hash tables instead of an alists for holding and constructing the necessary objects. This can vastly speed up the reader in some cases. But unfortunately it slows down the reader when the circular structure is "small". Some care has been taken not to make the reader slow when there are now #= constructs. This is based on a patch from Jared Davis. reader.lisp: o Add the new hash tables and initialize them appropriately. sharpm.lisp: o Update #= and ## macros to use the new hash tables.
-
- Jun 21, 2007
-
-
rtoy authored
-
- Jun 20, 2007
-
-
rtoy authored
Signal an error if they're not. (Previously, only checked to see if the element-type was a subtype of the displaced-to array.)
-
- Jun 11, 2007
-
-
rtoy authored
o Handle signed-zeroes for addition, subtraction, and multiplication of double-double floats. That is, return the correct signed zero for the result. o Try to handle overflow in addition, multiplication, and division by returning infinity, if the overflow or divide-by-zero trap is disabled. This is done by looking to see what the corresponding double-float operation would return. This probably needs more work. code/irrat-dd.lisp: o Remove the careful-mul stuff from dd-complex-atanh since we handle signed zeroes better now during double-double multiplication.
-
- May 29, 2007
-
-
rtoy authored
o Allow microseconds in the time. We don't do anything with the microseconds; we just recognize it and through it away. o Add a check that if the day of the week is specified, it actually makes sense with the given date. Thus, "Wed May 29, 2007" signals an error since May 29, 2007, is Tuesday. o Some slight rearrange of the code for consistency.
-
rtoy authored
-
- May 25, 2007
-
-
rtoy authored
DD-COMPLEX-ATANH with -0w0 to get the correct value.
-
rtoy authored
from fasl files. Use %make-double-double-float instead of make-double-double-float because the latter does a renormalization, which trashes the sign. The former constructs the double-double exactly as given, which is really what we want since the fasl has the correct components.
-
rtoy authored
o Fix a typo in a docstring. o Fix DD-COMPLEX-ASIN again: - The previous fix for asin(-2) being wrong actually broke the case for asin(2). Revert that. - The issue was that in our explicitly handling of the atan(y/0) case we didn't take into account the sign y and 0. Fix that.
-
- May 24, 2007
- May 23, 2007
- May 22, 2007
-
-
rtoy authored
think this was causing PCL to think that (complex double-double-float) was not a subtype of complex.
-
- May 19, 2007
-
-
rtoy authored
For large numbers we did not check for odd-valued results that needed to be rounded to even.
-
- May 02, 2007
-
-
rtoy authored
month Add check for valid number of days for the given month.
-
- Apr 07, 2007
- Mar 28, 2007
-
-
rtoy authored
o Fix extra paren for double-double-stack-sc-number case, and don't use with-nfp which doesn't exist on x86. o Add support for complex-double-double-stack-sc-number, which was missing for x86.
-
rtoy authored
double-double-stack-sc-number and complex-double-double-stack-sc-number. o The complex-double-double-stack-sc-number case was not computed the complex double-double correctly. Fix it.
-
- Mar 27, 2007
- Mar 23, 2007
-
-
rtoy authored
silly bug that (float <neg bignum> 1w0) was returning a positive result instead of negative. o Rename DOUBLE-DOUBLE-FLOAT to DOUBLE-DOUBLE-FLOAT-FROM-BITS to match other functions and to make it separate from the same function in the KERNEL package. o Modify DOUBLE-DOUBLE-FLOAT-FROM-BITS to look at the bignum and extract out the pieces better. Look for a pattern <53 bits> <zeroes> <53 bits> where <zeroes> is a set of consecutive zero bits. We use the 2 53-bit sections to create the double-double-float. o Make DOUBLE-DOUBLE-FLOAT-FROM-BITS honor the sign. o Add BIGNUM-FLOAT-DIGITS to figure out how many bits of the bignum should be used to create the float. o Call BIGNUM-FLOAT-DIGITS from BIGNUM-TO-FLOAT instead of using FLOAT-FORMAT-DIGITS.
-
- Mar 22, 2007
-
-
rtoy authored
-
- Mar 21, 2007
- Mar 20, 2007
-
-
rtoy authored
exception. This was happening when the faulting FP instruction was in the delay slot of a branch. The PC was incremented to the branch target, and hence had the wrong information. The FPQ structure has the right information. code/sparc-svr4-vm.lisp: o Add FPQ structure so we can access the information about the faulting FP instruction. compiler/sparc/float.lisp: o Extract the correct information about the faulting FP instruction instead of from the PC.
-
rtoy authored
-
- Jan 23, 2007
-
-
rtoy authored
and two-arg comparision working. They're no longer needed.
-
- Jan 20, 2007
-
-
fgilham authored
source comment associated with change.
-
- Jan 18, 2007
-
-
rtoy authored
-
rtoy authored
Extend LOG2 function to handle more cases, and make LOG call LOG2 appropriately, and add LOG2-DD to handle the double-double-float cases.
-
rtoy authored
sign. This caused (FLOAT -1/9 1w0) to return -0.11111111111111109877529972638715w0 instead of 0.111111111111111111111111111111111w0.
-
- Jan 16, 2007
-
-
rtoy authored
print/read consistency because "foo.~01~ is printed as "foo.~1~". This could be fixed in other places, but it seems best not to allow leading zeroes in the version number. Patch from Madhu, cmucl-imp, 2007-01-14.
-
- Jan 13, 2007
-
-
fgilham authored
-
- Jan 11, 2007
-
-
fgilham authored
return value is discarded. Since (adjust-array) may return a new array, this is wrong.
-
- Dec 22, 2006
-
-
rtoy authored
another issue with uninitialized &aux variables. (defstruct (foobar (:constructor make-foobar (xxx &key (aaa nil) (bbb nil) &aux (foobar-data xxx) (aaa (or aaa (getf foobar-data :aaa) 1)) (bbb (or bbb (getf foobar-data :bbb) (1+ aaa)))))) (aaa (required-argument) :type fixnum) (bbb (required-argument) :type fixnum)) (make-foobar nil) -> #<foobar :aaa 1 :bbb 2> But CMUCL gives type errors. To fix Albert's issue, modify CREATE-BOA-CONSTRUCTOR to keep track of the &aux vars separately from the other arglist vars. Adjust CREATE-VECTOR-CONSTRUCTOR, CREATE-LIST-CONSTRUCTOR, CREATE-STRUCTURE-CONSTRUCTOR, and CREATE-FIN-CONSTRUCTOR to take an extra arg for the &aux vars. For CREATE-STRUCTURE-CONSTRUCTOR, we only put declarations for the other arglist vars. To make sure we store the right kinds of objects into the slots, we also wrap (the <type> init) for each initial value. Also CLHS 3.4.6 has an example of a boa constructor using an aux variable without an initializer. CMUCL was not handling that right. Modify CREATE-BOA-CONSTRUCTOR to change the initializer to use (or <aux> slot-default-value) to get the correct default value into the slot if the aux variable doesn't.
-
- Dec 19, 2006
-
-
cshapiro authored
definition, if the symbol is symbol macro, return the expansion. Otherwise, if the symbol is a local definition but not a symbol macro, return the symbol and report no expansion. Previously, the otherwise case was not handled and macroexpand-1 fell through in error to test forms for global cases. Among other things, this caused the expansion of global symbol macros shadowed by lexical variable bindings.
-