From: Steven Watanabe (steven_at_[hidden])
Date: 2007-08-08 18:07:22


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.

In Christ,
Steven Watanabe