- Jan 09, 2004
-
-
toy authored
(expt <rational> <rational>). The result can be a rational, a float, or a complex single-float.
-
- Sep 12, 2003
-
-
gerd authored
is an invalid type specifier. * src/compiler/float-tran.lisp (float): Make three optimizers, one for no prototype, one for single-float prototype, and one for double-float prototype.
-
- Sep 07, 2003
-
-
gerd authored
(compile 'foo) (foo 0d0) => 0d0 Found by Paul Dietz with sqrt on complex numbers. * src/compiler/float-tran.lisp (float) <deftransform>: Test with single-float-p instead of floatp.
-
- Sep 05, 2003
-
-
toy authored
o Oops. We should subtract from 0, not 0d0 o Add the deftransform for - to the complex-fp-vops part too, because the vop gets that wrong. compiler/sparc/float.lisp: o Remove the vop for a real - complex because we get the sign of the imaginary part wrong.
-
toy authored
imaginary part instead of subtracting from 0. This is needed to get the correct sign if the imaginary part was 0. (From a bug in Paul Dietz's ansi tests.)
-
- Sep 02, 2003
-
-
toy authored
calling %SINGLE-FLOAT which converts everything to a single-float. (Noted by Christophe Rhodes on #lisp.)
-
- Jul 03, 2003
-
-
toy authored
which we weren't handling. Use bound-value to get the value. This probably still needs some work.
-
- Jul 02, 2003
-
-
toy authored
of a double-float in multiple-values. This is better than calling double-float-high/low-bits which causes 2 stores to the stack to be done.
-
- Apr 23, 2003
-
-
toy authored
decode-double-float more accurately. (Do we need defoptimizers for these? Might be useful to get at least the exponent range accurately.)
-
- Mar 14, 2002
-
-
toy authored
DEFKNOWN for it.
-
- Mar 08, 2002
-
-
toy authored
%unary-truncate has many redundant stack moves even when it's know the result will fit in a (signed-byte 32), so create vops to do the conversion directly in the floating-point registers. Also, sparc-v9 can do 64-bit integer conversions, so make the range up to 64-bits for sparc-v9.
-
- Feb 25, 2002
-
-
toy authored
instead of calling the generic TRUNCATE. Make FFLOOR, FCEILING, and FROUND use FTRUNCATE so they benefit too.
-
- Sep 24, 2001
-
-
toy authored
operation for the denominator). o Add corresponding deftransform for real/complex.
-
- Apr 12, 2001
-
-
pw authored
Here is the patch that makes the propagate-float-type, propagate-fun-type, and constrain-float-type features the default. All old code is removed. If you recompile, you should probably remove these features, just to be sure (caught a few mistakes that way).
-
- Jul 06, 2000
-
-
dtc authored
(complex float) types even when passed a (complex rational) or (complex integer).
-
- Apr 02, 2000
-
-
dtc authored
o Add support for complex FP vops, enabled by the feature :complex-fp-vop which should work for all Sparcs.
-
- Sep 06, 1999
-
-
dtc authored
making use of the deftransform :policy feature. Further just use generic division if the transform fails rather than adding specialised complex float division functions which shouldn't have been defined here anyway.
-
- Jul 13, 1999
-
-
pw authored
Changes: o Change deftransform truncate to handle the two arg case. Add similar deftranform for floor and ceiling. o Only inline complex single/double-float division if speed > space. Otherwise, call the division routines.
-
- Jan 23, 1999
-
-
dtc authored
-
- Oct 01, 1998
-
-
dtc authored
functions, from Raymond Toy.
-
- Sep 29, 1998
-
-
dtc authored
numeric-type to a high and low bound for which negative and positive zero being distinct as for the :negative-zero-not-zero feature. This fixes some problems that occurred when not compiled with the :negative-zero-not-zero feature.
-
- Sep 20, 1998
- Aug 23, 1998
-
-
dtc authored
-
- Aug 22, 1998
- Jul 24, 1998
-
-
dtc authored
remove unnecessary conditionals.
-
- Apr 15, 1998
-
-
dtc authored
-
- Mar 30, 1998
- Mar 27, 1998
-
-
dtc authored
deftransforms to quieten compiler Warnings.
-
- Mar 21, 1998
-
-
dtc authored
-
- Feb 24, 1998
-
-
dtc authored
-
- Feb 20, 1998
-
-
dtc authored
converted to a numeric type and the derive-type-aux function called to compute the result type. This allows a range to be returned for member types. Add a derive-type optimizer for the random function using the above extension. Ensure that the abs derive-type optimiser correctly coerces the result bounds; this optimiser now returns a +0.0 lower bound whereas it had been +-0.0.
-
- Feb 19, 1998
-
-
dtc authored
1. Correct handling of integer and rational arguments which give single-float results. 2. Correct coercion of the number-type bounds. 3. Improve consistency. Functions modified: float-or-complex-type, elfun-derive-type-simple, atan-derive-type-aux-2, phase-derive-type, imagpart-derive-type-aux, trig-derive-type-aux, abs-derive-type-aux. Remove function elfun-float-format. Add function coerce-numeric-bound. Add an optional increasingp argument to elfun-derive-type-simple allowing it to be used for acos, and remove acos-derive-type-aux.
-
- Feb 05, 1998
-
-
dtc authored
Update the trig optimizers so that they compute bounds when the argument is within the "principal" domain of the function. This does not have any problems with argument reduction.
-
- Jan 24, 1998
-
-
dtc authored
single-float result for a real argument whereas the result type should have been a float in this case; only for a rational argument can will the result type be a single-float. This in turn fixes the mis-compiling of some maths functions, for example (exp #C(0d0 1d0)) was returning garbage. Fix a similar problem in the cis derive-type optimizer, however the fix doesn't special case rational arguments, always defaulting to a float.
-
- Jan 05, 1998
-
-
dtc authored
better handle float zeros, by Raymond Toy and Douglas Crosher: * The arithmetic function derive type optimisers now accept intervals for which -0.0 and 0.0 are recognisably different. This will fix naturally into a proposal by Raymond Toy which is conditional upon :negative-zero-is-not-zero. Without this feature the functions {one,two}-arg-derive-type convert the type intervals appropriately before and after these optimisers so that the user visible type specifiers behave the same. * Update interval-range-info to recognise the difference between -0.0 and 0.0. This in turn helps fix the phase derive type optimizer. * Elfun-derive-type-simple now uses a type specifier to giving the applicable range rather then a function; updates to the various uses of this function. * The sqrt and log derive type optimizers have been re-written and now use elfun-derive-type-simple. * Remove the unused function numeric-real-union-type-p. * Extend the expt trnasform to transform powers of 1/2 to sqrt.
-
- Jan 02, 1998
-
-
dtc authored
problems, from Raymond Toy.
-
- Dec 20, 1997
-
-
dtc authored
multitude of problems.
-