23 lines
538 B
C
23 lines
538 B
C
|
#ifndef MENGA_DSP_COMMON
|
||
|
#define MENGA_DSP_COMMON
|
||
|
|
||
|
#include <complex>
|
||
|
|
||
|
|
||
|
typedef std::complex<float> Complex;
|
||
|
|
||
|
namespace Mengu {
|
||
|
|
||
|
// returns a Complex number with the same norm as x but with the angle phase
|
||
|
template <typename T>
|
||
|
std::complex<T> with_phase(const std::complex<T> &x, T phase);
|
||
|
|
||
|
// A complex number with the same phase as x, but with distance from the origin amp
|
||
|
template <typename T>
|
||
|
std::complex<T> with_amp(const std::complex<T> &x, T amp) {
|
||
|
return x / std::sqrt(std::norm(x)) * amp;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
#endif
|