Commits on Source (81)
-
Raymond Toy authored1d604dc6
-
Raymond Toy authored9e8b92a9
-
Raymond Toy authoredfab01803
-
Raymond Toy authoredaeff3c51
-
Raymond Toy authored4c29796b
-
Raymond Toy authored106b9498
-
Raymond Toy authoredd1ef807a
-
Raymond Toy authored4b556124
-
Raymond Toy authored507f6d9e
-
Raymond Toy authored
o Update fdlibm.h and setexception.c to support the inexact execption. o Use this in asinh. Tests pass.
a53d7ef4 -
Raymond Toy authored0d53bc7f
-
Raymond Toy authored
o Add tests for this o Use setexception for inexact in e_asin.c.
e655d017 -
Raymond Toy authored8b36c06e
-
Raymond Toy authored
o Add tests for this o Use setexception for inexact in e_exp.c.
b4c91767 -
Raymond Toy authorede90e91d4
-
Raymond Toy authoredd448ca78
-
Raymond Toy authored71bdff74
-
Raymond Toy authoreda31150c5
-
Raymond Toy authoredae70cdd3
-
Raymond Toy authored89097cd0
-
Raymond Toy authored91ff3607
-
Raymond Toy authored
Note that original code didn't actually signal inexact probably because the compiler constant-folded one - tiny to one.
b9e3a511 -
Raymond Toy authored
This works like WITH-FLOAT-TRAPS-MASKED, except that the specified traps are enabled. Use this in fdlibm to enable the inexact trap.
97bd0eaa -
Raymond Toy authored
Merge the body of both macros into one since they only differ in how the bits are merged with the actual mode bits.
5721ddd2 -
Raymond Toy authored
WITH-FLOAT-TRAPS-ENABLED.
d2a8d5c7 -
Raymond Toy authored
When enabling traps, need to take just the low 24 bits of the arg because (setf floating-point-modes) wants an (unsigned-byte 24) argument. The logorc2 makes the result negative when enabling traps.
519d5133 -
Raymond Toy authored
Also replae WITH-INXACT-EXCEPTION-ENABLED with WITH-FLOAT-TRAPS-ENABLED. All tests still pass, as expected.
46e43aed -
Raymond Toy authored
On sparc and ppc (setf vm:floating-point-modes) takes an (unsigned-byte 32) arg, so adjust the ldb byte appopriately. Clean up code by putting the docstring into the macro.
38e8ce5c -
Raymond Toy authored6cc16b9b
-
Raymond Toy authored
This makes it quite a bit easier to run the test suite instead of trying to remember exactly how to invoke it from the command line.
55b541e5 -
Raymond Toy authored
Printing of FP numbers can signal some traps like overflow, underflow, inexact, or denormalized-operand, so we need to disable these traps when printing out the error message for arithmetic errors.
0fc0061b -
Raymond Toy authored62acaf64
-
Raymond Toy authored
* Add some comments. * Change x86 (setf floating-point-modes) to accept (unsigned-byte 32). * Remove unneeded x86 conditionalization on the byte size.
90b9651b -
Raymond Toy authored80d7ca4e
-
Raymond Toy authored6a6908fb
-
Raymond Toy authoredfc1c9daa
-
Raymond Toy authored
Fix issue #12 by replacing the code with an explicit call to set the inexact exception when needed.
5b83139e -
Raymond Toy authored
To aid in debugging floating point modes, add two new functions: o %SET-FLOATING-POINT-MODES is like SET-FLOATING-POINT-MODES but applies the result to a specified mode value, returning the new mode value (as an integer). This is useful for investigating different mode values without modifying the actual hardware mode. o %GET-FLOATING-POINT-MODES is like GET-FLOATING-POINT-MODES but uses an integer argument instead of the actual floating-point mode. Useful when used with %SET-FLOATING-POINT-MODE or on its own.
b4771d76 -
Raymond Toy authoreda65cf4a4
-
Raymond Toy authored
Fix issue #14. WITH-FLOAT-TRAPS-ENABLED was leaving the accrued (and current) exceptions unchanged, but it should have cleared out any values there that matched the exceptions to be enabled. Without this, the next x87 operation would signal an exception if an accrued exception matched an enabled exception. This was the cause of issue #14. (Note that for x87, the accrued exception is the same as current exception.)
edb5af9b -
Raymond Toy authored
WITH-FLOAT-TRAPS-ENABLED was incorrectly setting accrued exceptions. Fix issue #14. WITH-FLOAT-TRAPS-ENABLED was leaving the accrued (and current) exceptions unchanged, but it should have cleared out any values there that matched the exceptions to be enabled. Without this, the next x87 operation would signal an exception if an accrued exception matched an enabled exception. This was the cause of issue #14. (Note that for x87, the accrued exception is the same as current exception.) See merge request !5
a610d96c -
Raymond Toy authored16ae6709
-
Raymond Toy authorede28e38ce
-
Raymond Toy authored
Allow search lists in pathname-match-p. For each arg, we enumerate the possible values of the search list and try to find a match between the path and the wild path. If there's a match, return true. Tests added for some cases of pathname-match-p with search lists. Fix issue #16.
521f8392 -
Raymond Toy authored107f067a
-
Raymond Toy authored6162f24e
-
Raymond Toy authored
We know the result of (expt 0 power) so return it immediately without first checking if the power exceeds the limit. Also took the opportunity to add a better message to the intexp-limit-error condition to make it more explicit what is being computed and why it's failing. Tests added too.
f3b73541 -
Raymond Toy authored
Handle search lists in pathname-match-p. Allow search lists in pathname-match-p. For each arg, we enumerate the possible values of the search list and try to find a match between the path and the wild path. If there's a match, return true. Tests added for some cases of pathname-match-p with search lists. Fix issue #16. See merge request !6
c7e71ee2 -
Raymond Toy authored
If the user specifies -dynamic-space-size 0, then use the platform-specific maximum heap size. Update the docstring for the switch too.
a5805ca0 -
Raymond Toy authored90855b07
-
Raymond Toy authored95f2932b
-
Raymond Toy authoredd437c0f6
-
Raymond Toy authoredccabe7f8
-
Raymond Toy authored
Forgot to put in an else clause if the specified size was 0.
7fe61a25 -
Raymond Toy authored
(Taken from the wiki intro.)
5c10ab93 -
Raymond Toy authored
Don't restore the fpu state from the context in the interrupt handler code (interrupt_handle_now) because that just makes the fpu state the same as the sigcontext that received the exception. I think this was done to reset the x87 fpu precision to 53-bit so that lisp can continue with default double-float rounding. This isn't needed anymore since lisp doesn't use x87 anymore. In SIGFPE-HANDLER, don't modify the current fp state based on the state from the sigcontext. These two items cause the arithmetic-error exception printer to trigger inexact when printing out the args. We add a few debugging prints for now so we can see what the FP state is in the handler. Remove them later.
e63bc1e9 -
Raymond Toy authored
In sigfpe-handler, don't modify the modes; just use whatever they are. (They should be the default values.) In with-float-traps-*, actually just restore the floating-point mode to the exact original mode instead of trying to mask things out.
da2ff74d -
Raymond Toy authored
We just want to return the original modes, so remove all the old commented out stuff that was modifying the original modes to some strange state. This makes a lot more sense to me if WITH-FLOAT-TRAPS-* actually restored the modes exactly as they were before running the body.
d9763e90 -
Raymond Toy authored
Put an unwind-protect around the error calls. The cleanup form restores the floating-point modes from the sigcontext so that the mode is restored. This is needed, I think, because we throw so that the signal handler doesn't return so the sigcontext isn't restored. If we don't restore the fpu state, it's set to the default processor state. We want the default state when calling error. In this way, things like (* 1d300 1d300) signals an overflow, and when we throw to top-level, the floating-point modes are restored to their original values they had before.
d7850f57 -
Raymond Toy authored1fab9bf3
-
Raymond Toy authored
Handle FPU exceptions better Fix #15 Handle FPU exceptions better in sigfpe-handler. Linux now passes all of the tests, including the inexact tests. We can correctly print out the operands (if available) when we receive an inexact exception. The floating point modes are preserved as much as possible when we throw from an arithmetic-error. See merge request !7
94bb2d9d -
Raymond Toy authored
Fix #17.
6ac8b5f6 -
Raymond Toy authored
Fix #18.
f613124b -
Raymond Toy authored17932a00
-
Raymond Toy authored6feaee2d
-
Raymond Toy authored06a68321
-
Raymond Toy authored
o Need to define a new instruction format for these double shifts; they look like ext-reg-reg/mem but there's no width field. o Clean up emit-double-shift slightly. o Update double-shift-inst-printer-list to support both immediate shift or shifts in CL.
8058d410 -
Raymond Toy authored
These are useful for multi-precision shifts. For x86, we can use the shld and shrd instructions. For others, we just use basic logical operations.
ddc980d5 -
Raymond Toy authored909ad007
-
Raymond Toy authored
One temp variable for bignum-shld can be removed and the only temp variable for bignum-shld-c can be removed. Base this on the digit-ashr vops. This makes the vops simpler and faster.
351351df -
Raymond Toy authored23209c84
-
Raymond Toy authored
Instead of storing the high and low words to memory and then loading it into the double-reg, use SSE2 instructions to directly create the double-float from the high and low words.
187d987e -
Raymond Toy authored
Remove the :load-if stuff. Don't think it's needed.
b059caca -
Raymond Toy authored1b324b5d
-
Raymond Toy authored
Mention that you need Motif to build motifd which is required for clm. Also say that the build error can be safely ignored if you do not need clm. Fix issue #20
8d6a01fb -
Raymond Toy authored
According to the message from Chisheng Huang on cmucl-help, 2016-02-27, 32-bit Ubuntu 11.10 (in VirtualBox) cannot use the full heap space. There's something already allocated at address 0xb7b82000, so limit the max heap to address 0xb7b80000, for a total of 1530 MB instead of 1632 MB. (It would be nice to be able to detect this somehow.)
9e4c9d0a -
Raymond Toy authored4663279e
-
Raymond Toy authoredee6b86bf
-
Raymond Toy authored184a5a0d
-
Raymond Toy authorede741d305
-
Raymond Toy authored583140fc
bin/run-tests.sh
0 → 100755
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.