/* * ============================================================== * Evaluation of f(x) = 2 + 3.x + 4.x^2 + 5.x^3 + 6.x^4 * using Horner's Rule = 2 + x.(3. + x.(4 + x.(5. + 6.x))) * ============================================================== */ #include #include int main( void ) { float fA = 2.0; float fB = 3.0; float fC = 4.0; float fD = 5.0; float fE = 6.0; float fX1; /* [a] : Initialize value of X for polynomial evaluation */ float fX = 2.0; /* [b] : Evaluate polynomial as sum of product terms */ fX1 = fA + fB*fX + fC*fX*fX + fD*fX*fX*fX + fE*fX*fX*fX*fX; printf("Sum of Product terms : F(%4.2f) = %4.2f\n", fX ,fX1 ); /* [c] : Evaluate polynomial using mathematical power function */ fX1 = fA + fB*fX + fC*pow( fX, 2.0 ) + fD*pow( fX, 3.0 ) + fE*pow( fX, 4.0 ); printf("Using Power Math Functions : F(%4.2f) = %4.2f\n", fX ,fX1 ); /* [d] : Evaluate polynomial using Horner's Rule */ fX1 = fA + fX*(fB + fX*(fC + fX*(fD + fX*fE))); printf("Using Horner's Rule : F(%4.2f) = %4.2f\n", fX ,fX1 ); }