Take the following code example. osu_max_F32 is a wrapper for fmaxf. (Using an OMAP-L138, this is code compiled for the ARM9).
test_number = osu_max_F32(35.0, 30.0);
snprintf(Str, MAXSTRING - 1,"Valid: osu_max_F32(35.0,30.0) = %llf", test_number);
status[0] = (test_number > 34.9) ? TRUE : FALSE;
status[1] = (test_number < 35.1) ? TRUE : FALSE;
RValue = result(Str,(status[0] && status[1]), pEb,2);
Status[0] get a 1 like it should but status[1] gets a 0. Looking at the assembly code test_number gets converted to a double like I would expect but the comparison fails.
That shouldn't happen right or what am I missing? Please enlighten me.
If I change the constants to have "F" behind them (35.1F) it works.