On Mon, Feb 6, 2012 at 5:36 PM, Juan Jose Garcia-Ripoll <
juanjose.garciarip...@googlemail.com> wrote:
> Thanks. I have found a bug in the type propagator for EXPT and committed a
> fix to my local tree. It will be uploaded tonight or tomorrow, depending on
> how the test of other fixes proceeds.
On Mon, Feb 6, 2012 at 3:43 PM, Waldek Hebisch wrote:
> As you can see ECL thinks that
>
> '(EXPT (/ -1.0 1.0) (/ 1 (/ 2.0 1.0)))'
>
> produces value of type 'double-float', but of course this is complex.
> Since the only declaration is about '|t|' ECL has no reason to
> make such an assumption.
>
At safety 0 ECL 12.2.1 miscompiles the following file:
(defun |c_to_rf| (c) (realpart c))
(DEFUN %D (|t|)
(DECLARE (DOUBLE-FLOAT |t|))
(|c_to_rf|
(/
(+
(* 0.5
(EXP
(/ (* (* 1.0 |t|) (EX