
Steven Watanabe wrote:
AMDG
Eric Niebler <eric <at> boost-consulting.com> writes:
I would partly agree with Stjepan about the dichotomy between sparse/dense series and piecewise constant series. As I see it there are three cases a) sparse/dense and floating point On the chopping block.
b) piecewise constant and floating point c) integral Because of the limits on integers piecewise constant series and point series behave the same way for them. Multiplication makes no sense for point series. Likewise adjacent_difference, integrate, piecewise_sample, piecewise_surface_sample, and index. I tend to agree, which is why they're not long for this world.
They are still needed for the result of adjacent_difference on piecewise constant floating point series. What do you think of allowing runs to specify what kind of range they use, open, closed or half-open.
struct half_open_range : mpl::int_<0> {}; struct rhalf_open_range : mpl::int_<1> {}; // (] struct open_range : mpl::int_<2> {}; struct closed_range : mpl::int_<3> {};
I think that this would allow sparse floating point series to make sense without destroying consistency within the library.
I would hesitate to add that level of complexity to the library. It would make it 4x harder to write a correct time series algorithm. I'm sorry that I don't have an answer for you yet about this issue. I agree with the feeling that what is there right now is not quite right. It'll take some rethinking, but I haven't yet heard a solution that appeals to me. -- Eric Niebler Boost Consulting www.boost-consulting.com The Astoria Seminar ==> http://www.astoriaseminar.com