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: Mon, 4 Jun 2007 01:42:04 +0200 (CEST)

Bill Page wrote:
> On June 3, 2007 3:15 PM Waldek Hebisch wrote:
> > 
> > Bill Page wrote:
> > > After building Axiom from a recent version of wh-sandbox
> > > (revision 580) I get the following error. The first draw
> > > command works fine but simpler examples fail:
> > > 
> > > (1) -> draw(sin(x*y),x=-5..5,y=-5..5)
> > >    Compiling function %H with type (DoubleFloat,DoubleFloat) ->
> > >       DoubleFloat
> > >    Transmitting data...
> > > 
> > >    (1)  ThreeDimensionalViewport: "sin x*y"
> > >                                                Type:
> > > ThreeDimensionalViewport
> > > (2) -> draw(sin(x),x=-5..5)
> > >    Compiling function %J with type DoubleFloat -> DoubleFloat
> > > 
> > >    >> Error detected within library code:
> > >    Not an integer
> > > 
 
> Here's the debugger ouput.
> 

> (1) ->
> (1) -> )lisp (si::use-fast-links nil)
> )set break break
> 
> Value = NIL
> (1) -> (1) -> draw(sin,-5.0..5.0)
> 
>    >> 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=41]
> #1   handleLispBreakLoop {loc0=|break|,loc1=nil,loc2=((arg (nil))),loc3=nil}
> [ihs=40]
> #2   errorSupervisor1 {loc0=|AlgebraError|,loc1="Not an
> integer",loc2=|break|,loc3="Error detected wit...} [ihs=39]
> #3   errorSupervisor {loc0=|AlgebraError|,loc1="Not an integer"} [ihs=38]
> #4   error {loc0="Not an integer"} [ihs=37]
> #5   DFLOAT;manexp {loc0=-5.0,loc1=#<vector 08e83560>,loc2=((|Integer|)
> $),loc3=#<vector 08e83560>,...} [ihs=36]

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

sign(-5.0)$DoubleFloat

)lisp (float-sign -5.0 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"))))))))



-- 
                              Waldek Hebisch
address@hidden 







reply via email to

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