[ 
https://issues.apache.org/jira/browse/ARROW-9432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17407753#comment-17407753
 ] 

Eduardo Ponce edited comment on ARROW-9432 at 9/1/21, 1:59 AM:
---------------------------------------------------------------

Given that there are multiple kernels that 
"behave-different-on-negative-indices" and there are different semantics of 
what a negative index entails, this can be handled in Arrow C++ by having a 
utility function with an option to dictate on how to interpret negative indices 
and always resolve to a set of nonnegative indices. For kernels that have index 
parameters and where negative indices are meaningful, we could have an option 
to specify the desired behavior and set the default value based on the 
language's semantics. These kernels would then resolve the negative indices 
before processing any data.

The drawback from this approach is having an additional (non-familiar) option 
for these kernels, so maybe resolving the negative indices in the particular 
language bindings might be a better choice.


was (Author: edponce):
Given that there are multiple kernels that 
"behave-different-on-negative-indices" and there are different semantics of 
what a negative index entails, this can be handled by having a utility function 
with an option to dictate on how to interpret negative indices and always 
resolve to a set of nonnegative indices. For kernels that have index parameters 
and where negative indices are meaningful, we could have an option to specify 
the desired behavior and set the default value based on the language's 
semantics. These kernels would then resolve the negative indices before 
processing any data.

The drawback from this approach is having an additional (non-familiar) option 
for these kernels, so maybe resolving the negative indices in the particular 
language bindings might be a better choice.

> [C++/Python] Add option to Take kernel to interpret negative indices as 
> indexing from the right
> -----------------------------------------------------------------------------------------------
>
>                 Key: ARROW-9432
>                 URL: https://issues.apache.org/jira/browse/ARROW-9432
>             Project: Apache Arrow
>          Issue Type: New Feature
>          Components: C++, Python
>            Reporter: Uwe Korn
>            Priority: Major
>             Fix For: 6.0.0
>
>
> Currently negative integers are explicitly forbidding in the {{Take}} kernel. 
> It would be nice to have the option to treat negative integers as "indices 
> from the right" instead.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to