#include <emmintrin.h>
#include <xmmintrin.h>
#include <array>
#include <complex>
#include <type_traits>
#include <memory>
#include <utility>
Go to the source code of this file.
|
template<class To , class From > |
std::enable_if_t< sizeof(To)==sizeof(From) &&std::is_trivially_copyable_v< From > &&std::is_trivially_copyable_v< To >, To > | simd_complex_conversions::details::bit_cast (const From &src) noexcept |
|
__m128 | simd_complex_conversions::atan_ps (__m128 x) |
|
__m128 | simd_complex_conversions::atan2_ps (__m128 y, __m128 x) |
|
std::pair< __m128, __m128 > | simd_complex_conversions::sincos_ps (__m128 x) |
|
float | simd_complex_conversions::atan2_ss (float y, float x) |
|
std::pair< float, float > | simd_complex_conversions::sincos_ss (float angle) |
|
__m128 | simd_complex_conversions::norm (__m128 x, __m128 y) |
|
float | simd_complex_conversions::sqrt_ss (float x) |
|
template<typename fnc > |
void | simd_complex_conversions::perform_parallel_simd_aligned (const std::complex< float > *input, float *output, int n, const fnc &f) |
|
void | simd_complex_conversions::rotate_parallel_simd_aligned (const float *oldPhase, const float *newPhase, std::complex< float > *output, int n) |
|