mlib.h

Go to the documentation of this file.
00001 /*
00002  * A stand-alone library of math functions.
00003  *
00004  * J Robert Johansson, <robert@riken.jp>
00005  * $Id: mlib_8h-source.html,v 1.1.1.1 2008-09-03 09:36:41 rob Exp $
00006  */
00007 #ifndef MLIB_H
00008 #define MLIB_H
00009 
00010 #include <math.h>
00011 #include <ctype.h>
00012 #include <complex.h>
00013 
00014 /*
00015  * Polynomials. Hermite polynomials.
00016  */
00017 struct _poly {
00018         int n;
00019         long double *coeff;
00020 } typedef poly;
00021 
00022 int poly_print(poly *p);
00023 poly *poly_hermite(int N);
00024 poly *poly_new(int n);
00025 int poly_free(poly *p);
00026 long double poly_eval(poly *p, long double z);
00027 
00028 /*
00029  * Factorial and product sequences
00030  */
00031 unsigned long long fact_l(unsigned long long n);
00032 long double fact_d(long double n);
00033 long double fact_sqrt(long double n);
00034 long double fact_seq(long double s, long double f);
00035 
00036 /*
00037  * various helper functions
00038  */
00039 #define MAX(a,b)        ((a<b)?b:a)
00040 #define MIN(a,b)        ((a<b)?a:b)
00041 
00042 /* 
00043  * Quandrature functions
00044  */
00045 #define QUAD_TOL        1e-7
00046 
00047 long double quad_adaptive_real(long double (*f)(long double,void *), long double x_min, long double x_max, long double dx, void *param);
00048 complex long double quad_adaptive_complex(complex long double (*f)(long double,void *), long double x_min, long double x_max, long double dx, void *param);
00049 
00050 long double quad_adaptive_real_inf(long double (*f)(long double,void *), long double x_min, long double x_max, long double dx, void *param);
00051 complex long double quad_adaptive_complex_inf(complex long double (*f)(long double,void *), long double x_min, long double x_max, long double dx, void *param);
00052         
00053 #endif /* MLIB_H */

Generated on Thu Jun 12 16:48:45 2008 for QDpack by  doxygen 1.5.1