Skip to content
Snippets Groups Projects
Commit eeb110c7 authored by Daniel Simon's avatar Daniel Simon
Browse files

Bugs in MultiPrecision repaired.

parent 29949c0d
No related branches found
No related tags found
No related merge requests found
......@@ -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;
......
......@@ -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 */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment