Complex Numbers

Intel(R) Array Building Blocks (Intel(R) ArBB) specializes the std::complex class template so that it can be used with the Intel(R) ArBB floating point types arbb::f32 and arbb::f64.

The std::complex<arbb::f32> and std::complex<arbb::f64> classes behave exactly as specified in the C++ standard, but operate on Intel(R) ArBB scalars. They can be used inside of Intel(R) ArBB function definitions and as element types for Intel(R) ArBB containers.

See Also

Scalars and Containers

Classes

class  std::complex< arbb::scalar< T > >
 Specialization of std::complex over Intel(R) ArBB scalar types. More...

Functions

template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::polar (const arbb::scalar< T > &rho, const arbb::scalar< T > &theta=arbb::scalar< T >(0))
 Constructs a complex number from polar coordinates.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::conj (const complex< arbb::scalar< T > > &c0)
 Returns the complex conjugate of c0.
template<arbb_scalar_type_t T>
arbb::scalar< T > std::real (const complex< arbb::scalar< T > > &c0)
 Returns the real component of c0.
template<arbb_scalar_type_t T>
arbb::scalar< T > std::imag (const complex< arbb::scalar< T > > &c0)
 Returns the imaginary component of c0.
template<arbb_scalar_type_t T>
arbb::scalar< T > std::abs (const complex< arbb::scalar< T > > &c0)
 Returns the complex absolute value of c0.
template<arbb_scalar_type_t T>
arbb::scalar< T > std::norm (const complex< arbb::scalar< T > > &c0)
 Returns the complex norm of c0.
template<arbb_scalar_type_t T>
arbb::scalar< T > std::arg (const complex< arbb::scalar< T > > &c0)
 Returns the complex arg of c0.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::operator+ (const complex< arbb::scalar< T > > &c0)
 Returns c0.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::operator+ (const complex< arbb::scalar< T > > &c0, const complex< arbb::scalar< T > > &c1)
 Returns the complex addition of c0 and c1.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::operator+ (const arbb::scalar< T > &c0, const complex< arbb::scalar< T > > &c1)
 Returns the complex addition of c0 and c1.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::operator+ (const complex< arbb::scalar< T > > &c0, const arbb::scalar< T > &c1)
 Returns the complex addition of c0 and c1.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::operator- (const complex< arbb::scalar< T > > &c0)
 Returns the negation of c0.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::operator- (const complex< arbb::scalar< T > > &c0, const complex< arbb::scalar< T > > &c1)
 Returns the complex subtraction of c0 and c1.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::operator- (const arbb::scalar< T > &c0, const complex< arbb::scalar< T > > &c1)
 Returns the complex subtraction of c0 and c1.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::operator- (const complex< arbb::scalar< T > > &c0, const arbb::scalar< T > &c1)
 Returns the complex subtraction of c0 and c1.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::operator* (const complex< arbb::scalar< T > > &c0, const complex< arbb::scalar< T > > &c1)
 Returns the complex multiplication of c0 and c1.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::operator* (const arbb::scalar< T > &c0, const complex< arbb::scalar< T > > &c1)
 Returns the complex multiplication of c0 and c1.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::operator* (const complex< arbb::scalar< T > > &c0, const arbb::scalar< T > &c1)
 Returns the complex multiplication of c0 and c1.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::operator/ (const complex< arbb::scalar< T > > &c0, const complex< arbb::scalar< T > > &c1)
 Returns the complex division of c0 by c1.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::operator/ (const arbb::scalar< T > &c0, const complex< arbb::scalar< T > > &c1)
 Returns the complex division of c0 by c1.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::operator/ (const complex< arbb::scalar< T > > &c0, const arbb::scalar< T > &c1)
 Returns the complex division of c0 by c1.
template<arbb_scalar_type_t T>
arbb::boolean std::operator== (const complex< arbb::scalar< T > > &c0, const complex< arbb::scalar< T > > &c1)
 Returns true if c0 is equal to c1.
template<arbb_scalar_type_t T>
arbb::boolean std::operator== (const arbb::scalar< T > &c0, const complex< arbb::scalar< T > > &c1)
 Returns true if c0 is equal to c1.
template<arbb_scalar_type_t T>
arbb::boolean std::operator== (const complex< arbb::scalar< T > > &c0, const arbb::scalar< T > &c1)
 Returns true if c0 is equal to c1.
template<arbb_scalar_type_t T>
arbb::boolean std::operator!= (const complex< arbb::scalar< T > > &c0, const complex< arbb::scalar< T > > &c1)
 Returns true if c0 is not equal to c1.
