Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
quaternion.hpp File Reference
#include <complex>
#include <iosfwd>
#include <sstream>
#include <boost/config.hpp>
#include <boost/detail/workaround.hpp>
#include <locale>
#include <valarray>
#include <boost/math/special_functions/sinc.hpp>
#include <boost/math/special_functions/sinhc.hpp>
Include dependency graph for quaternion.hpp:
This graph shows which files directly or indirectly include this file:

Classes

singleton  boost::math::quaternion< T >
 
class  boost::math::quaternion< float >
 
class  boost::math::quaternion< double >
 
class  boost::math::quaternion< long double >
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::math
 
 boost::math::detail
 

Macros

#define BOOST_QUATERNION_ACCESSOR_GENERATOR(type)
 
#define BOOST_QUATERNION_MEMBER_ASSIGNMENT_GENERATOR(type)
 
#define BOOST_QUATERNION_MEMBER_DATA_GENERATOR(type)
 
#define BOOST_QUATERNION_CONSTRUCTOR_GENERATOR(type)
 
#define BOOST_QUATERNION_MEMBER_ADD_GENERATOR_1(type)
 
#define BOOST_QUATERNION_MEMBER_ADD_GENERATOR_2(type)
 
#define BOOST_QUATERNION_MEMBER_ADD_GENERATOR_3(type)
 
#define BOOST_QUATERNION_MEMBER_SUB_GENERATOR_1(type)
 
#define BOOST_QUATERNION_MEMBER_SUB_GENERATOR_2(type)
 
#define BOOST_QUATERNION_MEMBER_SUB_GENERATOR_3(type)
 
#define BOOST_QUATERNION_MEMBER_MUL_GENERATOR_1(type)
 
#define BOOST_QUATERNION_MEMBER_MUL_GENERATOR_2(type)
 
#define BOOST_QUATERNION_MEMBER_MUL_GENERATOR_3(type)
 
#define BOOST_QUATERNION_MEMBER_DIV_GENERATOR_1(type)
 
#define BOOST_QUATERNION_MEMBER_DIV_GENERATOR_2(type)
 
#define BOOST_QUATERNION_MEMBER_DIV_GENERATOR_3(type)
 
#define BOOST_QUATERNION_MEMBER_ADD_GENERATOR(type)
 
#define BOOST_QUATERNION_MEMBER_SUB_GENERATOR(type)
 
#define BOOST_QUATERNION_MEMBER_MUL_GENERATOR(type)
 
#define BOOST_QUATERNION_MEMBER_DIV_GENERATOR(type)
 
#define BOOST_QUATERNION_MEMBER_ALGEBRAIC_GENERATOR(type)
 
#define BOOST_QUATERNION_OPERATOR_GENERATOR_BODY(op)
 
#define BOOST_QUATERNION_OPERATOR_GENERATOR_1_L(op)
 
#define BOOST_QUATERNION_OPERATOR_GENERATOR_1_R(op)
 
#define BOOST_QUATERNION_OPERATOR_GENERATOR_2_L(op)
 
#define BOOST_QUATERNION_OPERATOR_GENERATOR_2_R(op)
 
#define BOOST_QUATERNION_OPERATOR_GENERATOR_3(op)
 
#define BOOST_QUATERNION_OPERATOR_GENERATOR(op)
 
#define BOOST_QUATERNION_NOT_EQUAL_GENERATOR
 
#define BOOST_QUATERNION_VALARRAY_LOADER
 

Functions

