openexr-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Openexr-devel] Strange issue with half and _toFloat array.


From: Simon Smith
Subject: [Openexr-devel] Strange issue with half and _toFloat array.
Date: Thu, 13 Feb 2014 14:03:18 +0000

I've built the OpenEXR files under Windows using VS2012 from the source linked from the OpenEXR website.
Everything builds OK (after a few tweaks as mentioned on this group) and the HalfTest runs OK.

I was having issues with half/floats in my application, so I wrote a quick test command line app to check everything was OK.
Not unsurprisingly, it was not!

This was the code … 

float f1 = 0.0f;
float f2 = 4.0f;
half h1 = f1;
h1 += f2;
float fRes = h1;

assert(fRes = 4.0f);

When converting from the half to a float to get fRes I'm getting an exception reading from the _toFloat array.

I'm not quite sure how or why this happens - if I debug in the testArithmetic call in the HalfTest, it all seems OK … so why would my test program not load the DLL correctly, but the HalfTest does.

Pretty sure it's something dumb that I'm doing, but cannot think what it might be.

I'm using VS2012, Win8.1, running Debug x64 builds and the ilmbase-2.1.0 sour code (built in VS2012 too).

As a side note, when building the source I had to do the following:
1) Include config.windows to the Iex and IMath libraries
2) Manually copy the halfExport.h files over to the deploy directory.
3) Patch BaseExc to have a std::string member & change the IEX_EXPORT decorations around (as outlined in an earlier post)

So, any ideas, solutions, suggestions greatly appreciated to save my sanity :)

Best Regards,
   Simon

reply via email to

[Prev in Thread] Current Thread [Next in Thread]