Difference between revisions of "Talk:Ieee arithmetic"
Colin-adams (Talk | contribs) (→Not IEEE arithmetic, nor maths: new section) |
(→Not IEEE arithmetic, nor maths) |
||
Line 9: | Line 9: | ||
Does it affect the benchmarks? | Does it affect the benchmarks? | ||
+ | '''--[[User:Colin-adams|Colin-adams]] 14:48, 3 February 2010 (UTC)''' | ||
== Not IEEE arithmetic, nor maths == | == Not IEEE arithmetic, nor maths == | ||
− | |||
NaN = NaN is never true. | NaN = NaN is never true. | ||
And placing NaNs in a sort order isn't write either - REAL_32/64 are not totally ordered types. | And placing NaNs in a sort order isn't write either - REAL_32/64 are not totally ordered types. | ||
− | --[[User: | + | |
+ | :'''--[[User:Manus|manus]] 17:57, 3 February 2010 (UTC)''' How do you solve the problem of assertions then in ARRAY.put for example? |
Revision as of 08:57, 3 February 2010
Most probably C compilers inline functions, but just to be sure, I'd convert them into the macros:
#define to_raw_bits(d) *((EIF_NATURAL_64*)&(d)) #define eif_is_nan_bits(value) ((value & ~RTU64C(0x8000000000000000)) > RTU64C(0x7ff0000000000000)) #define eif_is_nan(v) ((*((EIF_NATURAL_64 *)&(v)) & ~RTU64C(0x8000000000000000)) > RTU64C(0x7ff0000000000000))
Does it affect the benchmarks?
--Colin-adams 14:48, 3 February 2010 (UTC)
Not IEEE arithmetic, nor maths
NaN = NaN is never true.
And placing NaNs in a sort order isn't write either - REAL_32/64 are not totally ordered types.
- --manus 17:57, 3 February 2010 (UTC) How do you solve the problem of assertions then in ARRAY.put for example?