Csound Csound-dev Csound-tekno Search About

Re: Csound build

Date1997-02-17 17:29
FromMichael Gogins
SubjectRe: Csound build
The point about using doubles rather than floats is not the absolute
precision of the type, but rather the roundoff errors that accumulate in
repeated multiplications and other operations. There is solid knowledge
about this kind of thing in the field of numerical analysis. However, my
comments are inspired not by this knowledge, which I have not methodically
applied to the question, but rather by experience. I coded matrix inversion
with both floats and doubles and saw not only that doubles were indeed much
more precise, which I expected, but that floats were not nearly as precise
as I expected.

In the case of Csound, the only truly relevant test of the matter is blind
audition with a really good sound system. However, in the not too distant
future I will return to my matrix inversion code and post the actual
numbers to the list.

Date1997-02-17 18:26
FromEli Brandt
SubjectRe: Csound build
Michael Gogins wrote:
> In the case of Csound, the only truly relevant test of the matter is blind
> audition with a really good sound system. However, in the not too distant
> future I will return to my matrix inversion code and post the actual
> numbers to the list.

I agree that it would be useful to see some numbers.  But remember that 
matrix inversion is a notorious example of an unstable operation --
useful for demonstrating roundoff error, but there's rarely a good
reason to invert a matrix in real numerical code.  If it fails with
4-byte reals and works with 8-byte, double the matrix size and it'll
fail again.

-- 
   Eli Brandt
   eli+@cs.cmu.edu

Date1997-02-17 21:05
FromMartin Dupras
SubjectFloats vs. doubles
It may be naive, but why couldn't the option of using doubles internally 
instead of floats not be available as a command-line option?  It seems to 
me that about half of the time we really really really care about 
performance and speed, and about half of the time we care about really 
really really precise calculations. =)

At the very least, it should be possible to implement this as a flag in 
the makefile?  Then, if someone really need the precision, they could 
recompile the code with doubles thorughout.

Then again, if it was really that simple, it would most certainly have 
been implemented already.

So, what am I missing?

- martin