| 137 | } |
| 138 | |
| 139 | SIValue AR_EQ(SIValue *argv, int argc, void *private_data) { |
| 140 | SIValue a = argv[0]; |
| 141 | SIValue b = argv[1]; |
| 142 | |
| 143 | int disjointOrNull = 0; |
| 144 | int res = SIValue_Compare(a, b, &disjointOrNull); |
| 145 | if(disjointOrNull == COMPARED_NULL) return SI_NullVal(); |
| 146 | if(disjointOrNull == COMPARED_NAN) return SI_BoolVal(false); |
| 147 | if(disjointOrNull == DISJOINT) return SI_BoolVal(false); |
| 148 | // Disjoint comparison is allowed on EQ and NE operators, since they impose no order. |
| 149 | return SI_BoolVal(res == 0); |
| 150 | } |
| 151 | |
| 152 | SIValue AR_NE(SIValue *argv, int argc, void *private_data) { |
| 153 | SIValue a = argv[0]; |
nothing calls this directly
no test coverage detected