|
Boost : |
From: Gabriel Dos Reis (gdr_at_[hidden])
Date: 2002-09-07 08:37:06
Guillaume Melquiond <gmelquio_at_[hidden]> writes:
| > P.S.: I've seen another severe restriction, but I don't believe that this is
| > a problem of the interval library. It isn't possible to instantiate
| > std::complex<interval<float> >. How shall we cope with this?
|
| You are right, it's not a problem of the interval library. The C++
| Standard says that "the effect of instantiating the template complex for
| any type other than float, double or long double is unspecified" (26.2.2).
| Not being able to instantiate complex<interval> because the Standard
| decided the only interesting types are float, double and long double is
| really a pity.
Well, I think you're reading too much into the standard. The standard
didn't decide the only interesting floating point types are float,
double and long double.
1.3.13 unspecified behavior
behavior, for a well-formed program construct and correct data, that
depends on the implementation. The implementation is not required to
document which behavior occurs. [Note: usually, the range of possible
behaviors is delineated by this International Standard. ]
In particular the standard doesn't prohibit instantiations on a
numerical type T other than float, double and long double. It is up
to the implementation to decide whether it supports such constructs.
-- Gaby
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk