Re: Csound build
Date | 1997-02-17 17:29 |
From | Michael Gogins |
Subject | Re: 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. |
Date | 1997-02-17 18:26 |
From | Eli Brandt |
Subject | Re: 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 |
Date | 1997-02-17 21:05 |
From | Martin Dupras |
Subject | Floats 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 |