proj home

Files   Classes   Functions   Hierarchy  

func.h

Go to the documentation of this file.
00001 #ifndef FUNC_H
00002 #define FUNC_H
00003 
00004 //
00005 //  Mathmatical functions generalized in a C++ perspective.
00006 //
00007   
00011 #define funcA1(nm,fx,x,TYPEFX,TYPEX) \
00012 class nm { \
00013 public: \
00014   void operator()( TYPEX & val, TYPEX x ) { val = (fx); } \
00015   TYPEFX operator() ( TYPEX x ) { return (fx); } \
00016 }
00017 
00030 #define funcA2(nm,fx,x0,x1,TYPEFX,TYPEX) \
00031 class nm { \
00032 public: \
00033   void operator()( TYPEFX & val, TYPEX x0, TYPEX x1 ) { val = (fx); } \
00034   TYPEFX operator()( TYPEX x0, TYPEX x1 ) { return (fx); } \
00035 }
00036 
00040 #define funcA3(nm,fx,x0,x1,x2,TYPEFX,TYPEX) \
00041 class nm { \
00042 public: \
00043   void operator()( TYPEFX & val, TYPEX x0, TYPEX x1, TYPEX x2 ) { val = (fx); } \
00044   TYPEFX operator()( TYPEX x0, TYPEX x1, TYPEX x2 ) { return (fx); } \
00045 }
00046 
00069 #define funcA1V2(nm,fx,x,TYPEFX,TYPEX) \
00070 class nm { public : \
00071   TYPEFX v0, v1; \
00072   nm(TYPEFX v0_, TYPEFX v1_) : v0(v0_), v1(v1_) {} \
00073   void operator()(TYPEFX & val, TYPEX x) { val = (fx); } \
00074   TYPEFX operator() ( TYPEX x ) { return (fx); } }
00075 
00079 #define funcA1V1(nm,fx,x,TYPEFX,TYPEX) \
00080 class nm { public : \
00081   TYPEFX v0; \
00082   nm(TYPEFX v0_) : v0(v0_) {} \
00083   void operator()(TYPEFX & val, TYPEX x) { val = (fx); } \
00084   TYPEFX operator() ( TYPEX x ) { return (fx); } }
00085 
00089 #define funcA1V3(nm,fx,x,TYPEFX,TYPEX) \
00090 class nm { public : \
00091   TYPEFX v0, v1, v2; \
00092   nm(TYPEFX v0_, TYPEFX v1_, TYPEFX v2_) : v0(v0_), v1(v1_), v2(v2_) {} \
00093   void operator()(TYPEFX & val, TYPEX x) { val = (fx); } \
00094   TYPEFX operator() ( TYPEX x ) { return (fx); } }
00095 
00096 
00115 #define funcTA1(nm,fx,x) \
00116 template< typename FX, typename X > \
00117 class nm { \
00118 public: \
00119   void operator()( FX & val, X x ) { val = (fx); } \
00120   FX operator()( X x ) { return (fx); } \
00121 }
00122 
00141 #define funcTA2(nm,fx,x0,x1) \
00142 template< typename FX, typename X > \
00143 class nm { \
00144 public: \
00145   void operator()( FX & val, X x0, X x1 ) { val = (fx); } \
00146   FX operator()( X x0, X x1 ) { return (fx); } \
00147 }
00148 
00153 #define funcTA3(nm,fx,x0,x1,x2) \
00154 template< typename FX, typename X > \
00155 class nm { \
00156 public: \
00157   void operator()( FX & val, X x0, X x1, X x2 ) { val = (fx); } \
00158   FX operator()( X x0, X x1, X x2 ) { return (fx); } \
00159 }
00160 
00161 
00162 #endif
00163 

Generated on Fri Mar 4 00:49:28 2011 for Chelton Evans Source by  doxygen 1.5.8