"Simpler" bigfloat and complex bigfloat arithmetic
Subject: "Simpler" bigfloat and complex bigfloat arithmetic
From: Raymond Toy
Date: Mon, 05 Jan 2009 14:47:14 -0500
Richard Fateman wrote:
> There are lots of possible classes. It is easy to start programming up
>
> real-interval:to
> quad-float:to
> polar-double-float:to
> projective-rational:to [includes infinity]
> affine-rational:to [includes infinity]
> ...
>
> and then maxima:to
> must be extended also
>
I've renamed NUMERIC to BIGFLOAT, and implemented BIGFLOAT:TO and
MAXIMA::TO. BIGFLOAT:TO is a function, but MAXIMA::TO is a method,
which, I hope, should make it easy to extend MAXIMA::TO with the
possibilities you mention above.
The only possible issue is that you mentioned GENERIC:+. It's currently
in the bigfloat package, but that shouldn't be a problem in practice.
I don't expect to change the package name from BIGFLOAT to anything
else, and the TO functions are here to stay unless someone really
objects. So, if people want to start using this, it should be ok. I'm
sure there are bugs and missing functionality. If you are converting
plain CL code to bigfloat, and you find you're missing something, let me
know.
> That's what I tried to systematize with the lisp generic package. I don't
> know that I succeeded in making it as simple as possible.
>
> I think that bigfloat / complex bigfloat is probably the most useful
> for maxima.
Real intervals would be interesting. Perhaps someone would be
interested in doing this. (Having implemented an interval package
sometime ago, I might try this again.)
Ray