1*bf2c3715SXin Linamespace Eigen { 2*bf2c3715SXin Li namespace internal { 3*bf2c3715SXin Li template <class ArgType> 4*bf2c3715SXin Li struct traits<Circulant<ArgType> > 5*bf2c3715SXin Li { 6*bf2c3715SXin Li typedef Eigen::Dense StorageKind; 7*bf2c3715SXin Li typedef Eigen::MatrixXpr XprKind; 8*bf2c3715SXin Li typedef typename ArgType::StorageIndex StorageIndex; 9*bf2c3715SXin Li typedef typename ArgType::Scalar Scalar; 10*bf2c3715SXin Li enum { 11*bf2c3715SXin Li Flags = Eigen::ColMajor, 12*bf2c3715SXin Li RowsAtCompileTime = ArgType::RowsAtCompileTime, 13*bf2c3715SXin Li ColsAtCompileTime = ArgType::RowsAtCompileTime, 14*bf2c3715SXin Li MaxRowsAtCompileTime = ArgType::MaxRowsAtCompileTime, 15*bf2c3715SXin Li MaxColsAtCompileTime = ArgType::MaxRowsAtCompileTime 16*bf2c3715SXin Li }; 17*bf2c3715SXin Li }; 18*bf2c3715SXin Li } 19*bf2c3715SXin Li} 20