Ray tracing submission to the liboptv 

ray_tracing is one of the core functions used by many higher order functions such as epi_to_mm, etc. This function takes the Exterior, Interior, Glass and multi-media parameters, the point of incidence of the vector on the air-side of glass and returns the position of the vector on the water side and the angles of the vector looking into the water side. 

I created the unit-test suite for all the used subfunctions:

norm_cross
dot
matmul
ray_tracing

there are few important things to note in this submission:

the tests are a bit complex, allowing for floating values comparison within a predefined tolerance (1E-5 at the moment)

fail_unless is apparently appreciated by the Check (current version used on Mac OS X is 2.8.10) so we changed the tests to use 
ck_assert_msg( ) function which is much more informative and helpful if we use:


make
make test 
ctest -VV 

ctest -VV is the most verbosed run of the check unit test suite, printing each of the failed messages. Use this template for other, more complicated tests.