> You have literal byte arrays of floats in the unit tests...
>

The problem is floating-point error trying to do single-precision  
complex division:

-- 8< --
{
     [ cvector{ 2.0 1.0 } ]
     [ cvector{ C{ 16.0 4.0 } C{ 8.0 2.0 } } C{ 8.0 2.0 } V/n ]
}
Assertion failed
Expect: { cvector{ 2.0 1.0 } }
Got:    { cvector{ 1.99999988079071 0.9999999403953552 } }
Traceback
{
     [ cvector{ 2.0 1.0 } ]
     [ cvector{ C{ 16.0 4.0 } C{ 8.0 2.0 } } C{ 8.0 2.0 } V/n ]
}
Assertion failed
Expect:
{ cvector{ 2.0 1.0 } }
Got:
{ cvector{ 1.99999988079071 0.9999999403953552 } }
-- >8 --

I changed the test to divide by C{ 1.0 1.0 } (whose reciprocal is the  
conveniently power-of-two C{ 0.5 -0.5 }), and the tests now pass.

-Joe

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Factor-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to