imageworks/OpenColorIO — pull request #267 by jeremyselan (2012-04-19 02:02:41+00:00)
Title: core: unit tests pass on the travis-ci continuous integration vm

Unit tests, with this commit, pass the travis-ci continuous integration

http://travis-ci.org/#!/jeremyselan/OpenColorIO/builds/1125208

On 32-bit virtual machines, the matrix inverse determinant calculation used
float intermediate results, which unfortunately builds up error that exceed our
== 0.0 check. (This doesnt happen on normal x86 code paths I believe due to the
float calculations probably staying in their native 80-bit internal
representations).

After careful consideration, this updates the matrix inverse code to use double
precision, which makes the calculation sufficiently precise across all
architectures.

Performance is not a consideration here, as this code is never run per-pixel,
but rather a handful of times duing the getprocessor call.