mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-11 03:33:11 -08:00
The compiler inlined SQRT of negative number using the C sqrt function.
This commit is contained in:
parent
dcf915593e
commit
43967003d4
2 changed files with 5 additions and 2 deletions
|
|
@ -37,6 +37,9 @@ ECL 0.9h
|
|||
|
||||
- SUBTYPEP formerly broken when handling (EQL #C(...))
|
||||
|
||||
- Fixed several type propagations: for instance, the compiler assumed that
|
||||
SQRT of a real number is always real.
|
||||
|
||||
* Design:
|
||||
|
||||
- Simplified the structure of the frame stack, removing redundant fields.
|
||||
|
|
|
|||
|
|
@ -867,8 +867,8 @@
|
|||
(def-inline log :always (fixnum-float) :float "(float)log((double)(#0))")
|
||||
|
||||
(proclaim-function sqrt (number) number :no-side-effects t)
|
||||
(def-inline sqrt :always (fixnum-float) :double "sqrt((double)(#0))")
|
||||
(def-inline sqrt :always (fixnum-float) :float "(float)sqrt((double)(#0))")
|
||||
(def-inline sqrt :always ((or (long-float 0.0 *) (double-float 0.0 *))) :double "sqrt((double)(#0))")
|
||||
(def-inline sqrt :always ((or (single-float 0.0 *) (short-float 0.0 *))) :float "(float)sqrt((double)(#0))")
|
||||
|
||||
(proclaim-function sin (number) number :no-side-effects t)
|
||||
(def-inline sin :always (fixnum-float) :double "sin((double)(#0))")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue