[ 
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)

Reply via email to