t_AudioPort: fix degenerate tests on float precision.
authorGabriel M. Beddingfield <gabriel@teuton.org>
Mon, 19 Jul 2010 17:17:39 +0000 (12:17 -0500)
committerGabriel M. Beddingfield <gabrbedd@gmail.com>
Fri, 15 Jul 2011 03:00:36 +0000 (22:00 -0500)
commit55d1e3e315cc41d0c5d0d27969294ac27a39aa78
treee773f1ad1294ff921cf632a53d883a356b42e697
parentb9fc92d354c0b411b0a91d3fccdb1d4665de80dd
t_AudioPort: fix degenerate tests on float precision.

The original t_AudioPort expected a floating point eps of < 1.0e-45.
This is actually unreasonable for a 32-bit float, which usually has
24-bits of precision.  I.e. when close to 1.0, the minimum precision
is 1.0/(2^24) = 5.96e-08.  So, this test is updated to use twice that:
12.0e-08.

In addition, may of the tests were thing like:

   right[k] = (1.0f/left[k])

However, it's more complex to prove the precision of this calculation.
So, these have been changed to a simpler:

   right[k] = (1e-6f * left[k])

Which should always be within the 12.0e-08 precision.
src/Tritium/test/t_AudioPort.cpp