55 template<
int Size=Dynamic,
typename Precision=DefaultPrecision,
typename Base=Internal::VBase>
66 :
my_vector(data_in, size_in, stride_in, Internal::Slicing() ) {}
79 template<
int Size2,
typename Precision2,
typename Base2>
109 template<
int S1,
typename P1,
typename B1,
int S2,
typename P2,
typename B2>
115 template<
int S1,
typename P1,
typename B1,
int S2,
typename P2,
typename B2>
116 inline Vector<Internal::Sizer<S1,S2>::size,
typename Internal::MultiplyType<P1,P2>::type>
122 template<
int S1,
typename P1,
typename B1,
int S2,
typename P2,
typename B2>
123 inline DiagonalMatrix<Internal::Sizer<S1,S2>::size,
typename Internal::MultiplyType<P1,P2>::type>
129 template<
int R,
int C,
int Size,
typename P1,
typename P2,
typename B1,
typename B2>
130 Matrix<R, C, typename Internal::MultiplyType<P1,P2>::type>
135 template<
int R,
int C,
typename P1,
typename B1,
int Size,
typename P2,
typename B2>
136 Matrix<R, C, typename Internal::MultiplyType<P1,P2>::type>
Precision & operator[](int i)
Index the leading elements on the diagonal.
DiagonalMatrix(const Operator< Op > &op)
my_vector constructed from a TooN::Operator
Vector< Size, Precision, Base >::as_slice_type diagonal_slice()
Return the leading diagonal as a vector.
Everything lives inside this namespace.
DiagonalMatrix(Precision *data_in, int size_in, int stride_in, Internal::Slicing)
static void test(int s1, int s2)
DiagonalMatrix(const Vector< Size2, Precision2, Base2 > &from)
const Precision & operator[](int i) const
Index the leading elements on the diagonal.
Vector< Size, Precision, Base > my_vector
The vector used to hold the leading diagonal.
DiagonalMatrix(int size_in)
DiagonalMatrix(Precision *data)
DiagonalMatrix(Precision *data, int size_in)
const Vector< Size, Precision, Base >::as_slice_type diagonal_slice() const
Return the leading diagonal as a vector.
Vector< Internal::Sizer< S1, S2 >::size, typename Internal::MultiplyType< P1, P2 >::type > operator*(const DiagonalMatrix< S1, P1, B1 > &d, const Vector< S2, P2, B2 > &v)
Vector< Internal::Sizer< S1, S2 >::size, typename Internal::MultiplyType< P1, P2 >::type > diagmult(const Vector< S1, P1, B1 > &v1, const Vector< S2, P2, B2 > &v2)