2007-05-13	Alexey Beshenov			<bav.272304@gmail.com>

	* Some corrections in the <mpfrcpp/extra/std_overloads.hpp>

	* std::numeric_limits specialization moved to the
	  <mpfrcpp/extra/limits.hpp>

2007-05-10	Alexey Beshenov			<bav.272304@gmail.com>

	* Many changes in the headers and sources structure.
          Thanks to Brian Gladman.

	* The global objects could be embeded in the static library.

	* <mpfrcpp/mpfrcpp_uninitialized.hpp> header for the MPFRCPP
	  without pre-defined global objects.

	* <mpfrcpp/extra/boost_interval.hpp>, boost::numeric::interval_lib
          specification for mpfrcpp::Real.

2007-04-15	Alexey Beshenov			<bav.272304@gmail.com>

	throw(invalidNumberStringError) for operator>> replaced by
	setting std::ios_base::failbit.

2007-04-14	Alexey Beshenov			<bav.272304@gmail.com>

	<mpfrcpp/extra/nacre/*> moved to the <nacre/*>

2007-04-13	Alexey Beshenov			<bav.272304@gmail.com>

	template<typename T> nacre::Rational::Rational<T>

2007-04-12	Alexey Beshenov			<bav.272304@gmail.com>

	template<typename T> nacre::polynomial::Polynomial<T>

2007-04-09	Alexey Beshenov			<bav.272304@gmail.com>

	General complex numbers implementation (class template) at
	<mpfrcpp/extra/nacre/complex/complex.hpp>.

	mpfrcpp::Complex is only synonym for nacre::complex::Complex<Real>.

2007-04-09	Alexey Beshenov			<bav.272304@gmail.com>

	1.
		mpfrcpp::Complex -- native complex numbers implementation
		mpfrcpp::test::NativeComplex
		mpfrcpp::test::Complex renamed to mpfrcpp::test::StdComplex

	2. The folowing headers were moved to the `extra' subdirectory:

		<mpfrcpp/initialization/std_overloads.hpp>
		<mpfrcpp/initialization/beta.hpp>

	It means that user should include them manually, if needed.

	3. `extra' items:

		<mpfrcpp/extra/beta.hpp>
		<mpfrcpp/extra/complex.hpp>
		<mpfrcpp/extra/fp_comparator.hpp>
		<mpfrcpp/extra/pminf.hpp>
		<mpfrcpp/extra/simple_functions.hpp>
		<mpfrcpp/extra/std_overloads.hpp>


2007-04-08	Alexey Beshenov			<bav.272304@gmail.com>

	All sources converted to DOS endline format.

2007-04-07	Alexey Beshenov			<bav.272304@gmail.com>

	test classes (mpfrcpp::test)

2007-04-06	Alexey Beshenov			<bav.272304@gmail.com>

	class RandomState

2007-04-06	Alexey Beshenov			<bav.272304@gmail.com>

	Pre-defined Version and RoundMode are constants now:

	    extern const Version MPFRCPPVersion;
	    extern const Version MPFRVersion;

	    extern const RoundMode roundTowardZero;
	    extern const RoundMode roundToNearest;
	    extern const RoundMode roundTowardInfinity;
	    extern const RoundMode roundTowardNegInfinity;

2007-04-03	Alexey Beshenov			<bav.272304@gmail.com>

	Constructors for every functor. For example, AcosClass:

	    class AcosClass : public NumericFunction {
	    public:
	        AcosClass () throw() : NumericFunction () {}
	        AcosClass (const Precision& pr, const RoundMode& rm) throw() :
	            NumericFunction (pr, rm) {}
	        AcosClass (const Precision& pr) throw() :
                    NumericFunction (pr) {}
	        AcosClass (const RoundMode& rm) throw() :
                    NumericFunction (rm) {}
	    // ...
	    };

2007-04-01	Alexey Beshenov			<bav.272304@gmail.com>

	1. Unary + sign:

	    Real Real::operator+ () const throw();

2007-03-31	Alexey Beshenov		<bav.272304@gmail.com>

	1. class Exp has been renamed to class Exponent.

	2. Real::getExp() and Real::setExp() are Real::getExponent() and
	Real::setExponent() now.

	The same new method names for GlobalParameters class:

	    static int setExponentMin (const Exponent&) throw();
	    static Exponent getExponentMin () throw();
	    static int setExponentMax (const Exponent&) throw();
	    static Exponent getExponentMax () throw();
	    static Exponent getExponentMinMin() throw();
	    static Exponent getExponentMinMax() throw();
	    static Exponent getExponentMaxMin() throw();
	    static Exponent getExponentMaxMax() throw();

	It is needed to prevent conflicts with new functor notation (see below).

	3. All default functors and functor classes have been renamed:

	    absClass -> AbsClass
	    abs -> Abs
	    acosClass -> AcosClass
	    acos -> Acos
	    acoshClass -> AcoshClass
	    acosh -> Acosh
	    ...

	It is needed to prevent possible conflicts with functions of same
	name from the namespace std.

2007-03-28	Alexey Beshenov			<bav.272304@gmail.com>

	1. assignment for mpfrcpp::Real:

	    Real& operator= (const Real&)               throw();
	    Real& operator= (const unsigned long int&)  throw();
	    Real& operator= (const unsigned int&)       throw();
	    Real& operator= (const unsigned short int&) throw();
	    Real& operator= (const long int&)           throw();
	    Real& operator= (const int&)                throw();
	    Real& operator= (const short int&)          throw();
	    Real& operator= (const double&)             throw();
	    Real& operator= (const long double&)        throw();
	    Real& operator= (const mpz_t&)              throw();
	    Real& operator= (const mpq_t&)              throw();
	    Real& operator= (const mpf_t&)              throw();
	#ifdef GMP_CPP_INTERFACE
	    Real& operator= (const mpz_class&)          throw();
	    Real& operator= (const mpq_class&)          throw();
	    Real& operator= (const mpf_class&)          throw();
	#endif    // GMP_CPP_INTERFACE
	    Real& operator= (const std::string&)        throw();
	    Real& operator= (const bool)                throw();

	2. The same assignment for class mpfrcpp::PrimitiveWrapper:

	    PrimitiveWrapper& operator= (const T&) throw();
	    PrimitiveWrapper& operator= (const PrimitiveWrapper&);
	    PrimitiveWrapper& operator+= (const T&) throw();
	    PrimitiveWrapper& operator-= (const T&) throw();
	    PrimitiveWrapper& operator*= (const T&) throw();
	    PrimitiveWrapper& operator/= (const T&) throw();
	    PrimitiveWrapper& operator%= (const T&) throw();

	3. Operations with assignment:

	    template<typename T> Real& operator+= (Real&, const T&) throw();
	    template<typename T> Real& operator-= (Real&, const T&) throw();
	    template<typename T> Real& operator*= (Real&, const T&) throw();
	    template<typename T> Real& operator/= (Real&, const T&) throw();

	4. Errata in <mpfrcpp/real/to_string.hpp>:
	std::ostringstream<char> should be std::ostringstream.

	5. std::basic_istream and std::basic_ostream replaced by std::istream
	and std::ostream [mpfrcpp/real/stream.hpp].

	6. Stream output accepts std::ios_base::showpos and
	std::ios_base::uppercase flags. I decided to exclude
	std::ios_base::floatfield processing since only
	std::ios_base::scientific needed.

2007-03-30	Alexey Beshenov			<bav.272304@gmail.com>

	    Real& Real::operator= (const mpfr_t&) throw();
