define FLT_EPSILON as something like 1e-20 and rewrite the check as CHECK(fabs(f - ff) < FLT_EPSILON)?
In math epsilon is a small value tending towards zero. The intent here is to check that you get back something close to ff without assuming that the floating-point arithmetic involved in many is exact enough to return ff.
Ok, the implication then for testing is that
ffiPushSingleFloat ffiReturnFloatValue
modify the floating point value slightly, if that is acceptable then you need to epsilon test.
also GCC seems to define #define FLT_EPSILON 1.19209290e-07F across all flavours of CPUs and float word lengths. perhaps via "float.h"
-- =========================================================================== John M. McIntosh johnmci@smalltalkconsulting.com Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================