Copilot commented on code in PR #55293:
URL: https://github.com/apache/arrow/pull/55293#discussion_r4532187350


##########
cpp/src/arrow/compute/expression.cc:
##########
@@ -1305,9 +1459,9 @@ struct Inequality {
         break;
     }
 
-    std::string func_name = Comparison::GetName(guarantee.cmp);
+    std::string func_name = Comparison::GetName(cmp);
     DCHECK_NE(func_name, "na");
-    std::vector<Datum> args{options->value_set, guarantee.bound};
+    std::vector<Datum> args{options->value_set, bound};

Review Comment:
   For `is_in(cast(f64, float32), float64[51.00000001])` under `f64 <= 
51.00000001`, the kernel rounds both the row and lookup entry to `51f`, so the 
row matches. This comparison instead drops the original double entry against 
the rounded bound, simplifying the filter to false and potentially pruning 
matching rows. Compare entries after the kernel's safe value-set cast, skip 
simplification if that cast fails, and add an execution-equivalence regression 
test.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to