| 379 | |
| 380 | public: |
| 381 | explicit AsDiagonalOp(const MatrixBase<_Child>& child) |
| 382 | : child_(child.derived()) |
| 383 | , size_(child.rows()==1 ? child.cols() : child.rows()) |
| 384 | { |
| 385 | CUMAT_STATIC_ASSERT(internal::traits<_Child>::RowsAtCompileTime == 1 || internal::traits<_Child>::ColsAtCompileTime == 1, |
| 386 | "The child expression must be a compile-time row or column vector"); |
| 387 | } |
| 388 | |
| 389 | __host__ __device__ CUMAT_STRONG_INLINE Index rows() const { return size_; } |
| 390 | __host__ __device__ CUMAT_STRONG_INLINE Index cols() const { return size_; } |