Skip to content
Snippets Groups Projects
  1. Jan 09, 2004
  2. Sep 12, 2003
  3. Sep 07, 2003
    • gerd's avatar
      (defun foo (x) (float x 1f0)) · 18894485
      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.
      18894485
  4. Sep 05, 2003
    • toy's avatar
      compiler/float-tran.lisp: · c640d0f2
      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.
      c640d0f2
    • toy's avatar
      The deftransform for - with a float and complex arg was negating the · dd95c758
      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.)
      dd95c758
  5. Sep 02, 2003
  6. Jul 03, 2003
  7. Jul 02, 2003
  8. Apr 23, 2003
  9. Mar 14, 2002
  10. Mar 08, 2002
    • toy's avatar
      Micro optimization for Sparc. The ftruncate code using · 95f890d7
      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.
      95f890d7
  11. Feb 25, 2002
  12. Sep 24, 2001
  13. Apr 12, 2001
    • pw's avatar
      From Ray Toy: · 9fbccc50
      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).
      9fbccc50
  14. Jul 06, 2000
  15. Apr 02, 2000
    • dtc's avatar
      From Raymond Toy: · dfee6bab
      dtc authored
      o Add support for complex FP vops, enabled by the feature :complex-fp-vop
        which should work for all Sparcs.
      dfee6bab
  16. Sep 06, 1999
  17. Jul 13, 1999
    • pw's avatar
      From Ray Toy: · 06f81774
      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.
      06f81774
  18. Jan 23, 1999
  19. Oct 01, 1998
  20. Sep 29, 1998
    • dtc's avatar
      Change the domain argument of elfun-derive-type-simple from a · af5e6fb5
      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.
      af5e6fb5
  21. Sep 20, 1998
  22. Aug 23, 1998
  23. Aug 22, 1998
  24. Jul 24, 1998
  25. Apr 15, 1998
  26. Mar 30, 1998
  27. Mar 27, 1998
  28. Mar 21, 1998
  29. Feb 24, 1998
  30. Feb 20, 1998
    • dtc's avatar
      Enhance one-arg-derive-type to optionally allow member types to be · 8a3a13c2
      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.
      8a3a13c2
  31. Feb 19, 1998
    • dtc's avatar
      Rework many of the derive-type optimizers: · 6d9d64ba
      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.
      6d9d64ba
  32. Feb 05, 1998
    • dtc's avatar
      Enhancement from Raymond Toy: · af31e6b2
      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.
      af31e6b2
  33. Jan 24, 1998
    • dtc's avatar
      Fix for elfun-derive-type-simple which was incorrectly deriving a · 6146fa3d
      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.
      6146fa3d
  34. Jan 05, 1998
    • dtc's avatar
      Enhancement of the arithmetic function derive type optimizers to · cea76a8f
      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.
      cea76a8f
  35. Jan 02, 1998
  36. Dec 20, 1997
Loading