Boost logo

Boost :

From: Eric Niebler (eric_at_[hidden])
Date: 2007-08-08 21:10:32

Steven Watanabe wrote:
> Eric Niebler <eric <at>> 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
The Astoria Seminar ==>

Boost list run by bdawes at, gregod at, cpdaniel at, john at