diff --git a/src/TNL/Experimental/Arithmetics/MultiPrecision.cpp b/src/TNL/Experimental/Arithmetics/MultiPrecision.cpp index 048df5d7496ad6db7a5293e411aa884110d49098..69d269ee2ce376bb90c565dd9e6b396bb3cebf02 100644 --- a/src/TNL/Experimental/Arithmetics/MultiPrecision.cpp +++ b/src/TNL/Experimental/Arithmetics/MultiPrecision.cpp @@ -15,15 +15,16 @@ namespace Arithmetics { /* CONSTRUCTORS */ MultiPrecision::MultiPrecision(){ - mpf_init(number); + mpf_init (number); } -MultiPrecision::MultiPrecision(int precision) { - mpf_set_default_prec(precision); +MultiPrecision::MultiPrecision(int i){ + signed long int sli = i; + mpf_init_set_si (number, sli); } MultiPrecision::MultiPrecision(double d){ - mpf_init_set_d(number, d); + mpf_init_set_d (number, d); } /* OPERATORS IMPLEMENTATION */ @@ -138,6 +139,10 @@ bool MultiPrecision::operator==(const mpf_t &GMPnumber) const{ /* METHODS */ +MultiPrecision MultiPrecision::setPrecision(int precision){ + mpf_set_default_prec (precision); +} + void MultiPrecision::printMP(){ int precision = mpf_get_default_prec(); mpf_out_str(stdout, 10, precision, this->number); std::cout <<std::endl; diff --git a/src/TNL/Experimental/Arithmetics/MultiPrecision.h b/src/TNL/Experimental/Arithmetics/MultiPrecision.h index 8852a6a1b3d4da3e3157245609b4ea549a90b6ca..75af9712c8bca5f29649678b4c4ce36cf37d7a5e 100644 --- a/src/TNL/Experimental/Arithmetics/MultiPrecision.h +++ b/src/TNL/Experimental/Arithmetics/MultiPrecision.h @@ -22,8 +22,8 @@ public: /* CONSTRUCTORS */ MultiPrecision(); // initialize number to 0 - explicit MultiPrecision(int precision); // sets the default precision - explicit MultiPrecision(double d); // initialize number + explicit MultiPrecision(int); // assignment of signed long integer + explicit MultiPrecision(double d); // assignment of double /// TODO Constructor for Quad /* OPERATORS */ @@ -54,6 +54,7 @@ public: /* METHODS */ void printMP(); + static MultiPrecision setPrecision(int); // sets the default precision /// TODO void printNumber(int digits, ostream& str = std::cout ); /* DESTRUCTOR */