00001 namespace TooN{ 00002 namespace Internal{ 00003 template<int N, class P> class Data; 00004 } 00005 00006 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 00040 inline Operator<Internal::Data<N, double> > Data(double a, ...); 00041 00050 template<typename Precision> inline Operator<Internal::Data<N, Precision> > Data(const Precision& a, ...); 00051 00052 #endif 00053 00054 }