17 #ifndef LEANSDR_MATH_H 18 #define LEANSDR_MATH_H 24 # define M_PI 3.14159265358979323846 44 T tre = re * c.
re - im * c.
im;
45 im = re * c.
im + im * c.
re;
84 acc += (*u++) * (*v++);
104 template <
typename T>
112 template <
typename T>
139 for (
int a = 0; a < 65536; ++a)
141 float af = a * 2 *
M_PI / 65536;
142 lut[a].
re = cosf(af);
143 lut[a].
im = sinf(af);
159 #endif // LEANSDR_MATH_H
bitvect< T, N > operator*(bitvect< T, N > a, const bitvect< T, NB > &b)
int hamming_weight(uint8_t x)
void operator+=(const complex< T > &x)
void operator*=(const complex< T > &c)
T dotprod(const T *u, const T *v, int n)
void operator*=(const T &k)
const complex< float > & expi(uint16_t a) const
unsigned char parity(uint8_t x)
bitvect< T, N > operator+(const bitvect< T, N > &a, const bitvect< T, N > &b)
complex< T > conjprod(const complex< T > &u, const complex< T > &v)
T cnorm2(const complex< T > &u)
const complex< float > & expi(float a) const
unsigned __int64 uint64_t