
This is a library for working with Quaternions, Vectors and Matrices of static size. A type traits system is used to enable generic namespace-scope (operator) function templates that implement various Q, V and M operations for any (user-defined) compatible type. The library also defines view proxies which provide lvalue or rvalue access to objects as if they are of a different type. For example, col<1>(m) refers to column 1 of the matrix m as if it is a vector. This system works without creating temporary objects, and should enjoy zero abstraction penalty with most compilers (assuming inlining works.) The online documentation is at http://revergestudios.com/boost-qvm. Complete source code and documentation can be downloaded here: http://revergestudios.com/boost-qvm/boost-qvm.zip. Note: QVM supersedes (Boost) LA which was submitted for preliminary review about a year ago. It adds a few missing pieces (most notably support for quaternions), uses shorter names for types and functions, and is organized into fewer header files. Thanks, Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode

Emil Dotchevski-3 wrote:
Hi, I have updated the wiki https://svn.boost.org/trac/boost/wiki/ReviewScheduleLibraries#Boost.QVM. I had read the LA documentation recently and I find it very clear and a clean design (even if the names are sometimes too short ;-) BTW, I guess that the Dim in quat is 4 struct quat { T a[Dim]; Do you have some performances respect to other LA libraries with runtime dimension? I wish you to find a review manager soon. Best, Vicente -- View this message in context: http://boost.2283326.n4.nabble.com/Preliminary-review-request-for-Boost-QVM-... Sent from the Boost - Dev mailing list archive at Nabble.com.

On Tue, Feb 8, 2011 at 9:47 AM, Vicente Botet <vicente.botet@wanadoo.fr> wrote:
I'm not sure I understand the question, but v_traits<> defines Dim, q_traits<> does not. Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode

Emil Dotchevski-3 wrote:
Here is what I see in http://revergestudios.com/boost-qvm/quaternion_vector_and_matrix_types_refer... Best, Vicente namespace boost { namespace qvm { //*** Matrix and vector types *** template <class T> struct quat { T a[Dim]; ///////////////////////////////////////// template <class R> operator R() const { R r; assign(r,*this); return r; } }; template <class Quaternion> struct q_traits; template <class T> struct q_traits< quat<T> > { typedef T scalar_type; template <int I> static scalar_type r( quat<T> const & x ) { return x.a[I]; } template <int I> static scalar_type & w( quat<T> & x ) { return x.a[I]; } }; -- View this message in context: http://boost.2283326.n4.nabble.com/Preliminary-review-request-for-Boost-QVM-... Sent from the Boost - Dev mailing list archive at Nabble.com.

On Tue, Feb 8, 2011 at 12:29 PM, Vicente Botet <vicente.botet@wanadoo.fr> wrote:
Oh, this is a bug in the documentation. Will fix. Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode
participants (2)
-
Emil Dotchevski
-
Vicente Botet