removed old assert() in tarval_cmp() float case
[r6126]
const char *val_a = (const char*)a;
const char *val_b = (const char*)b;
- /* unordered */
+ /*
+ * shortcut: if both values are identical, they are either
+ * Unordered if NaN or equal
+ */
+ if (a == b)
+ return _desc(val_a).class == NAN ? 2 : 0;
+
+ /* unordered if one is a NaN */
if (_desc(val_a).class == NAN || _desc(val_b).class == NAN)
return 2;
*/
switch (fc_comp(a->value, b->value)) {
case -1: return pn_Cmp_Lt;
- case 0: assert(0 && "different tarvals compare equal"); return pn_Cmp_Eq;
+ case 0: return pn_Cmp_Eq;
case 1: return pn_Cmp_Gt;
case 2: return pn_Cmp_Uo;
default: return pn_Cmp_False;