Macros | Functions
vnl_complex_ops.hxx File Reference
#include "vnl_complexify.h"
#include "vnl_real.h"
#include "vnl_imag.h"
#include <cassert>

Go to the source code of this file.

Macros

#define VNL_COMPLEX_OPS_INSTANTIATE(T)
 

Functions

template<class T >
void vnl_complexify (T const *src, std::complex< T > *dst, unsigned n)
 Overwrite complex array C (sz n) with complexified version of real array R. More...
 
template<class T >
void vnl_complexify (T const *re, T const *im, std::complex< T > *dst, unsigned n)
 Overwrite complex array C (of length n) with pairs from real arrays R and I. More...
 
template<class T >
vnl_vector< std::complex< T > > vnl_complexify (vnl_vector< T > const &R)
 Return complexified version of real vector R. More...
 
template<class T >
vnl_matrix< std::complex< T > > vnl_complexify (vnl_matrix< T > const &R)
 Return complexified version of real matrix R. More...
 
template<class T >
vnl_diag_matrix< std::complex< T > > vnl_complexify (vnl_diag_matrix< T > const &R)
 Return complexified version of real diagonal matrix R. More...
 
template<class T >
vnl_sym_matrix< std::complex< T > > vnl_complexify (vnl_sym_matrix< T > const &R)
 Return complexified version of real symmetric matrix R. More...
 
template<class T >
vnl_vector< std::complex< T > > vnl_complexify (vnl_vector< T > const &R, vnl_vector< T > const &I)
 Return complex vector R+j*I from two real vectors R and I. More...
 
template<class T >
vnl_matrix< std::complex< T > > vnl_complexify (vnl_matrix< T > const &R, vnl_matrix< T > const &I)
 Return complex matrix R+j*I from two real matrices R and I. More...
 
template<class T >
vnl_diag_matrix< std::complex< T > > vnl_complexify (vnl_diag_matrix< T > const &R, vnl_diag_matrix< T > const &I)
 Return complex diagonal matrix R+j*I from two real diagonal matrices R and I. More...
 
template<class T >
vnl_sym_matrix< std::complex< T > > vnl_complexify (vnl_sym_matrix< T > const &R, vnl_sym_matrix< T > const &I)
 Return complex diagonal matrix R+j*I from two real diagonal matrices R and I. More...
 
template<class T >
void vnl_real (std::complex< T > const *C, T *R, unsigned int n)
 Return array of real parts of complex array. More...
 
template<class T >
vnl_vector< T > vnl_real (vnl_vector< std::complex< T > > const &C)
 Vector of real parts of vnl_vector<std::complex<T> >. More...
 
template<class T >
vnl_matrix< T > vnl_real (vnl_matrix< std::complex< T > > const &C)
 Matrix of real parts of vnl_matrix<std::complex<T> >. More...
 
template<class T >
vnl_diag_matrix< T > vnl_real (vnl_diag_matrix< std::complex< T > > const &C)
 Matrix of real parts of vnl_diag_matrix<std::complex<T> >. More...
 
template<class T >
vnl_sym_matrix< T > vnl_real (vnl_sym_matrix< std::complex< T > > const &C)
 Matrix of real parts of vnl_sym_matrix<std::complex<T> >. More...
 
template<class T >
void vnl_imag (std::complex< T > const *C, T *I, unsigned int n)
 Return array of imaginary parts of complex array. More...
 
template<class T >
vnl_vector< T > vnl_imag (vnl_vector< std::complex< T > > const &C)
 Vector of imaginary parts of vnl_vector<std::complex<T> >. More...
 
template<class T >
vnl_matrix< T > vnl_imag (vnl_matrix< std::complex< T > > const &C)
 Matrix of imaginary parts of vnl_matrix<std::complex<T> >. More...
 
template<class T >
vnl_diag_matrix< T > vnl_imag (vnl_diag_matrix< std::complex< T > > const &C)
 Matrix of real parts of vnl_diag_matrix<std::complex<T> >. More...
 
template<class T >
vnl_sym_matrix< T > vnl_imag (vnl_sym_matrix< std::complex< T > > const &C)
 Matrix of real parts of vnl_sym_matrix<std::complex<T> >. More...
 

Detailed Description

