Nektar++
Classes | Namespaces | Functions
scalar.hpp File Reference
#include "allocator.hpp"
#include "traits.hpp"
#include <cmath>
#include <cstdint>
#include <type_traits>
#include <vector>

Go to the source code of this file.

Classes

struct  tinysimd::abi::scalar< scalarType >
 
struct  tinysimd::abi::scalar< double >
 
struct  tinysimd::abi::scalar< float >
 
struct  tinysimd::abi::scalar< std::int64_t >
 
struct  tinysimd::abi::scalar< std::uint64_t >
 
struct  tinysimd::abi::scalar< std::int32_t >
 
struct  tinysimd::abi::scalar< std::uint32_t >
 
struct  tinysimd::abi::scalar< bool >
 
struct  tinysimd::scalarT< T, typename >
 
struct  tinysimd::scalarMask
 

Namespaces

namespace  tinysimd
 
namespace  tinysimd::abi
 

Functions

template<typename T >
scalarT< T > tinysimd::operator+ (scalarT< T > lhs, scalarT< T > rhs)
 
template<typename T , typename U , typename = typename std::enable_if<std::is_arithmetic<U>::value>::type>
scalarT< T > tinysimd::operator+ (U lhs, scalarT< T > rhs)
 
template<typename T , typename U , typename = typename std::enable_if<std::is_arithmetic<U>::value>::type>
scalarT< T > tinysimd::operator+ (scalarT< T > lhs, U rhs)
 
template<typename T >
scalarT< T > tinysimd::operator- (scalarT< T > lhs, scalarT< T > rhs)
 
template<typename T , typename U , typename = typename std::enable_if<std::is_arithmetic<U>::value>::type>
scalarT< T > tinysimd::operator- (U lhs, scalarT< T > rhs)
 
template<typename T , typename U , typename = typename std::enable_if<std::is_arithmetic<U>::value>::type>
scalarT< T > tinysimd::operator- (scalarT< T > lhs, U rhs)
 
template<typename T >
scalarT< T > tinysimd::operator* (scalarT< T > lhs, scalarT< T > rhs)
 
template<typename T , typename U , typename = typename std::enable_if<std::is_arithmetic<U>::value>::type>
scalarT< T > tinysimd::operator* (U lhs, scalarT< T > rhs)
 
template<typename T , typename U , typename = typename std::enable_if<std::is_arithmetic<U>::value>::type>
scalarT< T > tinysimd::operator* (scalarT< T > lhs, U rhs)
 
template<typename T >
scalarT< T > tinysimd::operator/ (scalarT< T > lhs, scalarT< T > rhs)
 
template<typename T , typename U , typename = typename std::enable_if<std::is_arithmetic<U>::value>::type>
scalarT< T > tinysimd::operator/ (U lhs, scalarT< T > rhs)
 
template<typename T , typename U , typename = typename std::enable_if<std::is_arithmetic<U>::value>::type>
scalarT< T > tinysimd::operator/ (scalarT< T > lhs, U rhs)
 
template<typename T >
scalarT< T > tinysimd::sqrt (scalarT< T > in)
 
template<typename T >
scalarT< T > tinysimd::abs (scalarT< T > in)
 
template<typename T >
scalarT< T > tinysimd::log (scalarT< T > in)
 
template<typename T >
void tinysimd::load_unalign_interleave (const T *in, const size_t dataLen, std::vector< scalarT< T >, allocator< scalarT< T > > > &out)
 
template<typename T >
void tinysimd::load_interleave (const T *in, const size_t dataLen, std::vector< scalarT< T >, allocator< scalarT< T > > > &out)
 
template<typename T >
void tinysimd::deinterleave_unalign_store (const std::vector< scalarT< T >, allocator< scalarT< T > > > &in, const size_t dataLen, T *out)
 
template<typename T >
void tinysimd::deinterleave_store (const std::vector< scalarT< T >, allocator< scalarT< T > > > &in, const size_t dataLen, T *out)
 
scalarMask tinysimd::operator> (scalarT< double > lhs, scalarT< double > rhs)
 
scalarMask tinysimd::operator> (scalarT< float > lhs, scalarT< float > rhs)
 
bool tinysimd::operator&& (scalarMask lhs, bool rhs)