-
Notifications
You must be signed in to change notification settings - Fork 0
ARROW-9843: [C++] Implement Between ternary kernel #8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ARROW-9843: [C++] Implement Between ternary kernel #8
Conversation
|
@bkmgit This PR is incomplete (only supports input BooleanTypes) but it shows how to do dispatch at runtime based on input type and This structure will allow implementing template <BetweenOptions::Inclusive Inclusive>
struct NotBetween {
template <typename T, typename Arg0, typename Arg1, typename Arg2>
static T Call(KernelContext*, const Arg0& middle, const Arg1& left, const Arg2& right, Status*) {
static_assert(std::is_same<T, bool>::value && std::is_same<Arg0, Arg1>::value && std::is_same<Arg1, Arg2>::value, "");
return !BetweenImpl<Inclusive>::Between(middle, left, right);
}
}; |
|
Thanks for the example. |
|
@edponce Am happy to merge this and continue developing it later today. |
|
@bkmgit I have locally reworked this PR a bit, so I will update it in the next 2 hours and you can continue completing it. Does this works for you? |
|
That is fine. Can start in about 10 hours. |
|
@bkmgit I pushed the most recent code in this PR. Feel free to continue development on top of this PR. Two things to note:
|
|
@edponce Thanks. |
Adds Between ternary kernel with internal dispatching of inclusive options.