#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) |
| |