- May 24, 2007
-
-
rtoy authored
cuts right for some special functions. o DD-COMPLEX-ATANH needs to be careful about producing signed zeroes in the right spots. Add a CAREFUL-MUL to make sure a zero of the correct sign is produced when needed. (What other places need such care?)
-
- 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.
-
- Dec 02, 2006
-
-
rtoy authored
o Need to clear out the individual invalid operation bits when clearing the invalid exception bit. code/exports.lisp: compiler/ppc/parms.lisp: o Export FLOAT-INVALID-OP-1-BYTE. (Needs a better name.)
-
- Nov 16, 2006
-
-
rtoy authored
o Pass the modes to GET-FP-OPERANDS compiler/ppc/float.lisp: o If the destination register is the same as one of the source registers, an overflow or underflow exception will have replaced the source register with the result. In that case, replace the source value with NIL to indicate we don't know. (We could recompute the source from the result, but there would be a round-off error.)
-
- Nov 14, 2006
-
-
rtoy authored
is single-float.
-
rtoy authored
code/float-trap.lisp: o Set FP modes now. o Clear out sticky bits in SIGFPE handler code/ppc-vm.lisp: o Add (setf sigcontext-floating-point-modes) to set the FP mode. compiler/ppc/parms.lisp: o Add fields for various invalid operations bits. o Fix float-fast-bit
-
- Nov 08, 2006
-
-
rtoy authored
dynamic-space-overflow-warning-hit.
-
- Oct 02, 2006
-
-
rtoy authored
o Add a new :WHEREIN-ONLY option for trace, which is like :WHEREIN, but only if the immediate caller is one of the listed functions instead of anywhere in the backtrace. general-info/release-19d.txt: o Update for :WHEREIN-ONLY
-
- Aug 21, 2006
-
-
rtoy authored
can now read and print -0w0. code/float.lisp: o Adjust float-sign so that we get the correct sign when double-double-floats are used. o Adjust FLOAT-RATIO to call %MAKE-DOUBLE-DOUBLE-FLOAT so that we preserve the sign of the number. This is safe because the components are known to be properly scaled. compiler/float-tran.lisp: o Use %MAKE-DOUBLE-DOUBLE-FLOAT in %DOUBLE-DOUBLE-FLOAT to preserve the sign of the original float. This is safe because the components are known to be properly scaled. o Add a FLOAT-SIGN deftransform to handle DOUBLE-DOUBLE-FLOAT.
-
rtoy authored
-
rtoy authored
*READ-INTO-SIMPLE-ARRAY-RECOGNIZED-TYPES* so that READ-VECTOR can read binary data from streams of those types. Fixes Trace ticket 7.
-
- Aug 18, 2006
-
-
rtoy authored
o Replace the magic value #x80000000 with +eq-based-hash-value+. lisp/gencgc.c: o Replace the magic value 0x80000000 with EQ_BASED_HASH_VALUE. o When freeing the hash entry, we forgot to reset the hash-vector entry to EQ_BASED_HASH_VALUE.
-
rtoy authored
tables. Use boot-2006-08-1-cross to cross-compile. During worldload, you'll get a restart. Choose the CLOBBER-IT restart. bootfiles/19c/boot-2006-08-1-cross.lisp: o Cross-compile script to mark that a cross-compile is needed. Nothing fancy, just load up the example scripts. code/hash-new.lisp: o Update the allowed values for the weak-p slot of a hash table. o Change hash table printer to print out the test and weak style. o Update MAKE-HASH-TABLE to allow other values for :weak-p keyword arg and set the weak-p slot appropriately. o Produce an error if a weak key, key-and-value, or key-or-value table is created but the test is not EQ or EQL. compiler/ppc/parms.lisp: compiler/sparc/parms.lisp: o Add :KEY, :VALUE, :KEY-AND-VALUE, and :KEY-OR-VALUE symbols to the static symbols because C code needs them. lisp/gencgc.c: o Add necessary support to handle the new hash types.
-