
on 14.08.2009 at 22:34 joel wrote :
you might be right. i just thought 'why i need arbitrary size _matrix_?' it might turn out there is no such cases There is. Small matrix like rotation matrix or 3D vector can benefit from a total unrolling of their evaluation. Knowing size of matrix at compile-time opens for a lot of such optimization (tiling, prefethcing, unrolling, strip mining) that make such a library able to compete with hand written C. indeed but by the phrase 'arbitrary size' i mean varying at runtime
for 3d rotation one should consider quaterninons - not a matrix and explain please what you mean by unrollin? loop unrolling? so far i suggest separate classes for vector and matrix and a general abstraction for order >2 vector (column) and matrix would have common public interface while less common high order entities would be represented by some tensor<> template or whatever with general interface -- Pavel