Commits


Benjamin Kietzman authored and Antoine Pitrou committed b2adf33f11e
ARROW-2102: [C++] Implement Take kernel This implements take as a `BinaryKernel` Out of bounds indices raise an error. All integer index types should be supported. Supported value types are numeric, boolean, null, binary, dictionary, and string (untested: fixed width binary, time/date). In addition to `TakeKernel`, a convenience function is implemented which takes arrays as its arguments (currently only array inputs are supported). Author: Benjamin Kietzman <bengilgit@gmail.com> Closes #3880 from bkietz/ARROW-2102-Implement-take-kernel-functions-primitiv and squashes the following commits: a0250e5ba <Benjamin Kietzman> Remove out of bounds option- always raise an error 99792b795 <Benjamin Kietzman> address review comments 3a1ef1285 <Benjamin Kietzman> renaming, remove superflous DCHECK cc821c617 <Benjamin Kietzman> avoid conflict with macro in R_ext/RS.h b64722d13 <Benjamin Kietzman> use NULLPTR in public headers 198320d7a <Benjamin Kietzman> incorporate Francois' suggestions 8be7df1c7 <Benjamin Kietzman> fix take-test 4a6932fd4 <Benjamin Kietzman> add take kernel to api.h c5fd66955 <Benjamin Kietzman> add test for taking from DictionaryArrays a7dd73975 <Benjamin Kietzman> explain null behavior in Take doccomment 14e837ef8 <Benjamin Kietzman> add better explanatory comment for Take e94fe312b <Benjamin Kietzman> use Datum::make_array 5fd6a2126 <Benjamin Kietzman> add default case for switch(out_of_bounds) 7b840c7dc <Benjamin Kietzman> first draft of take kernel impl