Boost logo

Boost :

From: Cromwell Enage (sponage_at_[hidden])
Date: 2004-05-22 22:17:58

A while back it was mentioned that
boost::mpl::rational_c and boost::mpl::fixed_c needed

Before I attempt to tackle this task anymore than I
already have, I should have some questions answered.

1. For those compilers for which BOOST_NO_LIMITS is
defined, I've learned that there is no way to include
a floating-point number in an integral constant
expression. Does this mean that no matter how I
define fixed_c::value, I cannot pass fixed_c as a
template argument to a metafunction that ordinarily
takes integral_c as input? Do I have to duplicate the
functionality as a result? If so, what should be the
naming convention for these new metafunctions?

2. Should I define fixed_c in terms of rational_c, to
reduce the amount of functionality I may need to
duplicate? Something like this:

template <typename IntType, IntType N,
          IntType PowerOf10>
struct fixed_c
    typedef rational_c<IntType,...,...>

3. Eventually the compile-time rational-number
representation will need to be converted to a runtime
floating-point value. Should I define this conversion
function within rational_c (which means an additional
template parameter, with either function or class
scope, defining the return value type), within a
wrapper struct, or somewhere else? And how?

4. I only have to deal with rational numbers, right?
I don't have to worry about accurately representing a
transcendental number or a complex-number expression?

                              Cromwell Enage

Do you Yahoo!?
Yahoo! Domains – Claim yours for only $14.70/year

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