template<arbb_scalar_type_t T>
arbb::boolean std::operator!= (const arbb::scalar< T > &c0, const complex< arbb::scalar< T > > &c1)
 Returns true if c0 is not equal to c1.
template<arbb_scalar_type_t T>
arbb::boolean std::operator!= (const complex< arbb::scalar< T > > &c0, const arbb::scalar< T > &c1)
 Returns true if c0 is not equal to c1.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::pow (const complex< arbb::scalar< T > > &base, int exp)
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::pow (const complex< arbb::scalar< T > > &base, const arbb::scalar< T > &exp)
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::pow (const complex< arbb::scalar< T > > &base, const complex< arbb::scalar< T > > &exp)
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::pow (const arbb::scalar< T > &base, const complex< arbb::scalar< T > > &exp)
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::pow (const complex< arbb::scalar< T > > &base, const typename arbb::uncaptured< arbb::scalar< T > >::type &exp)
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::exp (const complex< arbb::scalar< T > > &c0)
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::sqrt (const complex< arbb::scalar< T > > &c0)
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::log (const complex< arbb::scalar< T > > &c0)
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::log10 (const complex< arbb::scalar< T > > &c0)
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::sin (const complex< arbb::scalar< T > > &c0)
 Returns the complex sine of c0.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::cos (const complex< arbb::scalar< T > > &c0)
 Returns the complex cosine of c0.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::tan (const complex< arbb::scalar< T > > &c0)
 Returns the complex tangent of c0.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::sinh (const complex< arbb::scalar< T > > &c0)
 Returns the complex hyperbolic sine of c0.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::cosh (const complex< arbb::scalar< T > > &c0)
 Returns the complex hyperbolic cosine of c0.
template<arbb_scalar_type_t T>
complex< arbb::scalar< T > > std::tanh (const complex< arbb::scalar< T > > &c0)
 Returns the complex hyperbolic tangent of c0.
template<arbb_scalar_type_t T>
std::complex< scalar< T > > arbb::select (const arbb::boolean &flag, const std::complex< scalar< T > > &src1, const std::complex< scalar< T > > &src2)
 If flag is true, returns src1, otherwise returns src2.

Function Documentation

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::polar ( const arbb::scalar< T > &  rho,
const arbb::scalar< T > &  theta = arbb::scalar< T >(0) 
) [inline]

Constructs a complex number from polar coordinates.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::conj ( const complex< arbb::scalar< T > > &  c0  )  [inline]

Returns the complex conjugate of c0.

template<arbb_scalar_type_t T>
arbb ::scalar<T> std::real ( const complex< arbb::scalar< T > > &  c0  )  [inline]

Returns the real component of c0.

template<arbb_scalar_type_t T>
arbb ::scalar<T> std::imag ( const complex< arbb::scalar< T > > &  c0  )  [inline]

Returns the imaginary component of c0.

template<arbb_scalar_type_t T>
arbb ::scalar<T> std::abs ( const complex< arbb::scalar< T > > &  c0  )  [inline]

Returns the complex absolute value of c0.

template<arbb_scalar_type_t T>
arbb ::scalar<T> std::norm ( const complex< arbb::scalar< T > > &  c0  )  [inline]

Returns the complex norm of c0.

template<arbb_scalar_type_t T>
arbb ::scalar<T> std::arg ( const complex< arbb::scalar< T > > &  c0  )  [inline]

Returns the complex arg of c0.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::operator+ ( const complex< arbb::scalar< T > > &  c0  )  [inline]

Returns c0.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::operator+ ( const complex< arbb::scalar< T > > &  c0,
const complex< arbb::scalar< T > > &  c1 
) [inline]

Returns the complex addition of c0 and c1.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::operator+ ( const arbb::scalar< T > &  c0,
const complex< arbb::scalar< T > > &  c1 
) [inline]

Returns the complex addition of c0 and c1.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::operator+ ( const complex< arbb::scalar< T > > &  c0,
const arbb::scalar< T > &  c1 
) [inline]

Returns the complex addition of c0 and c1.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::operator- ( const complex< arbb::scalar< T > > &  c0  )  [inline]

Returns the negation of c0.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::operator- ( const complex< arbb::scalar< T > > &  c0,
const complex< arbb::scalar< T > > &  c1 
) [inline]

Returns the complex subtraction of c0 and c1.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::operator- ( const arbb::scalar< T > &  c0,
const complex< arbb::scalar< T > > &  c1 
) [inline]

Returns the complex subtraction of c0 and c1.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::operator- ( const complex< arbb::scalar< T > > &  c0,
const arbb::scalar< T > &  c1 
) [inline]

