Re: RLE array slicing

2022-09-15 Thread Weston Pace
Thank you everyone, I think I was pretty far off base in representing the work Tobias had done and both Tobias and Matt have clarified well. * There are two child arrays not necessarily for slicing but more to help distinguish between the logical length (there are no buffers with the logical

Re: RLE array slicing

2022-09-15 Thread Matt Topol
> why would the run ends and values have the same offset? That's why I liked the idea of the children arrays and having the parent offset being a "logical offset" and children being "physical offsets" because it maintains the independence of the arrays. Slicing the RLE is simply just setting the

Re: RLE array slicing

2022-09-15 Thread Tobias Zagorni
> { >     length: 2 >     offset: 6 >     rle: { >     length: 1 // actually physical length >     offset: 2 >     buffer: [3, 5,8] >     } >     values: { >    length: 1 >    offset: 2 >    buffer: [5, 6, 7] >     } > } > Does this make sense? I think this is a valid way

Re: RLE array slicing

2022-09-15 Thread Micah Kornfield
> > Slicing is part of the C data interface (with the offset member). OK, so refreshing myself for the C data interface, IIUC, I think one needs to hack RLE at a parent Array with two children arrays, because otherwise in general, I don't think I see a way of actually communicating buffer size at

Re: RLE array slicing

2022-09-15 Thread Antoine Pitrou
Le 15/09/2022 à 10:14, Micah Kornfield a écrit : I agree slicing can be tricky here. Since slicing is not part of the specification, maybe there should be two separate discussions here. I'll be honest, I forget exactly how slicing works in the C++ implementation, but is Slicing is part of

Re: RLE array slicing

2022-09-15 Thread Micah Kornfield
I agree slicing can be tricky here. Since slicing is not part of the specification, maybe there should be two separate discussions here. I'll be honest, I forget exactly how slicing works in the C++ implementation, but is > Say you want to slice the RLE array from Logical Offset 4 (which

Re: RLE array slicing

2022-09-15 Thread Antoine Pitrou
On Thu, 15 Sep 2022 09:25:53 +0200 Antoine Pitrou wrote: > > Why would the run ends and the values have the same offset? > Also, how do you interpret the run ends if you have a physical offset > into the values array? > > > Say you have the logical values: [5, 5, 5, 6, 6, 7, 7, 7] > > Run

Re: RLE array slicing

2022-09-15 Thread Antoine Pitrou
Le 14/09/2022 à 20:18, Weston Pace a écrit : I will clarify the offset problem. It essentially boils down to "if you don't have constant access to elements then an array length offset does not give you constant access to buffer offsets". We start with an RLE array of length 200. We slice it