Author
fsm This is the implementation file for the following three header files: vnl_complexify.h vnl_real.h vnl_imag.h

Definition in file vnl_complex_ops.hxx.

Macro Definition Documentation

◆ VNL_COMPLEX_OPS_INSTANTIATE

#define VNL_COMPLEX_OPS_INSTANTIATE (   T)
Value:
template VNL_EXPORT void vnl_complexify(T const *, std::complex<T > *, unsigned); \
template VNL_EXPORT void vnl_complexify(T const *, T const *, std::complex<T > *, unsigned); \
\
template VNL_EXPORT vnl_vector<std::complex<T > > vnl_complexify(vnl_vector<T > const &, vnl_vector<T > const &); \
template VNL_EXPORT vnl_matrix<std::complex<T > > vnl_complexify(vnl_matrix<T > const &, vnl_matrix<T > const &); \
\
template VNL_EXPORT void vnl_real(std::complex<T > const*, T*, unsigned int); \
template VNL_EXPORT void vnl_imag(std::complex<T > const*, T*, unsigned int); \
\
template VNL_EXPORT vnl_vector<T > vnl_real(vnl_vector<std::complex<T > > const&); \
template VNL_EXPORT vnl_vector<T > vnl_imag(vnl_vector<std::complex<T > > const&); \
\
template VNL_EXPORT vnl_matrix<T > vnl_real(vnl_matrix<std::complex<T > > const&); \
template VNL_EXPORT vnl_matrix<T > vnl_imag(vnl_matrix<std::complex<T > > const&); \
\
template VNL_EXPORT vnl_diag_matrix<T > vnl_real(vnl_diag_matrix<std::complex<T > > const&); \
template VNL_EXPORT vnl_diag_matrix<T > vnl_imag(vnl_diag_matrix<std::complex<T > > const&); \
\
template VNL_EXPORT vnl_sym_matrix<T > vnl_real(vnl_sym_matrix<std::complex<T > > const&); \
template VNL_EXPORT vnl_sym_matrix<T > vnl_imag(vnl_sym_matrix<std::complex<T > > const&)
VNL_EXPORT vnl_vector< T > vnl_real(vnl_vector< std::complex< T > > const &C)
Vector of real parts of vnl_vector<std::complex<T> >.
An ordinary mathematical matrix.
Definition: vnl_adjugate.h:22
VNL_EXPORT vnl_vector< T > vnl_imag(vnl_vector< std::complex< T > > const &C)
Vector of imaginary parts of vnl_vector<std::complex<T> >.
Mathematical vector class, templated by type of element.
Definition: vnl_fwd.h:16
VNL_EXPORT vnl_vector< std::complex< T > > vnl_complexify(vnl_vector< T > const &R)
Return complexified version of real vector R.
stores a diagonal matrix as a single vector.
stores a symmetric matrix as just the diagonal and lower triangular part.

Definition at line 278 of file vnl_complex_ops.hxx.

Function Documentation

◆ vnl_complexify() [1/10]

template<class T >
void vnl_complexify ( T const *  src,
std::complex< T > *  dst,
unsigned  n 
)

Overwrite complex array C (sz n) with complexified version of real array R.

Definition at line 23 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [2/10]

template<class T >
void vnl_complexify ( T const *  re,
T const *  im,
std::complex< T > *  dst,
unsigned  n 
)

Overwrite complex array C (of length n) with pairs from real arrays R and I.

Definition at line 31 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [3/10]

template<class T >
vnl_vector<std::complex<T> > vnl_complexify ( vnl_vector< T > const &  R)

Return complexified version of real vector R.

Definition at line 48 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [4/10]

template<class T >
vnl_matrix<std::complex<T> > vnl_complexify ( vnl_matrix< T > const &  R)

Return complexified version of real matrix R.

Definition at line 57 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [5/10]

template<class T >
vnl_diag_matrix<std::complex<T> > vnl_complexify ( vnl_diag_matrix< T > const &  R)

Return complexified version of real diagonal matrix R.

Definition at line 66 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [6/10]

template<class T >
vnl_sym_matrix<std::complex<T> > vnl_complexify ( vnl_sym_matrix< T > const &  R)

Return complexified version of real symmetric matrix R.

Definition at line 75 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [7/10]