template<typename T , typename U >
quaternion< Tboost::math::detail::quaternion_type_converter (quaternion< U > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator+ (T const &lhs, quaternion< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator+ (quaternion< T > const &lhs, T const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator+ (::std::complex< T > const &lhs, quaternion< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator+ (quaternion< T > const &lhs,::std::complex< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator+ (quaternion< T > const &lhs, quaternion< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator- (T const &lhs, quaternion< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator- (quaternion< T > const &lhs, T const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator- (::std::complex< T > const &lhs, quaternion< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator- (quaternion< T > const &lhs,::std::complex< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator- (quaternion< T > const &lhs, quaternion< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator* (T const &lhs, quaternion< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator* (quaternion< T > const &lhs, T const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator* (::std::complex< T > const &lhs, quaternion< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator* (quaternion< T > const &lhs,::std::complex< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator* (quaternion< T > const &lhs, quaternion< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator/ (T const &lhs, quaternion< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator/ (quaternion< T > const &lhs, T const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator/ (::std::complex< T > const &lhs, quaternion< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator/ (quaternion< T > const &lhs,::std::complex< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator/ (quaternion< T > const &lhs, quaternion< T > const &rhs)
 
template<typename T >
quaternion< Tboost::math::operator+ (quaternion< T > const &q)
 
template<typename T >
quaternion< Tboost::math::operator- (quaternion< T > const &q)
 
template<typename T >
bool boost::math::operator== (T const &lhs, quaternion< T > const &rhs)
 
template<typename T >
bool boost::math::operator== (quaternion< T > const &lhs, T const &rhs)
 
template<typename T >
bool boost::math::operator== (::std::complex< T > const &lhs, quaternion< T > const &rhs)
 
template<typename T >
bool boost::math::operator== (quaternion< T > const &lhs,::std::complex< T > const &rhs)
 
template<typename T >
bool boost::math::operator== (quaternion< T > const &lhs, quaternion< T > const &rhs)
 
template<typename T >
bool boost::math::operator!= (T const &lhs, quaternion< T > const &rhs)
 
template<typename T >
bool boost::math::operator!= (quaternion< T > const &lhs, T const &rhs)
 
template<typename T >
bool boost::math::operator!= (::std::complex< T > const &lhs, quaternion< T > const &rhs)
 
template<typename T >
bool boost::math::operator!= (quaternion< T > const &lhs,::std::complex< T > const &rhs)
 
template<typename T >
bool boost::math::operator!= (quaternion< T > const &lhs, quaternion< T > const &rhs)
 
template<typename T , typename charT , class traits >
::std::basic_istream< charT,
traits > & 
boost::math::operator>> (::std::basic_istream< charT, traits > &is, quaternion< T > &q)
 
template<typename T , typename charT , class traits >
::std::basic_ostream< charT,
traits > & 
boost::math::operator<< (::std::basic_ostream< charT, traits > &os, quaternion< T > const &q)
 
template<typename T >
T boost::math::real (quaternion< T > const &q)
 
template<typename T >
quaternion< Tboost::math::unreal (quaternion< T > const &q)
 
template<typename T >
T boost::math::sup (quaternion< T > const &q)
 
template<typename T >
T boost::math::l1 (quaternion< T > const &q)
 
template<typename T >
T boost::math::abs (quaternion< T > const &q)
 
template<typename T >
T boost::math::norm (quaternion< T >const &q)
 
template<typename T >
quaternion< Tboost::math::conj (quaternion< T > const &q)
 
template<typename T >
quaternion< Tboost::math::spherical (T const &rho, T const &theta, T const &phi1, T const &phi2)
 
template<typename T >
quaternion< Tboost::math::semipolar (T const &rho, T const &alpha, T const &theta1, T const &theta2)
 
template<typename T >
quaternion< Tboost::math::multipolar (T const &rho1, T const &theta1, T const &rho2, T const &theta2)
 
template<typename T >
quaternion< Tboost::math::cylindrospherical (T const &t, T const &radius, T const &longitude, T const &latitude)
 
template<typename T >
quaternion< Tboost::math::cylindrical (T const &r, T const &angle, T const &h1, T const &h2)
 
template<typename T >
quaternion< Tboost::math::exp (quaternion< T > const &q)
 
template<typename T >
quaternion< Tboost::math::cos (quaternion< T > const &q)
 
template<typename T >
quaternion< Tboost::math::sin (quaternion< T > const &q)
 
template<typename T >
quaternion< Tboost::math::tan (quaternion< T > const &q)
 
template<typename T >
quaternion< Tboost::math::cosh (quaternion< T > const &q)
 
template<typename T >
quaternion< Tboost::math::sinh (quaternion< T > const &q)
 
template<typename T >
quaternion< Tboost::math::tanh (quaternion< T > const &q)
 
template<typename T >
quaternion< Tboost::math::pow (quaternion< T > const &q, int n)
 

Macro Definition Documentation

#define BOOST_QUATERNION_ACCESSOR_GENERATOR (   type)
#define BOOST_QUATERNION_CONSTRUCTOR_GENERATOR (   type)
Value:
explicit quaternion( type const & requested_a = static_cast<type>(0), \
type const & requested_b = static_cast<type>(0), \
type const & requested_c = static_cast<type>(0), \
type const & requested_d = static_cast<type>(0)) \
: a(requested_a), \
b(requested_b), \
c(requested_c), \
d(requested_d) \
{ \
} \
\
explicit quaternion( ::std::complex<type> const & z0, \
::std::complex<type> const & z1 = ::std::complex<type>()) \
: a(z0.real()), \
b(z0.imag()), \
c(z1.real()), \
d(z1.imag()) \
{ \
}
void const T const U const V & c
Definition: debug_adaptor.hpp:294
Allocator Allocator a
Definition: function_template.hpp:727
basic_streambuf< Allocator > & b
Definition: read.hpp:555
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_QUATERNION_MEMBER_ADD_GENERATOR (   type)
Value:
#define BOOST_QUATERNION_MEMBER_ADD_GENERATOR_2(type)
Definition: quaternion.hpp:467
#define BOOST_QUATERNION_MEMBER_ADD_GENERATOR_3(type)
Definition: quaternion.hpp:476
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_QUATERNION_MEMBER_ADD_GENERATOR_1(type)
Definition: quaternion.hpp:459
#define BOOST_QUATERNION_MEMBER_ADD_GENERATOR_1 (   type)
Value:
quaternion<type> & operator += (type const & rhs) \
{ \
a += rhs; \
\
return(*this); \
}
std::vector< Left > & operator+=(std::vector< Left > &left, std::vector< Left > const &right)
Definition: vector.hpp:158
Allocator Allocator a
Definition: function_template.hpp:727
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_QUATERNION_MEMBER_ADD_GENERATOR_2 (   type)
Value:
quaternion<type> & operator += (::std::complex<type> const & rhs) \
{ \
a += rhs.real(); \
b += rhs.imag(); \
\
return(*this); \
}
std::vector< Left > & operator+=(std::vector< Left > &left, std::vector< Left > const &right)
Definition: vector.hpp:158
Allocator Allocator a
Definition: function_template.hpp:727
basic_streambuf< Allocator > & b
Definition: read.hpp:555
#define BOOST_QUATERNION_MEMBER_ADD_GENERATOR_3 (   type)
Value:
template<typename X> \
quaternion<type> & operator += (quaternion<X> const & rhs) \
{ \
a += static_cast<type>(rhs.R_component_1()); \
b += static_cast<type>(rhs.R_component_2()); \
c += static_cast<type>(rhs.R_component_3()); \
d += static_cast<type>(rhs.R_component_4()); \
\
return(*this); \
}
void const T const U const V & c
Definition: debug_adaptor.hpp:294
std::vector< Left > & operator+=(std::vector< Left > &left, std::vector< Left > const &right)
Definition: vector.hpp:158
Allocator Allocator a
Definition: function_template.hpp:727
basic_streambuf< Allocator > & b
Definition: read.hpp:555
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_QUATERNION_MEMBER_ALGEBRAIC_GENERATOR (   type)
Value:
#define BOOST_QUATERNION_MEMBER_DIV_GENERATOR(type)
Definition: quaternion.hpp:746
#define BOOST_QUATERNION_MEMBER_SUB_GENERATOR(type)
Definition: quaternion.hpp:736
#define BOOST_QUATERNION_MEMBER_MUL_GENERATOR(type)
Definition: quaternion.hpp:741
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_QUATERNION_MEMBER_ADD_GENERATOR(type)
Definition: quaternion.hpp:731
#define BOOST_QUATERNION_MEMBER_ASSIGNMENT_GENERATOR (   type)
#define BOOST_QUATERNION_MEMBER_DATA_GENERATOR (   type)
Value:
void const T const U const V & c
Definition: debug_adaptor.hpp:294
Allocator Allocator a
Definition: function_template.hpp:727
basic_streambuf< Allocator > & b
Definition: read.hpp:555
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_QUATERNION_MEMBER_DIV_GENERATOR (   type)
Value:
#define BOOST_QUATERNION_MEMBER_DIV_GENERATOR_3(type)
Definition: quaternion.hpp:694
#define BOOST_QUATERNION_MEMBER_DIV_GENERATOR_2(type)
Definition: quaternion.hpp:622
#define BOOST_QUATERNION_MEMBER_DIV_GENERATOR_1(type)
Definition: quaternion.hpp:576
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_QUATERNION_MEMBER_DIV_GENERATOR_1 (   type)
Value:
quaternion<type> & operator /= (type const & rhs) \
{ \
a /= rhs; \
b /= rhs; \
c /= rhs; \
d /= rhs; \
\
return(*this); \
}
void const T const U const V & c
Definition: debug_adaptor.hpp:294
Allocator Allocator a
Definition: function_template.hpp:727
basic_streambuf< Allocator > & b
Definition: read.hpp:555
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
BOOST_PROTO_DISABLE_MSVC_C4714 BOOST_FORCEINLINE boost::proto::detail::enable_binary< deduce_domain, deduce_domain::proto_grammar, boost::mpl::or_< is_extension< Left >, is_extension< Right > >, boost::proto::tag::divides_assign, Left const &, Right const & >::type const operator/=(Left &&left, Right &&right)
Definition: operators.hpp:295
#define BOOST_QUATERNION_MEMBER_DIV_GENERATOR_2 (   type)
#define BOOST_QUATERNION_MEMBER_DIV_GENERATOR_3 (   type)
#define BOOST_QUATERNION_MEMBER_MUL_GENERATOR (   type)
Value:
#define BOOST_QUATERNION_MEMBER_MUL_GENERATOR_1(type)
Definition: quaternion.hpp:517
#define BOOST_QUATERNION_MEMBER_MUL_GENERATOR_3(type)
Definition: quaternion.hpp:547
#define BOOST_QUATERNION_MEMBER_MUL_GENERATOR_2(type)
Definition: quaternion.hpp:528
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_QUATERNION_MEMBER_MUL_GENERATOR_1 (   type)
Value:
quaternion<type> & operator *= (type const & rhs) \
{ \
a *= rhs; \
b *= rhs; \
c *= rhs; \
d *= rhs; \
\
return(*this); \
}
void const T const U const V & c
Definition: debug_adaptor.hpp:294
Allocator Allocator a
Definition: function_template.hpp:727
basic_streambuf< Allocator > & b
Definition: read.hpp:555
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
enable_if< typename gtl_and_3< yes_ps_ose, typename is_mutable_polygon_set_type< geometry_type_1 >::type, typename is_any_polygon_set_type< geometry_type_2 >::type >::type, geometry_type_1 >::type & operator*=(geometry_type_1 &lvalue, const geometry_type_2 &rvalue)
Definition: polygon_set_concept.hpp:407
#define BOOST_QUATERNION_MEMBER_MUL_GENERATOR_2 (   type)
Value:
quaternion<type> & operator *= (::std::complex<type> const & rhs) \
{ \
type ar = rhs.real(); \
type br = rhs.imag(); \
\
type at = +a*ar-b*br; \
type bt = +a*br+b*ar; \
type ct = +c*ar+d*br; \
type dt = -c*br+d*ar; \
\
a = at; \
b = bt; \
c = ct; \
d = dt; \
\
return(*this); \
}
void const T const U const V & c
Definition: debug_adaptor.hpp:294
function< op::at >::type const at
at is a lazy PolymorphicFunctionObject for indexing into a sequence in an xpressive semantic action...
Definition: regex_actions.hpp:938
Allocator Allocator a
Definition: function_template.hpp:727
basic_streambuf< Allocator > & b
Definition: read.hpp:555
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
enable_if< typename gtl_and_3< yes_ps_ose, typename is_mutable_polygon_set_type< geometry_type_1 >::type, typename is_any_polygon_set_type< geometry_type_2 >::type >::type, geometry_type_1 >::type & operator*=(geometry_type_1 &lvalue, const geometry_type_2 &rvalue)
Definition: polygon_set_concept.hpp:407
#define BOOST_QUATERNION_MEMBER_MUL_GENERATOR_3 (   type)
Value:
template<typename X> \
quaternion<type> & operator *= (quaternion<X> const & rhs) \
{ \
type ar = static_cast<type>(rhs.R_component_1()); \
type br = static_cast<type>(rhs.R_component_2()); \
type cr = static_cast<type>(rhs.R_component_3()); \
type dr = static_cast<type>(rhs.R_component_4()); \
\
type at = +a*ar-b*br-c*cr-d*dr; \
type bt = +a*br+b*ar+c*dr-d*cr; \
type ct = +a*cr-b*dr+c*ar+d*br; \
type dt = +a*dr+b*cr-c*br+d*ar; \
\
a = at; \
b = bt; \
c = ct; \
d = dt; \
\
return(*this); \
}
void const T const U const V & c
Definition: debug_adaptor.hpp:294
function< op::at >::type const at
at is a lazy PolymorphicFunctionObject for indexing into a sequence in an xpressive semantic action...
Definition: regex_actions.hpp:938
Allocator Allocator a
Definition: function_template.hpp:727
basic_streambuf< Allocator > & b
Definition: read.hpp:555
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
enable_if< typename gtl_and_3< yes_ps_ose, typename is_mutable_polygon_set_type< geometry_type_1 >::type, typename is_any_polygon_set_type< geometry_type_2 >::type >::type, geometry_type_1 >::type & operator*=(geometry_type_1 &lvalue, const geometry_type_2 &rvalue)
Definition: polygon_set_concept.hpp:407
#define BOOST_QUATERNION_MEMBER_SUB_GENERATOR (   type)
Value:
#define BOOST_QUATERNION_MEMBER_SUB_GENERATOR_1(type)
Definition: quaternion.hpp:488
#define BOOST_QUATERNION_MEMBER_SUB_GENERATOR_2(type)
Definition: quaternion.hpp:496
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_QUATERNION_MEMBER_SUB_GENERATOR_3(type)
Definition: quaternion.hpp:505
#define BOOST_QUATERNION_MEMBER_SUB_GENERATOR_1 (   type)
Value:
quaternion<type> & operator -= (type const & rhs) \
{ \
a -= rhs; \
\
return(*this); \
}
Allocator Allocator a
Definition: function_template.hpp:727
local_date_time operator-=(local_date_time &t, const boost::gregorian::months &m)
Subtracts a months object from a local_date_time.
Definition: date_duration_operators.hpp:62
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_QUATERNION_MEMBER_SUB_GENERATOR_2 (   type)
Value:
quaternion<type> & operator -= (::std::complex<type> const & rhs) \
{ \
a -= rhs.real(); \
b -= rhs.imag(); \
\
return(*this); \
}
Allocator Allocator a
Definition: function_template.hpp:727
local_date_time operator-=(local_date_time &t, const boost::gregorian::months &m)
Subtracts a months object from a local_date_time.
Definition: date_duration_operators.hpp:62
basic_streambuf< Allocator > & b
Definition: read.hpp:555
#define BOOST_QUATERNION_MEMBER_SUB_GENERATOR_3 (   type)
Value:
template<typename X> \
quaternion<type> & operator -= (quaternion<X> const & rhs) \
{ \
a -= static_cast<type>(rhs.R_component_1()); \
b -= static_cast<type>(rhs.R_component_2()); \
c -= static_cast<type>(rhs.R_component_3()); \
d -= static_cast<type>(rhs.R_component_4()); \
\
return(*this); \
}
void const T const U const V & c
Definition: debug_adaptor.hpp:294
Allocator Allocator a
Definition: function_template.hpp:727
local_date_time operator-=(local_date_time &t, const boost::gregorian::months &m)
Subtracts a months object from a local_date_time.
Definition: date_duration_operators.hpp:62
basic_streambuf< Allocator > & b
Definition: read.hpp:555
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_QUATERNION_NOT_EQUAL_GENERATOR
Value:
{ \
return(!(lhs == rhs)); \
}
#define BOOST_QUATERNION_OPERATOR_GENERATOR (   op)
Value:
#define BOOST_QUATERNION_OPERATOR_GENERATOR_2_L(op)
Definition: quaternion.hpp:990
#define BOOST_QUATERNION_OPERATOR_GENERATOR_2_R(op)
Definition: quaternion.hpp:995
#define BOOST_QUATERNION_OPERATOR_GENERATOR_1_R(op)
Definition: quaternion.hpp:985
#define BOOST_QUATERNION_OPERATOR_GENERATOR_3(op)
Definition: quaternion.hpp:1000
#define BOOST_QUATERNION_OPERATOR_GENERATOR_1_L(op)
Definition: quaternion.hpp:980
#define BOOST_QUATERNION_OPERATOR_GENERATOR_1_L (   op)
Value:
template<typename T> \
inline quaternion<T> operator op (T const & lhs, quaternion<T> const & rhs) \
T
Definition: mem_fn_cc.hpp:25
#define BOOST_QUATERNION_OPERATOR_GENERATOR_BODY(op)
Definition: quaternion.hpp:973
#define BOOST_QUATERNION_OPERATOR_GENERATOR_1_R (   op)
Value:
template<typename T> \
inline quaternion<T> operator op (quaternion<T> const & lhs, T const & rhs) \
T
Definition: mem_fn_cc.hpp:25
#define BOOST_QUATERNION_OPERATOR_GENERATOR_BODY(op)
Definition: quaternion.hpp:973
#define BOOST_QUATERNION_OPERATOR_GENERATOR_2_L (   op)
Value:
template<typename T> \
inline quaternion<T> operator op (::std::complex<T> const & lhs, quaternion<T> const & rhs) \
#define BOOST_QUATERNION_OPERATOR_GENERATOR_BODY(op)
Definition: quaternion.hpp:973
#define BOOST_QUATERNION_OPERATOR_GENERATOR_2_R (   op)
Value:
template<typename T> \
inline quaternion<T> operator op (quaternion<T> const & lhs, ::std::complex<T> const & rhs) \
#define BOOST_QUATERNION_OPERATOR_GENERATOR_BODY(op)
Definition: quaternion.hpp:973
#define BOOST_QUATERNION_OPERATOR_GENERATOR_3 (   op)
Value:
template<typename T> \
inline quaternion<T> operator op (quaternion<T> const & lhs, quaternion<T> const & rhs) \
#define BOOST_QUATERNION_OPERATOR_GENERATOR_BODY(op)
Definition: quaternion.hpp:973
#define BOOST_QUATERNION_OPERATOR_GENERATOR_BODY (   op)
Value:
{ \
quaternion<T> res(lhs); \
res op##= rhs; \
return(res); \
}
#define BOOST_QUATERNION_VALARRAY_LOADER
Value:
using ::std::valarray; \
\
valarray<T> temp(4); \
\
temp[0] = q.R_component_1(); \
temp[1] = q.R_component_2(); \
temp[2] = q.R_component_3(); \
temp[3] = q.R_component_4();

Referenced by boost::math::abs(), boost::math::l1(), and boost::math::sup().