Looks like Concatenate is my best bet if I am looking at putting together ranges, certainly doesn’t look as neatly packaged as Take, but this might be the right tool for this job.
> On Jun 26, 2020, at 1:01 PM, Radu Teodorescu <radukay...@yahoo.com.INVALID> > wrote: > > That is fabulous and pretty much it! > Follow up questions: > 1. Is there any efficient way to refer to ranges: say I want to take rows > 1000-2000 and 4000-5000, feels unwieldy to have to create an index array of > 2000 elements and then also the underlying implementation would be less > efficient having to iterate over those indices an copy elements one by one, > rather than do two memcopies and be done. > 2. Is the chunk structure being preserved - the deprecated API suggests that > if the input is a ChunkedArray the output is also a ChunkedArray - my hope > and expectation was to pic ranges from multiple Array objects drop them all > into a single Array and I am not sure the Datum version does that > 3. Is it possible to append to an existing Array (or Datum in general) rather > than have a new Array/Datum produced by the Take function. > > Thanks a lot for the quick response (and for all awesome work you guys have > been putting into this project) > Radu > > > >> On Jun 26, 2020, at 12:39 PM, Micah Kornfield <emkornfi...@gmail.com> wrote: >> >> This sounds like the Take kernel? >> >> On Friday, June 26, 2020, Radu Teodorescu <radukay...@yahoo.com.invalid> >> wrote: >> >>> (Light weigh topic this time) >>> Are there any existing functions for deep copying Array,ArrayData or Table >>> objects in the C++ API? >>> Ultimately, I am trying to get a bunch of sparse row ranges from a ranges >>> into a contiguous new Table - I can see how I can copy Buffer and I can >>> implement it all myself, but I am trying to make sure I am not reinventing >>> the wheel. >>> >>> Thank you >>> Radu >