[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [tracecompass-dev] Segmentstore intersection (inclusive or exclusive)
|
On 15-07-03 02:30 PM, Patrick Tasse wrote:
> Hi Matthew,
>
> Shouldn't (-1,3) intersect with (0,2)?
-1,3 should in the inclusive world, I don't think it does though...
>
> I'm not sure that querying a range should be done by merging the
> results of the intersection with adjacent sub-ranges.
>
> If you have only one segment (1,4), then intersection with (0,5) is
> the segment (1,4), but intersection with (0,1)+(1,2)+(2,3)+(3,4)+(4,5)
> is either 3x, 4x or 5x the same segment (1,4) depending on if you
> treat boundaries inclusive or exclusive.
yes, maybe just a start-time intersect would be better? Thanks for
highlighting this. This is why we need to discuss design stuff. :)
>
> So if your only interface to the segment store is the intersection
> function, you'll have to manually filter out the results of each
> iteration to avoid duplications, and then you can decide if you want
> to include or exclude the end bound.
>
> Patrick
>
> On Fri, Jul 3, 2015 at 1:54 PM, Matthew Khouzam
> <matthew.khouzam@xxxxxxxxxxxx <mailto:matthew.khouzam@xxxxxxxxxxxx>>
> wrote:
>
> Hi all, I want to discuss a bit the design or the statesystem segement
> store.
>
>
> Right now the get intersection is inclusive/inclusive, I would propose
> that it should be inclusive/exclusive.
>
> So here are some test cases
>
>
> philosophical test cases
> query range, segment, included?
>
> infinity, infinity, yes
> finite, infinity, no
> infinity, finite, yes
>
> specific test cases
> query range, segment, included?
>
> (0,2) , (-1,-1), no
> (0,2) , (-1,0), yes
> (0,2) , (-1,2), yes
> (0,2) , (-1,2), yes
> (0,2) , (-1,3), no
> (0,2) , (0,0), yes
> (0,2) , (0,1), yes
> (0,2) , (0,2), yes
> (0,2) , (0,3), yes
> (0,2) , (1,1), yes
> (0,2) , (1,2), yes
> (0,2) , (1,3), yes
> (0,2) , (2,2), yes*
> (0,2) , (2,3), yes*
> (0,2) , (3,3), no
> (0,2) , (3,4), no
>
> The results noted with a star (*) are the ones I would propose
> changing.
> The reasoning, being that it will make iteration much simpler. It is
> much more intuitive to say for example, give me everything between t1
> and t2, now t2 and t3...
>
> The patch is easy to do, but I want to make sure we are on the
> same page
> for this.
>
> Why would this be important? We will use the segment store to show
> cumulative information too, so it we query between 0 and 5 and the
> number of segments is different from querying from 0 to 1, 1 to 2,
> 2 to
> 3, and 3 to 4. As we can have two identical segments in a store (not
> impossible) this will be much harder to manage than using an inclusive
> exclusive scheme. This pattern will allow iterating over the segment's
> dimension, e.g. time.
>
> On a final note, one of my colleagues asked a really good
> question, does
> Game of Thrones play from 9:00 to 10:00 or 9:00 to 9:59:59.999? I vote
> for 9:00 to 10:00.
>
> Thoughts?
>
> Matthew
> _______________________________________________
> tracecompass-dev mailing list
> tracecompass-dev@xxxxxxxxxxx <mailto:tracecompass-dev@xxxxxxxxxxx>
> To change your delivery options, retrieve your password, or
> unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/tracecompass-dev
>
>
>
>
> _______________________________________________
> tracecompass-dev mailing list
> tracecompass-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/tracecompass-dev