Main Page   Data Structures   File List   Data Fields   Globals  

polynomial.c

Go to the documentation of this file.
00001 #include "utilf.h"
00002 #include "polynomial.h"
00003 
00004 real polyeval(real *p, int n, real x)
00005 {
00006   real val = p[n-1];
00007   int i;
00008   for (i = n - 2; i >= 0; i--)
00009     val = x*val + p[i];
00010   return val;
00011 }
00012 
00013 void polyderiv(real *p, int n, real *pderiv)
00014 {
00015   int i;
00016   for (i = 0; i < n - 1; i++)
00017     pderiv[i] = (real)(i + 1)*p[i+1];
00018 }
00019 
00020 void polyint(real *p, int n, real *pint)
00021 {
00022   int i;
00023   pint[0] = 0.0;
00024   for (i = 0; i < n; i++)
00025     pint[i+1] = p[i]/(real)(i + 1);
00026 }
00027 
00028 void polymul(real *p1, int n1, real *p2, int n2, real *pmul)
00029 {
00030   int i, j;
00031 
00032   for (i = 0; i < n1 + n2 - 1; i++)
00033     pmul[i] = 0.0;
00034   for (i = 0; i < n1; i++)
00035     for (j = 0; j < n2; j++)
00036       pmul[i + j] += p1[i]*p2[j];
00037 }
00038 
00039 void polyprint(real *p, int n)
00040 {
00041   int i;
00042   printf("[ ");
00043   for (i = 0; i < n; i++)
00044     printf("%g ", p[i]);
00045   printf("]");
00046 }
00047 
00048 
00049 
00050 
00051 

Generated on Wed Feb 19 22:26:50 2003 for Markers by doxygen1.2.18