> above everything was OK with plot3d, but below the only
> difference is single replacement of 0.5 with 1/2 and this
> causes the error message.
I believe this bug has been fixed.
If you put the code below into a file named "plotfloatfix.lisp" and
execute load("...pathname.../plotfloatfix.lisp"), that should fix the
problem. The Lisp function 'float' has been changed to the Maxima
function '$float', which knows about Maxima rationals, Maxima bigfloats,
etc.
-s
(defun coerce-float-fun (expr &optional lvars)
(cond ((and (consp expr) (functionp expr))
expr)
((and (symbolp expr) (not (member expr lvars)))
(cond ((fboundp expr) expr)
(t
(let* ((mexpr (mget expr 'mexpr))
(args (nth 1 mexpr)))
(or mexpr (merror "Undefined function ~a" expr))
(coerce `(lambda ,(cdr args)
(declare (special ,@(cdr args)))
($float ($realpart(meval* ',(nth 2 mexpr)))
1d0))
'function)))))
(t
(let ((vars (or lvars ($sort ($listofvars expr))))
;(na (gensym "TMPF"))
)
(coerce `(lambda ,(cdr vars) (declare (special ,@(cdr vars)))
($float ($realpart (meval* ',expr)) 1d0))
'function)))))