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: Bill Page
Subject: RE: [Axiom-developer] Re: problem plotting simple functions
Date: Sun, 3 Jun 2007 22:17:04 -0400

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

#0   BREAK {loc0=nil,loc1=nil,loc2=#<synonym stream to *terminal-io*>,loc3="
",loc4=nil,loc...} [ihs=38]
#1   handleLispBreakLoop {loc0=|break|,loc1=nil,loc2=((arg (nil))),loc3=nil}
[ihs=37]
#2   errorSupervisor1 {loc0=|AlgebraError|,loc1="Not an
integer",loc2=|break|,loc3="Error detected wit...} [ihs=36]
#3   errorSupervisor {loc0=|AlgebraError|,loc1="Not an integer"} [ihs=35]
#4   error {loc0="Not an integer"} [ihs=34]
#5   DFLOAT;manexp {loc0=-5.0,loc1=#<vector 08e40dc0>,loc2=((|Integer|)
$),loc3=#<vector 08e40dc0>,...} [ihs=33]
#6   DFLOAT;exponent;$I;9 {loc0=-5.0,loc1=#<vector 08e40dc0>} [ihs=32]
#7   FUNCALL {loc0=#<compiled-function
|DFLOAT;exponent;$I;9|>,loc1=-5.0,loc2=#<vector 08e40d...} [ihs=31]
#8   FUNCALL {loc0=#<compiled-function
|DFLOAT;exponent;$I;9|>,loc1=-5.0,loc2=#<vector 08e40d...} [ihs=30]
#9   EVAL {loc0=nil,loc1=nil,loc2=nil,loc3=(let ((#0=#:g1426 #)) (the
(values t) (funcall ...} [ihs=27]
#10   timedEvaluate {code=(spadcall -5.0 (quote (#<compiled-function
|DFLOAT;exponent;$I;9|> . #<vec...} [ihs=26]
#11   timedEVALFUN {loc0=(spadcall -5.0 (quote (#<compiled-function
|DFLOAT;exponent;$I;9|> . #<vec...} [ihs=25]
#12   evalFormMkValue {loc0=#<vector 08e83660>,loc1=(spadcall -5.0 (quote
(#<compiled-function |DFLOAT...} [ihs=24]
#13   evalForm {loc0=#<vector 08e83660>,loc1=|exponent|,loc2=((#<vector
08e83680> (#<vector 08e...} [ihs=23]
#14   bottomUpForm2 {loc0=(#<vector 08e83660> (#<vector 08e83680> (#<vector
08e836a0> # #))),loc1=#<...} [ihs=22]
#15   bottomUpForm3 {loc0=(#<vector 08e83660> (#<vector 08e83680> (#<vector
08e836a0> # #))),loc1=#<...} [ihs=21]
#16   bottomUpForm {loc0=(#<vector 08e83660> (#<vector 08e83680> (#<vector
08e836a0> # #))),loc1=#<...} [ihs=20]
#17   bottomUp {loc0=(#<vector 08e83660> (#<vector 08e83680> (#<vector
08e836a0> # #))),loc1=1} [ihs=19]
#18   upDollar {loc0=(#<vector 08e83640> |DoubleFloat| (#<vector 08e83660>
(#<vector 08e83680> ...} [ihs=18]
#19   bottomUp {loc0=(#<vector 08e83640> |DoubleFloat| (#<vector 08e83660>
(#<vector 08e83680> ...} [ihs=17]
#20   interpret1 {loc0=((|$elt| |DoubleFloat| |exponent|) (- (# 5 0
...))),loc1=nil,loc2=(|Applic...} [ihs=16]
#21   interpret {g104636=((|$elt| |DoubleFloat| |exponent|) (- (# 5 0
...))),loc1=(|Application|...} [ihs=15]
#22   interpretTopLevel {loc0=((|$elt| |DoubleFloat| |exponent|) (- (# 5 0
...))),loc1=(|Application| (|...} [ihs=14]
#23   processInteractive1 {loc0=((|$elt| |DoubleFloat| |exponent|) (- (# 5 0
...))),loc1=(|Application| (|...} [ihs=13]
#24   processInteractive {loc0=((|$elt| |DoubleFloat| |exponent|) (- (# 5 0
...))),loc1=(|Application| (|...} [ihs=12]
#25   intInterpretPform {loc0=(|Application| (|Fromdom| (# . |exponent|) (#
. |DoubleFloat|)) (|Applicat...} [ihs=11]
#26   ncConversationPhase {fn=#<compiled-function
|phInterpret|>,args=(((|carrier| # # ...))),loc2=(((# . ...} [ihs=10]
#27   intloopSpadProcess,interp {loc0=((|carrier| (|ok?| . t)
(|ptreePremacro| . #0=(|Application| # #)) ...)),l...} [ihs=9]
#28   intloopSpadProcess {loc0=1,loc1=(((# . 1) .
"exponent(-5.0)$DoubleFloat")),loc2=(|Application| (|Fr...} [ihs=8]
#29   intloopProcess {loc0=1,loc1=t,loc2=(((#) (|Application| # #))
|nonnullstream| #<compiled-functi...} [ihs=7]
#30   intloopProcessString {loc0="exponent(-5.0)$DoubleFloat",loc1=1}
[ihs=6]
#31   TOP-LEVEL {} [ihs=5]
#32   FUNCALL {loc0=#<compiled-function
system:top-level>,loc1=nil,loc2=0,loc3=0,loc4=nil,loc5...} [ihs=4]
NIL
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 copy I have:
> 
> (DEFUN |DFLOAT;sign;$I;81| (|x| $)
>   (SPADCALL (FLOAT-SIGN |x| 1.0) (QREFELT $ 115)))
> 
> and earlier:
> 
> (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"))))))))
> 

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?

Regards,
Bill Page.






reply via email to

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