fix warnings identified by clang

This commit is contained in:
Erik M. Bray 2020-02-11 11:38:13 +00:00
parent 0f5d13e59f
commit 91835d1728
7 changed files with 27 additions and 11 deletions

View File

@ -85,20 +85,20 @@ std::ostream & operator<< (std::ostream &output, const Polynomial<T> &op) {
if (i == 0) if (i == 0)
if (op.coef[0] == T(1)) if (op.coef[0] == T(1))
output << "1"; output << "1";
if (i != 0) if (i != 0) {
if (i-j == 0) if (i-j == 0) {
if (j == 1) if (j == 1)
output << "y"; output << "y";
else else
output << "y^" << j; output << "y^" << j;
else if (i-j == 1) } else if (i-j == 1) {
if (j == 0) if (j == 0)
output << "x"; output << "x";
else if (j == 1) else if (j == 1)
output << "x*y"; output << "x*y";
else else
output << "x*y^" << j; output << "x*y^" << j;
else } else {
if (j == 0) if (j == 0)
output << "x^" << i; output << "x^" << i;
else if (j == 1) else if (j == 1)
@ -106,6 +106,8 @@ std::ostream & operator<< (std::ostream &output, const Polynomial<T> &op) {
else else
output << "x^" << (i-j) << "*y^" << j; output << "x^" << (i-j) << "*y^" << j;
} }
}
}
if (allZero) output << "0"; if (allZero) output << "0";
return output; return output;
} }

View File

@ -5,7 +5,9 @@
#include <mpfr.h> #include <mpfr.h>
// ACTIVATE ROUND MODE CONTROL // ACTIVATE ROUND MODE CONTROL
#pragma STDC FENV_ACCESS on #ifndef __clang__
#pragma STDC FENV_ACCESS ON
#endif
double * homotopyPath (int degree, double *_coef, double _y0R, double _y0I); double * homotopyPath (int degree, double *_coef, double _y0R, double _y0I);

View File

@ -8,7 +8,9 @@
// ACTIVATE ROUND MODE CONTROL // ACTIVATE ROUND MODE CONTROL
#pragma STDC FENV_ACCESS on #ifndef __clang__
#pragma STDC FENV_ACCESS ON
#endif
typedef std::complex<double> Complex; typedef std::complex<double> Complex;

View File

@ -5,7 +5,9 @@
#define MIN(a,b) (((a) < (b))? (a) : (b)) #define MIN(a,b) (((a) < (b))? (a) : (b))
#define MAX(a,b) (((a) > (b))? (a) : (b)) #define MAX(a,b) (((a) > (b))? (a) : (b))
#pragma STDC FENV_ACCESS on #ifndef __clang__
#pragma STDC FENV_ACCESS ON
#endif
// CONSTRUCTORS // CONSTRUCTORS

View File

@ -5,7 +5,9 @@
// ACTIVATE ROUND MODE CONTROL // ACTIVATE ROUND MODE CONTROL
#pragma STDC FENV_ACCESS on #ifndef __clang__
#pragma STDC FENV_ACCESS ON
#endif
// MACROS FOR MIN AND MAX // MACROS FOR MIN AND MAX
#define MIN(a,b) (((a) < (b))? (a) : (b)) #define MIN(a,b) (((a) < (b))? (a) : (b))

View File

@ -80,21 +80,25 @@ MPInterval & MPInterval::operator= (const MPInterval &op) {
// UPDATE VALUES // UPDATE VALUES
mpfr_set (this->a, op.a, MPFR_RNDD); mpfr_set (this->a, op.a, MPFR_RNDD);
mpfr_set (this->b, op.b, MPFR_RNDU); mpfr_set (this->b, op.b, MPFR_RNDU);
return *this;
} }
MPInterval & MPInterval::operator= (const Interval &op) { MPInterval & MPInterval::operator= (const Interval &op) {
// UPDATE VALUES // UPDATE VALUES
mpfr_set_d (this->a, op.a, MPFR_RNDD); mpfr_set_d (this->a, op.a, MPFR_RNDD);
mpfr_set_d (this->b, op.b, MPFR_RNDU); mpfr_set_d (this->b, op.b, MPFR_RNDU);
return *this;
} }
MPInterval & MPInterval::operator= (const mpfr_t op) { MPInterval & MPInterval::operator= (const mpfr_t op) {
// UPDATE VALUES // UPDATE VALUES
mpfr_set (this->a, op, MPFR_RNDD); mpfr_set (this->a, op, MPFR_RNDD);
mpfr_set (this->b, op, MPFR_RNDU); mpfr_set (this->b, op, MPFR_RNDU);
return *this;
} }
MPInterval & MPInterval::operator= (double op) { MPInterval & MPInterval::operator= (double op) {
// UPDATE VALUES // UPDATE VALUES
mpfr_set_d (this->a, op, MPFR_RNDD); mpfr_set_d (this->a, op, MPFR_RNDD);
mpfr_set_d (this->b, op, MPFR_RNDU); mpfr_set_d (this->b, op, MPFR_RNDU);
return *this;
} }

View File

@ -17,7 +17,9 @@ using namespace std;
// z2 = t(1+0.01i) // z2 = t(1+0.01i)
******************************************/ ******************************************/
#ifndef __clang__
#pragma STDC FENV_ACCESS ON #pragma STDC FENV_ACCESS ON
#endif
// PERFORM A MINIMUM OF 5 ITERATIONS OF NEWTON METHOD TO CORRECT THE APPROXIMATION OF THE ROOT (SUPPOSED TO BE GOOD ENOUGH) // PERFORM A MINIMUM OF 5 ITERATIONS OF NEWTON METHOD TO CORRECT THE APPROXIMATION OF THE ROOT (SUPPOSED TO BE GOOD ENOUGH)
template <> template <>