From b703eab295330e6f81564fbb39a10a1a2fdd2f54 Mon Sep 17 00:00:00 2001 From: Robert Jonsson Date: Sun, 27 Dec 2009 11:30:35 +0000 Subject: moved old qt4 branch --- muse_qt4_evolution/plugins/freeverb/denormals.h | 38 +++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 muse_qt4_evolution/plugins/freeverb/denormals.h (limited to 'muse_qt4_evolution/plugins/freeverb/denormals.h') diff --git a/muse_qt4_evolution/plugins/freeverb/denormals.h b/muse_qt4_evolution/plugins/freeverb/denormals.h new file mode 100644 index 00000000..37d3ed27 --- /dev/null +++ b/muse_qt4_evolution/plugins/freeverb/denormals.h @@ -0,0 +1,38 @@ +// 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) + +#if 0 +#define undenormalise(sample) \ + { \ + float anti_denormal = 1e-18; \ + sample += anti_denormal; \ + sample -= anti_denormal; \ + } +#endif + +// from beast-0.7.2 (Tim Janik/Stefan Westerfeld): + +#define undenormalise(sample) \ + do { \ + volatile float __forced_float = 1e-29 + sample; \ + sample = __forced_float - 1e-29; \ + } while (0) + +#endif//_denormals_ + +//ends + -- cgit v1.2.3