ape  0.5.0
Audio Programming Environment
Classes | Namespaces | Typedefs | Functions
simd.h File Reference
#include <complex>
#include <climits>
#include "misc.h"
#include <vector>

Go to the source code of this file.

Classes

struct  ape::vector_traits< V >
 Traits for vector_register More...
 

Namespaces

 ape
 

Typedefs

template<typename T >
using ape::vector_register = T __attribute__((ext_vector_type(__CPPAPE_NATIVE_VECTOR_BYTES__/sizeof(T))))
 A machine sized SIMD register with as many lanes as possible for the given T More...
 

Functions

template<typename T >
std::complex< vector_register< T > > ape::operator* (std::complex< vector_register< T >> a, std::complex< vector_register< T >> b)
 
template<typename T >
uarray< vector_register< T > > ape::as_vectors (uarray< T > input)
 Reinterprets the input as a array of SIMD vectors More...
 
template<typename T >
uarray< std::complex< vector_register< T > > > ape::as_vectors (uarray< std::complex< T >> input)
 Reinterprets the input as a array of complex SIMD vectors More...
 
template<typename T >
uarray< vector_register< T > > ape::as_vectors (std::vector< T > &input)
 Reinterprets the input as a array of SIMD vectors More...
 
template<typename T >
uarray< std::complex< vector_register< T > > > ape::as_vectors (std::vector< std::complex< T >> &input)
 Reinterprets the input as a array of complex SIMD vectors More...