|
Boost : |
From: Eric Niebler (eric_at_[hidden])
Date: 2007-08-08 21:10:32
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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk