| 201 | } |
| 202 | |
| 203 | inline bool IdentityImpliesEqualityNansNotEqual(const DataType& type) { |
| 204 | if (type.id() == Type::FLOAT || type.id() == Type::DOUBLE || |
| 205 | type.id() == Type::HALF_FLOAT) { |
| 206 | return false; |
| 207 | } |
| 208 | for (const auto& child : type.fields()) { |
| 209 | if (!IdentityImpliesEqualityNansNotEqual(*child->type())) { |
| 210 | return false; |
| 211 | } |
| 212 | } |
| 213 | return true; |
| 214 | } |
| 215 | |
| 216 | inline bool IdentityImpliesEquality(const DataType& type, const EqualOptions& options) { |
| 217 | if (options.nans_equal()) { |
no test coverage detected