Returns the complex subtraction of c0 and c1.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::operator* ( const complex< arbb::scalar< T > > &  c0,
const complex< arbb::scalar< T > > &  c1 
) [inline]

Returns the complex multiplication of c0 and c1.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::operator* ( const arbb::scalar< T > &  c0,
const complex< arbb::scalar< T > > &  c1 
) [inline]

Returns the complex multiplication of c0 and c1.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::operator* ( const complex< arbb::scalar< T > > &  c0,
const arbb::scalar< T > &  c1 
) [inline]

Returns the complex multiplication of c0 and c1.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::operator/ ( const complex< arbb::scalar< T > > &  c0,
const complex< arbb::scalar< T > > &  c1 
) [inline]

Returns the complex division of c0 by c1.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::operator/ ( const arbb::scalar< T > &  c0,
const complex< arbb::scalar< T > > &  c1 
) [inline]

Returns the complex division of c0 by c1.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::operator/ ( const complex< arbb::scalar< T > > &  c0,
const arbb::scalar< T > &  c1 
) [inline]

Returns the complex division of c0 by c1.

template<arbb_scalar_type_t T>
arbb ::boolean std::operator== ( const complex< arbb::scalar< T > > &  c0,
const complex< arbb::scalar< T > > &  c1 
) [inline]

Returns true if c0 is equal to c1.

template<arbb_scalar_type_t T>
arbb ::boolean std::operator== ( const arbb::scalar< T > &  c0,
const complex< arbb::scalar< T > > &  c1 
) [inline]

Returns true if c0 is equal to c1.

template<arbb_scalar_type_t T>
arbb ::boolean std::operator== ( const complex< arbb::scalar< T > > &  c0,
const arbb::scalar< T > &  c1 
) [inline]

Returns true if c0 is equal to c1.

template<arbb_scalar_type_t T>
arbb ::boolean std::operator!= ( const complex< arbb::scalar< T > > &  c0,
const complex< arbb::scalar< T > > &  c1 
) [inline]

Returns true if c0 is not equal to c1.

template<arbb_scalar_type_t T>
arbb ::boolean std::operator!= ( const arbb::scalar< T > &  c0,
const complex< arbb::scalar< T > > &  c1 
) [inline]

Returns true if c0 is not equal to c1.

template<arbb_scalar_type_t T>
arbb ::boolean std::operator!= ( const complex< arbb::scalar< T > > &  c0,
const arbb::scalar< T > &  c1 
) [inline]

Returns true if c0 is not equal to c1.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::pow ( const complex< arbb::scalar< T > > &  base,
int  exp 
) [inline]
template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::pow ( const complex< arbb::scalar< T > > &  base,
const arbb::scalar< T > &  exp 
) [inline]
template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::pow ( const complex< arbb::scalar< T > > &  base,
const complex< arbb::scalar< T > > &  exp 
) [inline]
template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::pow ( const arbb::scalar< T > &  base,
const complex< arbb::scalar< T > > &  exp 
) [inline]
template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::pow ( const complex< arbb::scalar< T > > &  base,
const typename arbb::uncaptured< arbb::scalar< T > >::type &  exp 
) [inline]
template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::exp ( const complex< arbb::scalar< T > > &  c0  )  [inline]
template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::sqrt ( const complex< arbb::scalar< T > > &  c0  )  [inline]
template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::log ( const complex< arbb::scalar< T > > &  c0  )  [inline]
template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::log10 ( const complex< arbb::scalar< T > > &  c0  )  [inline]
template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::sin ( const complex< arbb::scalar< T > > &  c0  )  [inline]

Returns the complex sine of c0.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::cos ( const complex< arbb::scalar< T > > &  c0  )  [inline]

Returns the complex cosine of c0.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::tan ( const complex< arbb::scalar< T > > &  c0  )  [inline]

Returns the complex tangent of c0.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::sinh ( const complex< arbb::scalar< T > > &  c0  )  [inline]

Returns the complex hyperbolic sine of c0.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::cosh ( const complex< arbb::scalar< T > > &  c0  )  [inline]

Returns the complex hyperbolic cosine of c0.

template<arbb_scalar_type_t T>
complex< arbb ::scalar<T> > std::tanh ( const complex< arbb::scalar< T > > &  c0  )  [inline]

Returns the complex hyperbolic tangent of c0.

template<arbb_scalar_type_t T>
std::complex<scalar<T> > arbb::select ( const arbb::boolean flag,
const std::complex< scalar< T > > &  src1,
const std::complex< scalar< T > > &  src2 
) [inline]

If flag is true, returns src1, otherwise returns src2.

Submit feedback on this help topic

Copyright © 2010, Intel Corporation. All rights reserved.