00001 namespace TooN{
00002 namespace Internal{
00003 template<int N, class P> class Data;
00004 }
00005
00006
00007
00008
00009
00010
00011
00012
00013 template<int N, class P> struct Operator<Internal::Data<N, P> >
00014 {
00015 P vals[N];
00016
00017 template<int R, int C, class T, class B>
00018 void eval(Matrix<R, C, T, B>& m) const
00019 {
00020 SizeMismatch<(R==-1?-1:(C==-1?-1:(R*C))), N>:: test(m.num_rows()*m.num_cols(), N);
00021 for(int r=0, n=0; r < R; r++)
00022 for(int c=0; c < C; c++, n++)
00023 m[r][c] = vals[n];
00024 }
00025 };
00026
00027 #ifdef DOXYGEN_INCLUDE_ONLY_FOR_DOCS
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 inline Operator<Internal::Data<N, double> > Data(double a, ...);
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050 template<typename Precision> inline Operator<Internal::Data<N, Precision> > Data(const Precision& a, ...);
00051
00052 #endif
00053
00054 }