[
https://issues.apache.org/jira/browse/ARROW-12413?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yibo Cai closed ARROW-12413.
----------------------------
Resolution: Abandoned
Recent updates to arithmetic kernels obsoletes this task.
> [C++][Compute] Improve power kernel
> -----------------------------------
>
> Key: ARROW-12413
> URL: https://issues.apache.org/jira/browse/ARROW-12413
> Project: Apache Arrow
> Issue Type: Improvement
> Components: C++
> Reporter: yibocai#1
> Priority: Major
> Labels: kernel
>
> See comments at
> https://github.com/apache/arrow/pull/9841#issuecomment-818526907
> Power kernel is modified from add/sub/mul/div kernels. But power is much more
> complicated than basic arithmetic operations. Some limitations in current
> implementation:
> - Base and exponent must be the same type, this is not reasonable
> - Null handling is delayed to the end, and power is always calculated even
> for nulls (with whatever base/exponent happen to be in the slots). This is a
> big waste of time for expensive power calculations.
> For checked power, integer overflow is checked for every multiplication. As
> the integer upper bound is already know, it can be calculate directly if the
> power will overflow. It will remove overflow checks in each iteration, but
> will introduce one expensive logarithm operation. Maybe deserve a try.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)