|
Boost : |
From: Kresimir Fresl (fresl_at_[hidden])
Date: 2005-03-10 11:03:45
Jason Hise <chaos_at_[hidden]> writes:
> I saw that boost already has a pretty impressive linear algebra suite,
> with many specialized types of matrices. Though these are all very
> useful, I was wondering if there might be room for one more type of
> matrix: one which makes each size of matrix a unique type (I did not
> see such a matrix in the docs, but please correct me if I overlooked
> it and it does already exist).
There are two fixed size matrix types, but unfortunately they are
not documented:
template<class T, std::size_t M, std::size_t N, class L = row_major>
class bounded_matrix;
template<class T, std::size_t M, std::size_t N>
class c_matrix;
Both are defined in matrix.hpp.
bounded_matrix uses bounded_array for storage:
template<class T, std::size_t M, std::size_t N, class L>
class bounded_matrix:
public matrix<T, L, bounded_array<T, M * N> > { /* ... */ };
Therefore it can have row major and column major storage.
c_matrix wraps C array:
template<class T, std::size_t N, std::size_t M>
class c_matrix {
// ...
T data_ [N] [M];
};
Obviously, it must be row major.
fres
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk