Boost QVM

normalize(v)

#include <boost/qvm/v.hpp>

namespace boost
{
    namespace qvm
    {
        //Only enabled if:
        //  is_v<A>::value
        template <class A>
        void normalize( A & a );
    }
}

Effects:

Normalizes a.

Postcondition:

mag(a)==s_traits<typename v_traits<A>::scalar_type>::value(1).

Throws:

If a's magnitude is zero, throws zero_magnitude_error.