-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
construct.ranges
for cumulative ranges
#265
Comments
Works towards se-sic#265. Signed-off-by: Maximilian Löffler <[email protected]>
Works towards se-sic#265. Signed-off-by: Maximilian Löffler <[email protected]>
I have done a prototype implementation here and some tests here. Especially, let me know whether sliding windows and cumulative ranges are mutually, I would need to slightly update my implementation in that case. Edit: Also let me know if this addition fits for you with my currently open wish-wash PR or if we should wait for a new one. |
The implementation looks good to me (except for two typos/inconsistencies).
The structure of the tests looks good, but I did not have time yet to find out whether the behavior in the tests is correct or not.
I've seen that you have already tests for the combination of cumulative ranges and sliding windows - but just from looking at the tests I cannot judge whether such a combination is useful or not. Could you please post a small example directly showing how the ranges look like in such a case?
If the implementation stays as small as it is currently, I'd go for adding it to your "open wish-wash PR". But let's discuss this tomorrow. |
Regarding sliding window ranges and our recent discussion.
Now regarding the cumulative ranges that means the following (example): We want to split data into the following bins: Taking everything into account, I think cumulative sliding-window ranges may be as useful as cumulative regular ranges, depending on the use case, but im not entirely sure ^^ |
Ok, let's keep the case to construct cumulative ranges for sliding-window ranges. |
Works towards se-sic#265. Signed-off-by: Maximilian Löffler <[email protected]>
Works towards se-sic#265. Signed-off-by: Maximilian Löffler <[email protected]>
Works towards se-sic#265. Signed-off-by: Maximilian Löffler <[email protected]>
Works towards se-sic#265. Signed-off-by: Maximilian Löffler <[email protected]>
Works towards se-sic#265. Signed-off-by: Maximilian Löffler <[email protected]>
Works towards se-sic#265. Signed-off-by: Maximilian Löffler <[email protected]>
Works towards se-sic#265. Signed-off-by: Maximilian Löffler <[email protected]>
Works towards se-sic#265. Signed-off-by: Maximilian Löffler <[email protected]>
Description
In coronet, we have a function
construct.ranges
that takes a list of revisions and creates range names out of it, as in the following example:This function is able to construct sliding-window ranges, but not to construct cumulative ranges.
We have a dedicated function
construct.cumulative.ranges
, but this function has a completely different interface (it takes a start date, an end date, and a time period), similar toconstruct.consecutive.ranges
andconstruct.overlapping.ranges
.However, the function
construct.ranges
itself (which takes just a vector of dates) is not capable of constructing cumulative.Therefore, I suggest to enhance the function
construct.ranges
by an additional parameter to construct cumulative ranges, or ––if adding a new parameter introduces more problems than benefits––also an additional function might be helpful - but then we have the problem of naming conflicts with the existing functions. So, I'd be glad if we find a suitable way to enhance the existing functionconstruct.ranges
.Desired output for
construct.ranges
with cumulative ranges:Motivation
Constructing ranges in a cumulative way is particularly useful when analyzing commit-interaction data, but also in many other use cases.
In general, enhancing the currently existing function would provide an easy way to construct range-data objects cumulatively by simply passing a list of fixed bins to the range-construction function, and passing the resulting ranges to
split.data.time.based.by.ranges
afterwards.The text was updated successfully, but these errors were encountered: