What is the correct way to test for equality in the bigfloat package? There are lots of considerations, I know (does 1.0 = 1.0b0, and ...).
But I get a Lisp error testing for equality between 0.1b0 + %i & 0.2b0.
(%i34) (x : 0.1b0, y: 0.2b0)$
Both OK
(%i35) :lisp(bigfloat::= (bigfloat::to $x) (bigfloat::to $y))
NIL
(%i35) :lisp(bigfloat::= (bigfloat::to $x) (bigfloat::to $x))
T
Oops:
(%i35) x : 0.1b0 + %i$
(%i36) :lisp(bigfloat::= (bigfloat::to $x) (bigfloat::to $y))
Maxima encountered a Lisp error:
Error in PROGN [or a callee]: No matching method for the generic-function #<compiled-closure BIGFLOAT::TWO-ARG-=>,
when called with arguments (+2.0b-1 +1.0b-1+1.0b0*%i).
--Barton