axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] Re: problem plotting simple functions


From: Waldek Hebisch
Subject: Re: [Axiom-developer] Re: problem plotting simple functions
Date: Thu, 7 Jun 2007 14:42:16 +0200 (CEST)

Bill Page wrote:
> On June 3, 2007 7:42 PM Waldek Hebisch wrote:
> > ... 
> > It seems that error occurs in manexp function.  More preciesly,
> > manexp calls sign function which looks like the only place which
> > could signal this error.
> > 
> > Could you try:
> > 
> > exponent(-5.0)$DoubleFloat
> 
> Here's the results:
> 
> ...
> 
> (1) -> )set break break
> (1) -> )lisp (si::use-fast-links nil)
> 
> Value = NIL
> (1) -> exponent(-5.0)$DoubleFloat
>    Loading
>  
> /export/home0/wspage/wh-test/target/i386-pc-solaris2.10/algebra/FLOAT.o
>       for domain Float
>    Loading
>  
> /export/home0/wspage/wh-test/target/i386-pc-solaris2.10/algebra/DFLOAT.o
>       for domain DoubleFloat
> 
>    >> Error detected within library code:
>    Not an integer
> 
> 
> Break.
> Broken at SYSTEM::BREAK-LEVEL.  Type :H for Help.
> BOOT>>:bt
> 
> BOOT>> (quit)
>
 
> > 
> > sign(-5.0)$DoubleFloat
> >
> 
> Same result.
> ...
> 
>    >> Error detected within library code:
>    Not an integer
>  
> > )lisp (float-sign -5.0 1.0)
> > 
> 
> This one works.
> 
> (1) -> )lisp (float-sign -5.0 1.0)
> 
> Value = -1.0
> 
> > The first line is intended to test manexp -- manexp is internal
> > to DoubleFloat, so we can not test it directly, but exponent
> > just calls manexp and extracts one of components.  
> > 
> > Also, it may worth checking int/algebra/DFLOAT.NRLIB/code.lsp. 
> 
> In my 'int/algebra/DFLOAT.NRLIB/code.lsp' I see the same code:
> 
> (DEFUN |DFLOAT;sign;$I;81| (|x| $)
>   (SPADCALL (FLOAT-SIGN |x| 1.0) (QREFELT $ 115)))
> 
> and
> 
> (DEFUN |DFLOAT;retract;$I;79| (|x| $)
>   (PROG (|n|)
>     (RETURN
>       (SEQ (LETT |n| (FIX |x|) |DFLOAT;retract;$I;79|)
>            (EXIT (COND
>                    ((= |x| (FLOAT |n| MOST-POSITIVE-DOUBLE-FLOAT)) |n|)
>                    ('T (|error| "Not an integer"))))))))
> 
> -----------
> 
> Did I mention earlier that I am testing this on a Solaris 10
> x86 system with the Blastwave toolchain?
> 
> -bash-3.00$ gcc --version
> gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
> Copyright (C) 2004 Free Software Foundation, Inc.
> 
> Back in April my first attempts to build Axiom on this system
> failed due to a problem with gcl. But Camm Maquire was able to
> solve the gcl problem and his changes are in cvs gcl-2.6.8pre.
> This is the version of gcl that I am using now to build
> wh-sandbox. I have not found any other errors until now but
> I must admit that I did not review all of the test output.
> 
> Perhaps this is a gcl bug?
> 

Yes, this looks like gcl bug.  To be sure one would have to
perform by hand (step-by-sep) work done by DFLOAT;retract;$I;79
and see where it goes wrong (I suspect that MOST-POSITIVE-DOUBLE-FLOAT
may cause trouble).  It is possible that problems only occur in
compiled code (when you execute code from the command line
it is interpreted), however if some builtin gcl funtion gives
wrong result interpreted code should show this.

-- 
                              Waldek Hebisch
address@hidden 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]