1 #ifndef MATH_POLYNOMIAL_H 2 #define MATH_POLYNOMIAL_H 12 inline T BasisTerm(
const T x,
int i) {
return IntegerPower(x,i); }
16 T BasisTerm_Dk(
const T x,
int i,
int k)
24 void Basis(
const T x,
int degree, T p[])
27 for(
int i=1;i<=degree;i++) p[i]=x*p[i-1];
32 void Basis_Dx(
const T x,
int degree, T p[])
35 for(
int i=degree;i>=1;i--) p[i]=Real(i)*x*p[i-1];
40 void Basis_DDx(
const T x,
int degree, T p[])
43 for(
int i=degree;i>=2;i--) p[i]=Real(i*(i-1))*x*p[i-2];
44 p[0]=0;
if(degree<1)
return;
50 void Basis_Dkx(
const T x,
int degree, T p[],
int k)
54 int end=(k<degree?k:degree);
55 for(
int i=0;i<end;i++) p[i]=0;
Miscellaneous math functions.
T IntegerPower(const T x, int i)
Calculates x^i where i is an integer (in O(log i) time)
Definition: misc.h:94
unsigned int FactorialTruncated(unsigned int n, unsigned int k)
Returns n!/(n-k)! in O(k) time.
Definition: misc.h:114
Contains all definitions in the Math package.
Definition: WorkspaceBound.h:12