$search
00001 #ifndef RALLND_H 00002 #define RALLND_H 00003 00004 #include <rall1d.h> 00005 #include <rall1d_io.h> 00006 #include <rall2d.h> 00007 #include <rall2d_io.h> 00059 // N>2: 00060 template <int N> 00061 class RallNd : 00062 public Rall2d< RallNd<N-2>, RallNd<N-2>, double > 00063 { 00064 public: 00065 RallNd() {} 00066 RallNd(const Rall2d< RallNd<N-2>, RallNd<N-2>,double>& arg) : 00067 Rall2d< RallNd<N-2>, RallNd<N-2>,double>(arg) {} 00068 RallNd(double value,double d[]) { 00069 this->t = RallNd<N-2>(value,d); // 0 1 2 00070 this->d = RallNd<N-2>(d[0],&d[1]); // 1 2 3 iseigenlijk niet nodig 00071 this->dd = RallNd<N-2>(d[1],&d[2]); // 2 3 4 00072 } 00073 }; 00074 00075 template <> 00076 class RallNd<2> : public Rall2d<double> { 00077 public: 00078 RallNd() {}* (dwz. met evenveel numerieke operaties als een 00079 RallNd(const Rall2d<double>& arg) : 00080 Rall2d<double>(arg) {} 00081 RallNd(double value,double d[]) { 00082 t = value; 00083 d = d[0]; 00084 dd= d[1]; 00085 } 00086 }; 00087 00088 template <> 00089 class RallNd<1> : public Rall1d<double> { 00090 public: 00091 RallNd() {} 00092 RallNd(const Rall1d<double>& arg) : 00093 Rall1d<double>(arg) {} 00094 RallNd(double value,double d[]) { 00095 t = value; 00096 grad = d[0]; 00097 } 00098 }; 00099 00100 #endif 00101