diff options
author | Robert Jonsson <spamatica@gmail.com> | 2010-10-13 19:34:22 +0000 |
---|---|---|
committer | Robert Jonsson <spamatica@gmail.com> | 2010-10-13 19:34:22 +0000 |
commit | 8a2c2824a59d7644e13bc52c9a0ecbd641f21f95 (patch) | |
tree | 064ad3f2bf8daab0ad27b128abd86a9bbdb1e496 /muse2/plugins/freeverb/denormals.h | |
parent | a27706d9629e8b592cca4659f865b70adef24e6d (diff) |
new branch muse2, first checkin
Diffstat (limited to 'muse2/plugins/freeverb/denormals.h')
-rw-r--r-- | muse2/plugins/freeverb/denormals.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/muse2/plugins/freeverb/denormals.h b/muse2/plugins/freeverb/denormals.h new file mode 100644 index 00000000..d18412b4 --- /dev/null +++ b/muse2/plugins/freeverb/denormals.h @@ -0,0 +1,28 @@ +// Macro for killing denormalled numbers +// +// Written by Jezar at Dreampoint, June 2000 +// http://www.dreampoint.co.uk +// Based on IS_DENORMAL macro by Jon Watte +// This code is public domain + +#ifndef _denormals_ +#define _denormals_ + +// this does not work with at least gcc3.3 and -O2: +// #define undenormalise(sample) if(((*(unsigned int*)&sample)&0x7f800000)==0) sample=0.0f +// +// from Laurent de Soras Paper: Denormal numbers in floating point +// signal processing applications +// (ws) + +#define undenormalise(sample) \ + { \ + float anti_denormal = 1e-18; \ + sample += anti_denormal; \ + sample -= anti_denormal; \ + } + +#endif//_denormals_ + +//ends + |