1#ifndef AMPGEN_COMPLEX_H
2#define AMPGEN_COMPLEX_H 1
7 template <
typename real_t>
34 using real_t =
typename complex_t::rt;
68 auto [s,c] = sincos(v.
im);
71 template <
typename real_t>
77 template <
typename real_t>
82 template <
typename real_t>
complex_t make_complex(const real_t &re, const real_t &im)
Complex< real_t > operator/(const Complex< real_t > &lhs, const R2_t &rhs)
Complex< real_t > operator*(const Complex< real_t > &lhs, const R2_t &rhs)
std::complex< real_t > complex_t
Complex< real_t > log(const Complex< real_t > &v)
Complex< real_t > conj(const Complex< real_t > &arg)
Complex< real_t > sqrt(const Complex< real_t > &v)
std::ostream & operator<<(std::ostream &os, const CompiledExpressionBase &expression)
real_t abs(const Complex< real_t > &v)
real_t norm(const Complex< real_t > &v)
Complex< real_t > operator+(const Complex< real_t > &lhs, const R2_t &rhs)
real_t real(const Complex< real_t > &arg)
Complex< real_t > exp(const Complex< real_t > &v)
Complex< real_t > operator-(const Complex< real_t > &lhs, const R2_t &rhs)
real_t imag(const Complex< real_t > &arg)
Complex(const real_t &arg)
Complex(const real_t &re, const double &im)
Complex operator+=(const Complex &rhs)
Complex(const std::complex< double > &f)
Complex operator*=(const Complex &rhs)
Complex operator-=(const Complex &rhs)
Complex(const real_t &re, const real_t &im)
Complex(const std::complex< float > &f)
Complex operator/=(const Complex &rhs)