We have tested MPFRCPP with the folowing compilers:
| Compiler | Version |
|---|---|
| g++ (GCC) | 3.3.5, 3.4.2, 4.0.0 |
| Microsoft ® 32-bit C/C++ Optimizing Compiler | 14.00 |
Complex numbers test “test/std_complex.cpp” could not be compilled by GCC or MS C/C++.
GCC bug could be corrected easily, see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31511.
However using std::complex<Real> is deprecated. You should not specify std::complex<Real> explicitly due to distinctions in different std::complex<T> implementations (actually, not all of them conform strictly to the ISO C++ standard).
You should use mpfrcpp::Complex class from the <mpfrcpp/extra/complex.hpp>.
The folowing test classes are available from the mpfrcpp/test directory.
namespace mpfrcpp {
namespace test {
class BasicAritmeticFunctions {
public:
static void start () throw();
};
class BasicAritmeticFunctions {
public:
static void start () throw();
};
class Constants {
public:
static void start () throw();
};
class ExponentialFunctions {
public:
static void start () throw();
};
class HyperbolicFunctions {
public:
static void start () throw();
};
class Initialization {
public:
static void start () throw();
};
class IntegerRelatedFunctions {
public:
static void start () throw();
};
class InverseHyperbolicFunctions {
public:
static void start () throw();
};
class InverseTrigonometricFunctions {
public:
static void start () throw();
};
class LogarithmicFunctions {
public:
static void start () throw();
};
class MiscellaneousFunctions {
public:
static void start () throw();
};
class NativeComplex {
public:
static void start () throw();
};
class SpecialFunctions {
public:
static void start () throw();
};
class StdComplex {
public:
static void start () throw();
};
class StdOverloads {
public:
static void start () throw();
};
class TrigonometricFunctions {
public:
static void start () throw();
};
} // namespace test
} // namespace mpfrcpp