diff options
Diffstat (limited to 'muse/plugins/freeverb/denormals.h')
-rw-r--r-- | muse/plugins/freeverb/denormals.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/muse/plugins/freeverb/denormals.h b/muse/plugins/freeverb/denormals.h new file mode 100644 index 00000000..d18412b4 --- /dev/null +++ b/muse/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 + |