]> git.mxchange.org Git - simgear.git/commitdiff
create an absolute value before calling log or log10, this adds support for sound...
authorehofman <ehofman>
Mon, 30 Jan 2006 20:30:56 +0000 (20:30 +0000)
committerehofman <ehofman>
Mon, 30 Jan 2006 20:30:56 +0000 (20:30 +0000)
simgear/sound/xmlsound.cxx

index 3bd9bd89f14458108e74d2c1d76a2a04af88398a..0c8c3fd92ebf37ba64402701115ba1d90283c4f2 100644 (file)
 #include "xmlsound.hxx"
 
 
+#define LOG_ABS(x) (((x) > 1) ? (x) : (((x) < -1) ? -(x) : 0))
 // static double _snd_lin(double v)   { return v; }
 static double _snd_inv(double v)   { return (v == 0) ? 1e99 : 1/v; }
 static double _snd_abs(double v)   { return (v >= 0) ? v : -v; }
 static double _snd_sqrt(double v)  { return (v < 0) ? sqrt(-v) : sqrt(v); }
-static double _snd_log10(double v) { return (v < 1) ? 0 : fast_log10(v); }
-static double _snd_log(double v)   { return (v < 1) ? 0 : fast_log(v); }
+static double _snd_log10(double v) { return fast_log10( LOG_ABS(v) ); }
+static double _snd_log(double v)   { return fast_log( LOG_ABS(v) ); }
 // static double _snd_sqr(double v)   { return v*v; }
 // static double _snd_pow3(double v)  { return v*v*v; }