Main Page   Class Hierarchy   Compound List   File List   Compound Members  

integrate.h

00001 #ifndef MATRIX_INTEGRATE_H
00002 #define MATRIX_INTEGRATE_H
00003 
00004 #include "barray.h"
00005 
00008 namespace PLib {
00009 
00010   template <class T> void cdft(int n, T wr, T wi, BasicArray<T> &a) ;
00011   template <class T> void rdft(int n, T wr, T wi, BasicArray<T> &a) ;
00012   template <class T> void ddct(int n, T wr, T wi, BasicArray<T> &a) ;
00013   template <class T> void ddst(int n, T wr, T wi, BasicArray<T> &a) ;
00014   template <class T> void dfct(int n, T wr, T wi, BasicArray<T> &a) ;
00015   template <class T> void dfst(int n, T wr, T wi, BasicArray<T> &a) ;
00016 
00017 
00018   template <class T> void chebexp(double (*f)(T), T a, T b, T eps, 
00019                                   BasicArray<T> &c, T &err) ;
00020   template <class T> void chebexp(double (*f)(T,void*), void*, T a, T b, 
00021                                   T eps, BasicArray<T> &c, T &err) ;
00022   template <class T> T chebeval(T x, const BasicArray<T> &c) ;
00023 
00024 
00025   template <class T> void intccini(BasicArray<T> &w) ;
00026 
00027 
00028   template <class T>
00029     struct ClassPO {
00030       virtual T operator()(T a) =0;
00031     };
00032 
00033   template <class T>
00034     struct ClassPOvoid {
00035       virtual T operator()(T a, void*) =0;
00036     };
00037 
00038   // POPtr is a pointer to a class that defines the operator()(T)
00039   // Using ClassPO as a base class is a good idea as they are instantiated
00040   // in the source file
00041 
00042 
00043   template <class T, class POPtr> T integrate(POPtr f, T a, T b, T eps, int n, T &err) ;
00044   template <class T, class POPtr> T intcc(POPtr f, T a, T b, T eps, BasicArray<T> &w, T &err);
00045   template <class T, class POPtr> T integrate2(POPtr f, T a, T b, T eps, int n, T &err) ;
00046   template <class T, class POPtr> T intcc2(POPtr f, T a, T b, T eps, BasicArray<T> w, T &err);
00047 
00048 
00049   // POvPtr is a pointer to a class that defines the operator()(T,void*)
00050   // Using ClassPOvoid as a base class is a good idea as they are instantiated
00051   // in the source file
00052 
00053   template <class T, class POvPtr> T integrate(POvPtr f,void*, T a, T b, T eps, int n, T &err) ;
00054   template <class T, class POvPtr> T intcc(POvPtr,void*, T a, T b, T eps, BasicArray<T> &w, T &err) ;
00055   template <class T, class POvPtr> T integrate2(POvPtr f,void*, T a, T b, T eps, int n, T &err) ;
00056   template <class T, class POvPtr> T intcc2(POvPtr,void*, T a, T b, T eps, BasicArray<T> w, T &err) ;
00057 
00058 }
00059 
00060 #ifdef INCLUDE_TEMPLATE_SOURCE
00061 #include "fft.cpp"
00062 #include "chebexp.cpp"
00063 #include "intccq.cpp"
00064 #endif
00065 
00066 #endif

Generated on Tue Jun 24 13:26:55 2003 for NURBS++ by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002