[Ecls-list] Release candidate for ECL 12.2.1

Waldek Hebisch hebisch at math.uni.wroc.pl
Sat Feb 4 21:18:49 UTC 2012

Juan Jose Garcia-Ripoll wrote:
> Accepting this, I feel that a release can be safely produced

With git of today, at safety 1 FriCAS builds fine and passes
its tests.  However, if I lower safety to 0 I got an error.
Short FriCAS transcript:

(1) -> S3 := (1/2)*(exp(t*sqrt(-1)) + exp(-t*sqrt(-1)))::Expression(Float)

                +-----+                 +-----+
              t\|- 1.0          - 1.0 t\|- 1.0
   (1)  0.5 %e          + 0.5 %e
                                                      Type: Expression(Float)
(2) -> draw(S3,t=0..100)

;;; OPTIMIZE levels: Safety=0, Space=0, Speed=3, Debug=0
;;; End of Pass 1.   Compiling function %E with type DoubleFloat -> DoubleFloat 
   >> System error:
   In function COERCE, the value of the first argument is
  #C(6.123233995736766e-17 1.0)
which is not of the expected type REAL

ATM I can not isolate the problem -- the command above
generates a piece of Lisp code, compiles it and then runs it.
The code contains single COERCE, in a function which first checks
if imaginary part of complex number is small, and then coerces
real part to double float.  Given what the code should be doing
error does not make sense.  If I compile generated code outside
of FriCAS it runs fine.

Of course, I am not sure that error is in generated code, because
I can not get reasonable backtrace.  Is there a place in ECL so
that after attaching gdb I could set a breakpoint there and
get control passed to gdb when ecl would like to signal error?

                              Waldek Hebisch
hebisch at math.uni.wroc.pl 

More information about the ecl-devel mailing list