template<class T >
vnl_vector<std::complex<T> > vnl_complexify ( vnl_vector< T > const &  R,
vnl_vector< T > const &  I 
)

Return complex vector R+j*I from two real vectors R and I.

Definition at line 95 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [8/10]

template<class T >
vnl_matrix<std::complex<T> > vnl_complexify ( vnl_matrix< T > const &  R,
vnl_matrix< T > const &  I 
)

Return complex matrix R+j*I from two real matrices R and I.

Definition at line 105 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [9/10]

template<class T >
vnl_diag_matrix<std::complex<T> > vnl_complexify ( vnl_diag_matrix< T > const &  R,
vnl_diag_matrix< T > const &  I 
)

Return complex diagonal matrix R+j*I from two real diagonal matrices R and I.

Definition at line 116 of file vnl_complex_ops.hxx.

◆ vnl_complexify() [10/10]

template<class T >
vnl_sym_matrix<std::complex<T> > vnl_complexify ( vnl_sym_matrix< T > const &  R,
vnl_sym_matrix< T > const &  I 
)

Return complex diagonal matrix R+j*I from two real diagonal matrices R and I.

Definition at line 126 of file vnl_complex_ops.hxx.

◆ vnl_imag() [1/5]

template<class T >
void vnl_imag ( std::complex< T > const *  C,
T *  I,
unsigned int  n 
)

Return array of imaginary parts of complex array.

Return array I of imaginary parts of complex array C.

Definition at line 218 of file vnl_complex_ops.hxx.

◆ vnl_imag() [2/5]

template<class T >
vnl_vector<T> vnl_imag ( vnl_vector< std::complex< T > > const &  C)

Vector of imaginary parts of vnl_vector<std::complex<T> >.

Definition at line 227 of file vnl_complex_ops.hxx.

◆ vnl_imag() [3/5]

template<class T >
vnl_matrix<T> vnl_imag ( vnl_matrix< std::complex< T > > const &  C)

Matrix of imaginary parts of vnl_matrix<std::complex<T> >.

Definition at line 240 of file vnl_complex_ops.hxx.

◆ vnl_imag() [4/5]

template<class T >
vnl_diag_matrix<T> vnl_imag ( vnl_diag_matrix< std::complex< T > > const &  C)

Matrix of real parts of vnl_diag_matrix<std::complex<T> >.

Matrix of imaginary parts of vnl_diag_matrix<std::complex<T> >.

Definition at line 253 of file vnl_complex_ops.hxx.

◆ vnl_imag() [5/5]

template<class T >
vnl_sym_matrix<T> vnl_imag ( vnl_sym_matrix< std::complex< T > > const &  C)

Matrix of real parts of vnl_sym_matrix<std::complex<T> >.

Matrix of imaginary parts of vnl_sym_matrix<std::complex<T> >.

Definition at line 266 of file vnl_complex_ops.hxx.

◆ vnl_real() [1/5]

template<class T >
void vnl_real ( std::complex< T > const *  C,
T *  R,
unsigned int  n 
)

Return array of real parts of complex array.

Return array R of real parts of complex array C.

Definition at line 147 of file vnl_complex_ops.hxx.

◆ vnl_real() [2/5]

template<class T >
vnl_vector<T> vnl_real ( vnl_vector< std::complex< T > > const &  C)

Vector of real parts of vnl_vector<std::complex<T> >.

Definition at line 156 of file vnl_complex_ops.hxx.

◆ vnl_real() [3/5]

template<class T >
vnl_matrix<T> vnl_real ( vnl_matrix< std::complex< T > > const &  C)

Matrix of real parts of vnl_matrix<std::complex<T> >.

Definition at line 169 of file vnl_complex_ops.hxx.

◆ vnl_real() [4/5]

template<class T >
vnl_diag_matrix<T> vnl_real ( vnl_diag_matrix< std::complex< T > > const &  C)

Matrix of real parts of vnl_diag_matrix<std::complex<T> >.

Definition at line 182 of file vnl_complex_ops.hxx.

◆ vnl_real() [5/5]

template<class T >
vnl_sym_matrix<T> vnl_real ( vnl_sym_matrix< std::complex< T > > const &  C)

Matrix of real parts of vnl_sym_matrix<std::complex<T> >.

Definition at line 195 of file vnl_complex_ops.hxx.