[LAD] A small article about tools for electronic musicians

Niels Mayer nielsmayer at gmail.com
Sat May 1 20:19:22 UTC 2010


On Sat, May 1, 2010 at 11:57 AM, Tim E. Real <termtech at rogers.com> wrote:
>
> Can I get some comments on an issue nagging me for years:
> Maybe I never learned some golden rule about floating point,
>  please correct me if I'm ignorant of some crucial technique or fact
>  which would help: ...


Arbitrary precision arithmetic will take care of all these problems. At a
great cost to performance:
http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic .

It's part of the Java Language:
http://java.sun.com/j2se/1.4.2/docs/api/java/math/package-summary.html

Provides classes for performing arbitrary-precision integer arithmetic
> (BigInteger) and arbitrary-precision decimal arithmetic (BigDecimal).
> BigInteger is analogous to Java's primitive integer types except that it
> provides arbitrary precision, hence operations on BigIntegers do not
> overflow or lose precision. In addition to standard arithmetic operations,
> BigInteger provides modular arithmetic, GCD calculation, primality testing,
> prime generation, bit manipulation, and a few other miscellaneous
> operations. BigDecimal provides arbitrary-precision signed decimal numbers
> suitable for currency calculations and the like. BigDecimal gives the user
> complete control over rounding behavior, allowing the user to choose from a
> comprehensive set of eight rounding modes.


Arbitrary precision math has been part of the Lisp/Scheme world for a long
time; it's also in the mainstream  via mathematica:
http://groups.google.com/group/comp.soft-sys.math.mathematica/topics?pli=1

-- Niels
http://nielsmayer.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20100501/0367d02a/attachment.html>


More information about the Linux-audio-dev mailing list