00001 00002 /*--------------------------------------------------------------------------- 00003 00004 File name : legendre.h 00005 Author : N. Devillard 00006 Created on : July 2000 00007 Description : Legendre polynomials 00008 00009 *--------------------------------------------------------------------------*/ 00010 00011 /* 00012 00013 $Id 00014 $Author 00015 $Date 00016 $Revision 00017 00018 */ 00019 00020 #ifndef _LEGENDRE_H_ 00021 #define _LEGENDRE_H_ 00022 00023 /*--------------------------------------------------------------------------- 00024 Includes 00025 ---------------------------------------------------------------------------*/ 00026 00027 #include <math.h> 00028 00029 /*--------------------------------------------------------------------------- 00030 Defines 00031 ---------------------------------------------------------------------------*/ 00032 00033 /* 00034 * Hardcoded first Legendre polynomials 00035 */ 00036 00037 #define legendre_0(x) (1.00) 00038 #define legendre_1(x) (x) 00039 #define legendre_2(x) (-0.5+1.5*(x)*(x)) 00040 #define legendre_3(x) (-1.5*(x)+2.5*(x)*(x)*(x)) 00041 #define legendre_4(x) (0.375-3.75*(x)*(x)+4.375*(x)*(x)*(x)*(x)) 00042 #define legendre_5(x) (1.875*(x)-8.75*(x)*(x)*(x)+7.875*(x)*(x)*(x)*(x)*(x)) 00043 00044 00045 /*--------------------------------------------------------------------------- 00046 Function codes 00047 ---------------------------------------------------------------------------*/ 00048 00049 00050 /*-------------------------------------------------------------------------*/ 00073 /*--------------------------------------------------------------------------*/ 00074 00075 double legendre(int order, double x); 00076 00077 00078 /*-------------------------------------------------------------------------*/ 00092 /*--------------------------------------------------------------------------*/ 00093 00094 double * legendre_vector(int order, int n, double * x); 00095 00096 00097 00098 #endif
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001