Boost LA

Unary Vector Operations

#include <boost/la/vector_minus.hpp> 
#include <boost/la/vector_magnitude.hpp> 
#include <boost/la/vector_magnitude2.hpp>

namespace
boost
    {
    namespace
    la
        {
        //*** Unary vector operations ***
        
        //Only enabled if: is_vector<A>::value
        template <class A>
        typename deduce_vector<A>::type
        operator-( A const & a );        
        
        //Only enabled if:
        //  is_vector<A>::value
        template <class A>
        typename vector_traits<A>::scalar_type
        magnitude( A const & a );        
        
        //Only enabled if:
        //  is_vector<A>::value
        template <class A>
        typename vector_traits<A>::scalar_type
        magnitude2( A const & a );
        }
    }

See also: Boost LA | Synopsis