QMCPACK
e2iphi.h File Reference
+ Include dependency graph for e2iphi.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<typename T >
void eval_e2iphi (int n, const T *restrict phi, T *restrict phase_r, T *restrict phase_i)
 
template<typename T >
void eval_e2iphi (int n, const T *restrict phi, std::complex< T > *restrict z)
 
template<typename T >
void eval_e2iphi (std::vector< T > &phi, std::vector< std::complex< T >> &z)
 

Function Documentation

◆ eval_e2iphi() [1/3]

void eval_e2iphi ( int  n,
const T *restrict  phi,
T *restrict  phase_r,
T *restrict  phase_i 
)
inline

◆ eval_e2iphi() [2/3]

void eval_e2iphi ( int  n,
const T *restrict  phi,
std::complex< T > *restrict  z 
)
inline

Definition at line 67 of file e2iphi.h.

References qmcplusplus::n, qmcplusplus::Units::time::s, and qmcplusplus::sincos().

68 {
69  T s, c;
70  for (int i = 0; i < n; i++)
71  {
72  qmcplusplus::sincos(phi[i], &s, &c);
73  z[i] = std::complex<T>(c, s);
74  }
75 }
void sincos(T a, T *restrict s, T *restrict c)
sincos function wrapper
Definition: math.hpp:62

◆ eval_e2iphi() [3/3]

void eval_e2iphi ( std::vector< T > &  phi,
std::vector< std::complex< T >> &  z 
)
inline

Definition at line 79 of file e2iphi.h.

References eval_e2iphi().

80 {
81  eval_e2iphi(phi.size(), &phi[0], &z[0]);
82 }
void eval_e2iphi(int n, const T *restrict phi, T *restrict phase_r, T *restrict phase_i)
Definition: e2iphi.h:61