diff --git a/EgtNumKernel.rc b/EgtNumKernel.rc index 678d111..741e2f5 100644 Binary files a/EgtNumKernel.rc and b/EgtNumKernel.rc differ diff --git a/PolynomialRoots.cpp b/PolynomialRoots.cpp index 6b1939b..3e348a5 100644 --- a/PolynomialRoots.cpp +++ b/PolynomialRoots.cpp @@ -51,7 +51,7 @@ PolynomialRoots( int nDegree, DBLVECTOR& vdPoly, DBLVECTOR& vdRoot, int* pnIter) if ( nDegree == 1) return LinearPolynomialRoots( vdPoly, vdRoot, pnIter) ; - // se polinomi quadratico + // se polinomio quadratico if ( nDegree == 2) return QuadraticPolynomialRoots( vdPoly, vdRoot, pnIter) ; @@ -209,21 +209,19 @@ QuadraticPolynomialRoots( DBLVECTOR& vdPoly, DBLVECTOR& vdRoot, int* pnIter) double q = vdPoly[0] / vdPoly[2] ; double Delta = p * p - q ; if ( abs( Delta) < DBL_EPSILON * DBL_EPSILON) { - vdRoot.clear() ; - vdRoot.reserve( 1) ; vdRoot.push_back( -p) ; return 1 ; - } - if ( Delta < 0.0) { + } + if ( Delta < 0.0) { return 0 ; - } - // Delta positivo - double dSqrtD = sqrt( Delta) ; - double r1 = -( p + copysign( dSqrtD, p)) ; - double r2 = q / r1 ; - if ( r1 > r2) - swap( r1, r2) ; - vdRoot.push_back( r1) ; - vdRoot.push_back( r2) ; - return 2 ; + } + // Delta positivo + double dSqrtD = sqrt( Delta) ; + double r1 = -( p + copysign( dSqrtD, p)) ; + double r2 = q / r1 ; + if ( r1 > r2) + swap( r1, r2) ; + vdRoot.push_back( r1) ; + vdRoot.push_back( r2) ; + return 2 ; }