pass-comparison_tolerance_for_floating_point_negative_high_number_lower_bound should fail
<simpleValue>-1000000.</simpleValue> #10=IFCPROPERTYSINGLEVALUE('Foo',$,IFCREAL(-1000001.0000010000),$); x == v ⇒ (v - abs(v) × ϵ - ϵ) < x < (v + abs(v) × ϵ + ϵ) with a tolerance value being: ϵ = 1.0e⁻⁶
-1000001.000001 < -1000001.000001 is false, so simpleValue != nominalValue
There are other test cases failing for the same reason. I am attaching an Excel file with a simulation of the tolerance calculation for all test cases, including an indication of which ones pass and which ones fail
There are other test cases failing for the same reason. I am attaching an Excel file...
As I remember I found other tests very tidy but fits the definition above, could you double check?
My biggest concert the definition is not symmetric, in some cases x==v but v!=x. Please check your direction
And maybe buildingSMART team should rethink the definition, asymmetric equality is very strange thing.