00001 // QMcBeaver 00002 // 00003 // Constructed by 00004 // 00005 // Michael Todd Feldmann 00006 // and 00007 // David Randall "Chip" Kent IV 00008 // 00009 // Copyright 2000-2. All rights reserved. 00010 // 00011 // drkent@users.sourceforge.net mtfeldmann@users.sourceforge.net 00012 00013 #include "QMCPolynomial.h" 00014 00015 QMCPolynomial::QMCPolynomial():Polynomial() 00016 { 00017 } 00018 00019 QMCPolynomial::QMCPolynomial(Array1D<double> & coeffs):Polynomial(coeffs) 00020 { 00021 } 00022 00023 bool QMCPolynomial::hasNonNegativeZeroes() 00024 { 00025 const double tol = 1e-8; 00026 00027 Array1D<Complex> roots = getRoots(); 00028 00029 for(int i=0; i<roots.dim1(); i++) 00030 { 00031 double re = roots(i).real(); 00032 double im = roots(i).imaginary(); 00033 00034 if( re >= 0 && fabs(im) < tol ) return true; 00035 } 00036 00037 return false; 00038 } 00039 00040 00041 00042