Go to the documentation of this file.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
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);
00070 this->d = RallNd<N-2>(d[0],&d[1]);
00071 this->dd = RallNd<N-2>(d[1],&d[2]);
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