E.V.E
v2022.03.00
eve Namespace Reference

Detailed Description

EVE - Expressive Vector Engine Copyright : EVE Project Contributors SPDX-License-Identifier: BSL-1.0

Classes

struct  abi
 Find proper ABI for Type/Lanes pair. More...
 
struct  aligned_allocator
 Standard-compliant allocator handling the allocation and deallocation of segment of aligned memory. More...
 
struct  aligned_ptr
 Wrapper for non-owning aligned pointers. More...
 
struct  as
 Lightweight type-wrapper. More...
 
struct  as_pattern
 Formula-based pattern holder. More...
 
struct  cardinal
 Computes the cardinal of a given type. More...
 
struct  common_compatible
 Computes the type compatible with a list of values. More...
 
struct  common_type
 Computes a type that can represent all values in a list of types. More...
 
struct  complex
 SIMD-compatible representation of complex numbers. More...
 
struct  element_type
 Extracts the scalar part of a type. More...
 
struct  expected_cardinal
 Computes the expected cardinal of a given type. More...
 
struct  fixed
 SIMD register cardinal type. More...
 
struct  fundamental_cardinal
 Computes the fundamental cardinal of a given type. More...
 
struct  if_
 Extensible wrapper for SIMD conditional. More...
 
struct  ignore_all_
 Conditional expression selecting no lane from a eve::simd_value. More...
 
struct  ignore_extrema
 Conditional expression ignoring lanes at both extrema of a eve::simd_value. More...
 
struct  ignore_first
 Conditional expression ignoring the k first lanes from a eve::simd_value. More...
 
struct  ignore_last
 Conditional expression ignoring the k last lanes from a eve::simd_value. More...
 
struct  ignore_none_
 Conditional expression selecting all lanes from a eve::simd_value. More...
 
struct  keep_between
 Conditional expression keeping all lanes between two position. More...
 
struct  keep_first
 Conditional expression selecting the k first lanes from a eve::simd_value. More...
 
struct  keep_last
 Conditional expression keeping the k last lanes from a eve::simd_value. More...
 
struct  logical< T >
 Wrapper for SIMD compatible logical types. More...
 
struct  logical< wide< Type, Cardinal > >
 Wrapper for SIMD registers holding logical types with compile-time size. More...
 
struct  or_
 Conditional/Alternative wrapper. More...
 
struct  pattern_t
 Shuffling pattern. More...
 
struct  platform
 Platform specific constexpr information. More...
 
struct  scalar_cardinal
 Cardinal type for scalar values. More...
 
struct  soa_ptr
 a low level abstruction that is like a tuple of pointers to parallel arrays. We think that in code one should use views::zip_iterator instead, it can do everything soa_ptr can and more. We are still trying to figure out how/where these abstructions should live. More...
 
struct  stack_buffer
 A stack buffer for a simd-value. More...
 
struct  struct_support
 CRTP base-class to declare operators for user-defined product type. More...
 
struct  supports_like
 Opt-in traits for eve::like concept compliance. More...
 
struct  supports_ordering
 Register a user-defined type to supports ordering. More...
 
struct  top_bits
 The cheapest to get bitset for simd logical. More...
 
struct  wide
 Wrapper for SIMD registers. More...
 

Concepts

concept  conditional_expr
 Specifies that a type is a Conditional Expression.
 
concept  relative_conditional_expr
 Specifies that a type is a Conditional Expression using relative mask.
 
concept  generator
 
concept  logical_scalar_value
 Specify that a type represents a logical scalar value.
 
concept  logical_simd_value
 Specify that a type represents a logical SIMD value.
 
concept  value
 
concept  integral_value
 
concept  signed_value
 
concept  unsigned_value
 
concept  signed_integral_value
 
concept  floating_value
 
concept  real_value
 
concept  floating_real_value
 
concept  integral_real_value
 
concept  logical_value
 
concept  scalar_value
 Specify that a type represents a scalar value.
 
concept  integral_scalar_value
 Specify that a type represents an integral scalar value.
 
concept  signed_scalar_value
 Specify that a type represents a signed scalar value.
 
concept  unsigned_scalar_value
 Specify that a type represents a scalar value.
 
concept  signed_integral_scalar_value
 Specify that a type represents a scalar value.
 
concept  floating_scalar_value
 Specify that a type represents a scalar value.
 
concept  real_scalar_value
 Specify that a type represents a scalar value.
 
concept  floating_real_scalar_value
 Specify that a type represents a scalar value.
 
concept  integral_real_scalar_value
 Specify that a type represents a scalar value.
 
concept  simd_value
 Specifies that a type a SIMD type.
 
concept  integral_simd_value
 Specifies that a type a SIMD type with integral elements.
 
concept  like
 Specifies semantic compatibility between wrapper/wrapped types.
 

Typedefs

template<typename T >
using unaligned_t = decltype(unalign(std::declval< T >()))
 Required header: #include <eve/module/core.hpp> More...
 
template<typename T >
using iterator_cardinal_t = decltype(detail::iterator_cardinal_impl< T >())
 A meta-function that returns a cardinal for a relaxed iterator/range. If T defines a nested static function iterator_cardinal() (which should return eve::fixed) More...
 
template<typename T >
using value_type_t = typename decltype(detail::value_type_impl< T >())::type
 A meta function for getting an associated value_type for a relaxed iterator/range. More...
 
template<typename T >
using wide_value_type_t = as_wide_t< value_type_t< T >, iterator_cardinal_t< T > >
 

Enumerations

enum class  over : std::size_t
 
enum class  under : std::size_t
 

Functions

template<eve::relative_conditional_expr C>
constexpr auto drop_alternative (C c)
 Returns a conditional without an alternative. More...
 
template<eve::relative_conditional_expr C>
auto map_alternative (C c, auto op)
 Computes a transformed conditional. More...
 
template<eve::relative_conditional_expr C, typename T >
constexpr auto reverse_conditional (C c, eve::as< T > tgt)
 Computes the reverse of a given eve::relative_conditional_expr. More...
 
template<std::integral T>
constexpr auto align (T v, over alignment) noexcept
 Realigns integral value over a given power-of-2 alignment constraint. More...
 
template<std::integral T>
constexpr auto align (T v, under alignment) noexcept
 Realigns integral value under a given power-of-2 alignment constraint. More...
 
template<typename T >
constexpr auto align (T *ptr, over alignment) noexcept
 Realigns a pointer over a given power-of-2 alignment constraint. More...
 
template<typename T >
constexpr auto align (T *ptr, under alignment) noexcept
 Realigns a pointer under a given power-of-2 alignment constraint. More...
 
template<std::size_t A, typename T , typename Other >
constexpr bool is_aligned (aligned_ptr< T, Other > const &ptr) noexcept
 Checks if an aligned_ptr is aligned on a given alignment. More...
 
template<typename Lanes , typename Type >
aligned_ptr< Type const, Lanes > as_aligned (Type const *ptr, Lanes) noexcept
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename Type >
aligned_ptr< Type const > as_aligned (Type const *ptr) noexcept
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<std::size_t Alignment, std::integral T>
constexpr bool is_aligned (T v) noexcept
 Checks if a pointer satisfy an alignment constraint. More...
 
template<std::size_t Alignment, typename T >
constexpr bool is_aligned (T *ptr) noexcept
 Checks if a pointer satisfy an alignment constraint. More...
 
template<typename T , typename Lanes >
constexpr bool is_aligned (T *ptr, Lanes lanes) noexcept
 Checks if a pointer satisfy an alignment constraint. More...
 
template<logical_value Mask, value Value>
void swap_if (Mask const &mask, Value &lhs, Value &rhs) noexcept
 Conditional swap. More...
 

Variables

constexpr ignore_all_ ignore_all = {}
 Object representing the eve::ignore_all_ conditional expression.
 
constexpr ignore_none_ ignore_none = {}
 Object representing the eve::ignore_none_ conditional expression.
 
constexpr callable_airy_ airy = {}
 Computes the airy functions values \( Ai(x)\) and \( Bi(x)\). More...
 
constexpr callable_airy_ai_ airy_ai = {}
 Computes the airy function \( Ai(x)\). More...
 
constexpr callable_airy_bi_ airy_bi = {}
 Computes the airy function \( Bi(x)\). More...
 
constexpr callable_cyl_bessel_i0_ cyl_bessel_i0 = {}
 Computes the modified Bessel function of the first kind, \( I_0(x)=\frac1{\pi}\int_{0}^{\pi}e^{x\cos\tau}\,\mathrm{d}\tau\). More...
 
constexpr callable_cyl_bessel_i1_ cyl_bessel_i1 = {}
 Computes the modified Bessel function of the first kind, \( I_1(x)=\frac1{\pi}\int_{0}^{\pi}e^{x\cos\tau}\cos\tau\,\mathrm{d}\tau\). More...
 
constexpr callable_cyl_bessel_in_ cyl_bessel_in = {}
 Computes the modified Bessel functions of the first kind, \( I_{n}(x)=\left(\frac12z\right)^n\sum_{k=0}^{\infty}{\frac{(x^2/4)^k} {k!\,\Gamma (k+n +1)}}\). More...
 
constexpr callable_cyl_bessel_j0_ cyl_bessel_j0 = {}
 Computes the Bessel function of the first kind, \( J_0(x)=\frac1{\pi }\int _{0}^{\pi}\cos(x\sin \tau) \,\mathrm {d} \tau \). More...
 
constexpr callable_cyl_bessel_j1_ cyl_bessel_j1 = {}
 Computes the Bessel function of the first kind, \( J_1(x)=\frac1{\pi }\int _{0}^{\pi}\cos(\tau-x\sin \tau )\,\mathrm {d} \tau \). More...
 
constexpr callable_cyl_bessel_jn_ cyl_bessel_jn = {}
 Computes the Bessel functions of the first kind, \( J_{n}(x)=\sum_{p=0}^{\infty}{\frac{(-1)^p}{p!\,\Gamma (p+n +1)}} {\left({x \over 2}\right)}^{2p+n }\). More...
 
constexpr callable_cyl_bessel_k0_ cyl_bessel_k0 = {}
 Computes the modified Bessel function of the second kind, \( K_0(x)=\int_{0}^{\infty}\frac{\cos(x\tau)} {\sqrt{\tau^2+1}}\,\mathrm{d}\tau\). More...
 
constexpr callable_cyl_bessel_k1_ cyl_bessel_k1 = {}
 Computes the modified Bessel function of the second kind, \( K_1(x)=\int_{0}^{\infty} e^{-x \cosh \tau} \cosh \tau\,\mathrm{d}\tau\). More...
 
constexpr callable_cyl_bessel_kn_ cyl_bessel_kn = {}
 Computes the modified Bessel function of the second kind, \( K_n(x)=\frac{\Gamma(n+1/2)(2x)^n}{\sqrt\pi} \int_{0}^{\infty}\frac{\cos\tau} {(\tau^2+x^2)^{n+1/2}}\,\mathrm{d}\tau\). More...
 
constexpr callable_cyl_bessel_y0_ cyl_bessel_y0 = {}
 Computes the Bessel function of the second kind, \( Y_0(x)=\frac2{\pi}\int_{1}^{\infty}\frac{\cos x\tau} {\sqrt{\tau^2-1}}\,\mathrm {d} \tau\). More...
 
constexpr callable_cyl_bessel_y1_ cyl_bessel_y1 = {}
 Computes the Bessel function of the second kind, \( Y_1(x)=\frac2{\pi}\int_{1}^{\infty}\frac{\cos x\tau} {(\tau^2-1)^{3/2}}\,\mathrm{d}\tau\). More...
 
constexpr callable_cyl_bessel_yn_ cyl_bessel_yn = {}
 Computes the Bessel functions of the second kind, \( Y_{n}(x)=\frac{2(z/2)^{-n}}{\sqrt\pi\, \Gamma(1/2-n)}\int _{1}^{\infty}\frac{\cos x\tau} {(\tau^2-1)^{n+1/2}}\,\mathrm {d} \tau \). More...
 
constexpr callable_sph_bessel_j0_ sph_bessel_j0 = {}
 Computes the spherical Bessel function of the first kind, \( j_{0}(x)= \sqrt{\frac\pi{2x}}J_{1/2}(x) \). More...
 
constexpr callable_sph_bessel_j1_ sph_bessel_j1 = {}
 Computes the spherical Bessel function of the first kind, \( j_{1}(x)= \sqrt{\frac\pi{2x}}J_{3/2}(x) \). More...
 
constexpr callable_sph_bessel_jn_ sph_bessel_jn = {}
 Computes the spherical Bessel functions of the first kind, \( j_{n}(x)= \sqrt{\frac\pi{2x}}J_{n+1/2}(x)\). More...
 
constexpr callable_sph_bessel_y0_ sph_bessel_y0 = {}
 Computes the spherical Bessel function of the second kind, \( y_{0}(x)= \sqrt{\frac\pi{2x}}Y_{1/2}(x) \). More...
 
constexpr callable_sph_bessel_y1_ sph_bessel_y1 = {}
 Computes the spherical Bessel function of the second kind, \( y_{1}(x)= \sqrt{\frac\pi{2x}}Y_{3/2}(x) \). More...
 
constexpr callable_sph_bessel_yn_ sph_bessel_yn = {}
 Computes the the spherical Bessel functions of the second kind, \( y_{n}(x)= \sqrt{\frac\pi{2x}}Y_{n+1/2}(x)\). More...
 
constexpr callable_bernouilli_ bernouilli = {}
 Computes the nth Bernouilli number \(b_n\) as a double. More...
 
constexpr callable_fibonacci_ fibonacci = {}
 Computes the nth element of the Fibonacci sequence \((f_i)_{i\in \mathbb{N}}\). More...
 
constexpr callable_gcd_ gcd = {}
 Computes the greatest common divisor of the inputs. More...
 
constexpr callable_lcm_ lcm = {}
 Computes the least common multiple of the inputs. More...
 
constexpr callable_nth_prime_ nth_prime = {}
 Returns the nth prime number. More...
 
constexpr callable_prime_ceil_ prime_ceil = {}
 Returns the smallest prime greater or equal to the input. More...
 
constexpr callable_prime_floor_ prime_floor = {}
 Returns the the greatest prime less or equal to the input. More...
 
constexpr callable_deta_ deta = {}
 Callable object computing \( \displaystyle \sum_0^\infty \frac{(-1)^n}{(kn+1)^z}\). More...
 
constexpr callable_eta_ eta = {}
 Callable object computing The Dirichlet \( \displaystyle \eta(z) = \sum_0^\infty \frac{(-1)^n}{(n+1)^z}\). More...
 
constexpr callable_exp_i_ exp_i = {}
 Callable object computing exp_iinary part of values. More...
 
constexpr callable_exp_ipi_ exp_ipi = {}
 Callable object computing exp_ipiinary part of values. More...
 
constexpr callable_faddeeva_ faddeeva = {}
 Callable object computing \(e^{-z^2}\mathrm{erfc}(-iz)\) the scaled complex error func. More...
 
constexpr callable_i_ i = {}
 Callable object computing the pure imaginary ( \(i\)) value. More...
 
constexpr callable_imag_ imag = {}
 Callable object computing imaginary part of values. More...
 
constexpr callable_lambda_ lambda = {}
 Callable object computing The Dirichlet \( \displaystyle \lambda(z) = \sum_0^\infty \frac{1}{(2n+1)^z}\). More...
 
constexpr callable_polar_ polar = {}
 Callable object computing a complex from its polar representatione. More...
 
constexpr callable_proj_ proj = {}
 Callable object computing proj(x). More...
 
constexpr callable_real_ real = {}
 Callable object computing real part of values. More...
 
constexpr callable_allbits_ allbits = {}
 Computes the constant with all bits set. More...
 
constexpr callable_as_value_ as_value = {}
 converts eve constant or just a value to a type. More...
 
constexpr callable_bitincrement_ bitincrement = {}
 Computes the constant of type T in which the only bit set is the least significant. More...
 
constexpr callable_exponentmask_ exponentmask = {}
 Computes the the exponent bit mask of IEEE float or double. More...
 
constexpr callable_false__ false_ = {}
 Computes the false logical value. More...
 
constexpr callable_half_ half = {}
 Computes the constant \(1/2\). More...
 
constexpr callable_inf_ inf = {}
 Computes the infinity ieee value. More...
 
constexpr callable_logeps_ logeps = {}
 Computes the natural logarithm of the machine epsilon. More...
 
constexpr callable_mantissamask_ mantissamask = {}
 Computes the mask to extract the mantissa bits of an ieee floating value. More...
 
constexpr callable_maxexponent_ maxexponent = {}
 Computes the the greatest exponent of a floating point IEEE value. More...
 
constexpr callable_maxexponentm1_ maxexponentm1 = {}
 Computes the the greatest exponent of a floating point IEEE value minus one. More...
 
constexpr callable_maxexponentp1_ maxexponentp1 = {}
 Computes the the greatest exponent of a floating point IEEE value plus one. More...
 
constexpr callable_maxflint_ maxflint = {}
 Computes the the greatest floating point representing an integer and such that n != n+1. More...
 
constexpr callable_mhalf_ mhalf = {}
 Computes the constant \(-1/2\). More...
 
constexpr callable_mindenormal_ mindenormal = {}
 Computes the smallest denormal positive value. More...
 
constexpr callable_minexponent_ minexponent = {}
 Computes the the greatest exponent of a floating point IEEE value. More...
 
constexpr callable_minf_ minf = {}
 Computes the -infinity ieee value. More...
 
constexpr callable_mone_ mone = {}
 Computes the constant \(-1\). More...
 
constexpr callable_mzero_ mzero = {}
 Computes the negative zero value. More...
 
constexpr callable_nan_ nan = {}
 Computes the IEEE NaN constant. More...
 
constexpr callable_nbmantissabits_ nbmantissabits = {}
 Returns the number of mantissa bits of a floating point value. More...
 
constexpr callable_one_ one = {}
 Computes the constant \(1\). More...
 
constexpr callable_oneosqrteps_ oneosqrteps = {}
 Computes the the inverse of the square root of the machine epsilon. More...
 
constexpr callable_signmask_ signmask = {}
 Computes a value in which the most significant bit is the only bit set. More...
 
constexpr callable_smallestposval_ smallestposval = {}
 Computes the smallest normal positive value. More...
 
constexpr callable_sqrteps_ sqrteps = {}
 Computes the square root of the machine epsilon. More...
 
constexpr callable_sqrtsmallestposval_ sqrtsmallestposval = {}
 Computes the square root of the eve::smallestposval. More...
 
constexpr callable_sqrtvalmax_ sqrtvalmax = {}
 Computes the the greatest value less than the square root of eve::valmax. More...
 
constexpr callable_true__ true_ = {}
 Computes the logical true_ value. More...
 
constexpr callable_twotonmb_ twotonmb = {}
 Computes the 2 power of the number of mantissa bits of a floating value. More...
 
constexpr callable_valmax_ valmax = {}
 Computes the the greatest representable value. More...
 
constexpr callable_valmin_ valmin = {}
 Computes the the lowest representable value. More...
 
constexpr callable_zero_ zero = {}
 Computes the constant 0. More...
 
constexpr compensated_type const compensated = {}
 Higher-order Callable Object imbuing more more accuracy onto other Callable Objects. More...
 
constexpr cyl_type const cyl = {}
 Higher-order Callable Object imbuing cylindrical semantic onto other Callable Objects. More...
 
constexpr almost_type const almost = {}
 Higher-order Callable Object imbuing a tolerant to little errors semantic onto other Callable Objects. More...
 
constexpr definitely_type const definitely = {}
 Higher-order Callable Object imbuing a tolerant to small errors semantic onto other Callable Objects. More...
 
constexpr tolerant_type const tolerant = {}
 Higher-order Callable Object imbuing a less strict semantic onto other Callable Objects. More...
 
constexpr p_kind_type const p_kind = {}
 Higher-order Callable Object imbuing p_kind behaviour onto other Callable Objects. More...
 
constexpr q_kind_type const q_kind = {}
 Higher-order Callable Object imbuing q_kind behaviour onto other Callable Objects. More...
 
constexpr kind_1_type const kind_1 = {}
 Higher-order Callable Object imbuing kind_1 behaviour onto other Callable Objects. More...
 
constexpr kind_2_type const kind_2 = {}
 Higher-order Callable Object imbuing kind_2 behaviour onto other Callable Objects. More...
 
constexpr numeric_type const numeric = {}
 Higher-order Callable Object imbuing non invalid return preference semantic onto other Callable Objects. More...
 
constexpr pedantic_type const pedantic = {}
 Higher-order Callable Object imbuing more standard semantic onto other Callable Objects. More...
 
constexpr raw_type const raw = {}
 Higher-order Callable Object imbuing quick and dirty behaviour onto other Callable Objects. More...
 
constexpr regular_type const regular = {}
 Higher-order Callable Object having identity semantic onto other Callable Objects. More...
 
constexpr upward_type const upward = {}
 Higher-order Callable Object imbuing upward rounding semantic onto other Callable Objects. More...
 
constexpr downward_type const downward = {}
 Higher-order Callable Object imbuing rounding downard semantic onto other Callable Objects. More...
 
constexpr to_nearest_type const to_nearest = {}
 Higher-order Callable Object imbuing rounding to nearest semantic onto other Callable Objects. More...
 
constexpr toward_zero_type const toward_zero = {}
 Higher-order Callable Object imbuing rounding toward zero semantic onto other Callable Objects. More...
 
constexpr saturated_type const saturated = {}
 Higher-order Callable Object imbuing saturation semantic onto other Callable Objects. More...
 
constexpr sph_type const sph = {}
 Higher-order Callable Object imbuing spherical semantic onto other Callable Objects. More...
 
constexpr successor_type const successor = {}
 Higher-order Callable Object imbuing incrementation behaviour onto other Callable Objects. More...
 
constexpr callable_abs_ abs = {}
 Computes the absolute value of the parameter. More...
 
constexpr callable_absmax_ absmax = {}
 Computes the absolute value of the maximal element. More...
 
constexpr callable_absmin_ absmin = {}
 Computes the absolute value of the minimal element. More...
 
constexpr callable_add_ add = {}
 Computes the sum of its arguments. More...
 
constexpr callable_agm_ agm = {}
 Computes the arithmetic-geometric mean. More...
 
constexpr callable_all_ all = {}
 Computes a bool value which is true if and only if all elements of x are not zero. More...
 
constexpr callable_any_ any = {}
 Computes a bool value which is true if and only if any elements of x is not zero. More...
 
constexpr callable_average_ average = {}
 Computes the arithmetic mean of its arguments. More...
 
constexpr callable_binarize_ binarize = {}
 transform logical values to numerical values More...
 
constexpr callable_binarize_not_ binarize_not = {}
 transform logical values to numerical values More...
 
constexpr callable_bit_and_ bit_and = {}
 Computes the bitwise AND of its arguments. More...
 
constexpr callable_bit_andnot_ bit_andnot = {}
 Computes the bitwise ANDNOT of its arguments. More...
 
constexpr callable_bit_cast_ bit_cast = {}
 Computes a a bitwise reinterpretation of an object. More...
 
constexpr callable_bit_ceil_ bit_ceil = {}
 Computes the smallest integral power of two that is not smaller than x. More...
 
constexpr callable_bit_floor_ bit_floor = {}
 If x is not zero, computes the largest integral power of two that is not greater than x. More...
 
constexpr callable_bit_mask_ bit_mask = {}
 Computes a bit mask full of zeroes or ones. More...
 
constexpr callable_bit_not_ bit_not = {}
 computes the ones complement of the parameter. More...
 
constexpr callable_bit_notand_ bit_notand = {}
 Computes the bitwise NOTAND of its arguments. More...
 
constexpr callable_bit_notor_ bit_notor = {}
 Computes the bitwise NOTOR of its arguments. More...
 
constexpr callable_bit_or_ bit_or = {}
 Computes the bitwise OR of its arguments. More...
 
constexpr callable_bit_ornot_ bit_ornot = {}
 Computes the bitwise ORNOT of its arguments. More...
 
constexpr callable_bit_select_ bit_select = {}
 selects bits from a mask and two entries. More...
 
detail::callable_object< tag::shl_ > const bit_shl = {}
 Computes a logical left shift. More...
 
constexpr callable_bit_shr_ bit_shr = {}
 Computes a logical right shift. More...
 
constexpr callable_bit_width_ bit_width = {}
 Computes elementwise the number of bits needed to store the parameter. More...
 
constexpr callable_bit_xor_ bit_xor = {}
 Computes the bitwise XOR of its arguments. More...
 
constexpr callable_bitofsign_ bitofsign = {}
 Computes the value in the input type of the bit of sign. More...
 
constexpr callable_broadcast_ broadcast = {}
 Computes the. More...
 
constexpr callable_broadcast_group_ broadcast_group = {}
 Computes the TODO. More...
 
constexpr callable_ceil_ ceil = {}
 Computes the smallest integer not less than the input. More...
 
constexpr callable_clamp_ clamp = {}
 Computes the largest integer not greater than the input. More...
 
constexpr callable_combine_ combine = {}
 Computes the TODO. More...
 
constexpr callable_compress_store_ compress_store = {}
 Computes the TODO. More...
 
constexpr callable_conj_ conj = {}
 Computes the the conjugate value. More...
 
constexpr callable_convert_ convert = {}
 Converts a value to another type. More...
 
constexpr converter_type< float > const float32 = {}
 convert a eve::value to a float32 based eve::floating_value. More...
 
constexpr converter_type< double > const float64 = {}
 convert a eve::value to a double based eve::floating_value. More...
 
constexpr converter_type< std::uint8_t > const uint8 = {}
 convert a eve::value to a std::uint8_t based eve::value. More...
 
constexpr converter_type< std::uint16_t > const uint16 = {}
 convert a eve::value to a std::uint16_t based eve::value. More...
 
constexpr converter_type< std::uint32_t > const uint32 = {}
 convert a eve::value to a std::uint32_t based eve::value. More...
 
constexpr converter_type< std::uint64_t > const uint64 = {}
 convert a eve::value to a std::uint64_t based eve::value. More...
 
constexpr converter_type< std::int8_t > const int8 = {}
 convert a eve::value to a std::int8_t based eve::value. More...
 
constexpr converter_type< std::int16_t > const int16 = {}
 convert a eve::value to a std;::int16_t based eve::value. More...
 
constexpr converter_type< std::int32_t > const int32 = {}
 convert a eve::value to a std::int32_t based eve::value. More...
 
constexpr converter_type< std::int64_t > const int64 = {}
 convert a eve::value to a std::int64_t based eve::value. More...
 
constexpr int_converter const int_ = {}
 convert a eve::value to a integral based eve::value. More...
 
constexpr uint_converter const uint_ = {}
 convert a eve::value to a unsigned integral based eve::value. More...
 
constexpr floating_converter const floating_ = {}
 convert a eve::value to an eve::floating_value. More...
 
constexpr upgrade_converter const upgrade_ = {}
 convert a eve::value to the upgraded base type. More...
 
constexpr callable_copysign_ copysign = {}
 Computes the elementwise composition of a value with the magnitude of the first parameter and the bit of sign of the second one. More...
 
constexpr callable_count_true_ count_true = {}
 Computes the number of non 0 elements. More...
 
constexpr callable_countl_one_ countl_one = {}
 Computes the number of consecutive 1 in a value starting from left. More...
 
constexpr callable_countl_zero_ countl_zero = {}
 Computes the number of consecutive 0 in a value starting from left. More...
 
constexpr callable_countr_one_ countr_one = {}
 Computes the number of consecutive 1 in a value starting from right. More...
 
constexpr callable_countr_zero_ countr_zero = {}
 Computes the number of consecutive 0 in a value starting from right. More...
 
constexpr callable_dec_ dec = {}
 return the input decremented by 1. More...
 
constexpr callable_deinterleave_groups_ deinterleave_groups = {}
 deinterleaves values in n wides More...
 
constexpr callable_deinterleave_groups_shuffle_ deinterleave_groups_shuffle = {}
 Callable object for a deinterleave groups shuffle. More...
 
constexpr callable_diff_of_prod_ diff_of_prod = {}
 Computes the difference of products operation with better accuracy than the naive formula. More...
 
constexpr callable_dist_ dist = {}
 Computes the distance of its arguments. More...
 
constexpr callable_div_ div = {}
 Computes the division of multiple values. More...
 
constexpr callable_exponent_ exponent = {}
 Computes the IEEE exponent of the floating value. More...
 
constexpr callable_fam_ fam = {}
 Computes the fused add multiply of its three parameters. More...
 
constexpr callable_fanm_ fanm = {}
 Computes the fused add negate multiply of its three parameters. More...
 
constexpr callable_fdim_ fdim = {}
 Computes the positive difference between the two parameters. More...
 
constexpr callable_firstbitset_ firstbitset = {}
 Computes elementwise the bit pattern in which the only bit set (if it exists) is the first bit set in the input. More...
 
constexpr callable_firstbitunset_ firstbitunset = {}
 Computes elementwise the bit pattern in which the only bit set (if it exists) is the first bit unset in the input. More...
 
constexpr callable_floor_ floor = {}
 Computes the largest integer not greater than the input. More...
 
constexpr callable_fma_ fma = {}
 Computes the fused multiply add of its three parameters. More...
 
constexpr auto fmod = eve::pedantic(eve::rem)
 Alias of eve::pedantic(eve::rem).
 
constexpr callable_fms_ fms = {}
 Computes the fused multiply substract of its three parameters. More...
 
constexpr callable_fnma_ fnma = {}
 Computes the fused negate multiply add of its three parameters. More...
 
constexpr callable_fnms_ fnms = {}
 Computes the fused negate multiply substract of its three parameters. More...
 
constexpr callable_frac_ frac = {}
 Computes the fractional part of the input. More...
 
constexpr callable_fracscale_ fracscale = {}
 Computes the reduced part of the scaled input. More...
 
constexpr callable_frexp_ frexp = {}
 Computes the elementwise ieee pair of mantissa and exponent of the floating value,. More...
 
constexpr callable_fsm_ fsm = {}
 Computes the fused negate add multiply of its three parameters. More...
 
constexpr callable_fsnm_ fsnm = {}
 Computes the fused negate substact multiply of its three parameters. More...
 
constexpr callable_gather_ gather = {}
 Computes the TODO. More...
 
constexpr callable_hi_ hi = {}
 Computes the most significant half of each lane. More...
 
constexpr callable_if_else_ if_else = {}
 Computes the results of a choice under condition. More...
 
constexpr callable_ifnot_else_ ifnot_else = {}
 eve::ifnot_else(x, y, z)syntaxic sugar for eve::if_else(x, z, y) More...
 
constexpr callable_ifrexp_ ifrexp = {}
 Computes the elementwise ieee pair of mantissa and exponent of the floating value,. More...
 
constexpr callable_inc_ inc = {}
 return the input incremented by one. More...
 
constexpr callable_is_denormal_ is_denormal = {}
 Returns a logical true if and only if the element value is denormal. More...
 
constexpr callable_is_equal_ is_equal = {}
 Returns a logical true if and only if the element value are equal. More...
 
constexpr callable_is_eqz_ is_eqz = {}
 Returns a logical true if and only if the element value is zero. More...
 
constexpr callable_is_even_ is_even = {}
 Returns a logical true if and only if the element value is even. More...
 
constexpr callable_is_finite_ is_finite = {}
 Returns a logical true if and only if the element is a finite value. More...
 
constexpr callable_is_flint_ is_flint = {}
 Returns a logical true if and only if the element value is a floating value representing an integer. More...
 
constexpr callable_is_gez_ is_gez = {}
 Returns a logical true if and only if the element value is greater or equal to 0. More...
 
constexpr callable_is_greater_ is_greater = {}
 Returns a logical true if and only if the element value of the first parameter is greater than the second one. More...
 
constexpr callable_is_greater_equal_ is_greater_equal = {}
 Returns a logical true if and only if the element value of the first parameter is greater or equal to the second one. More...
 
constexpr callable_is_gtz_ is_gtz = {}
 Returns a logical true if and only if the element value is greater than 0. More...
 
constexpr callable_is_imag_ is_imag = {}
 Returns a logical true if and only if the element value is imaginary. More...
 
constexpr callable_is_infinite_ is_infinite = {}
 Returns a logical true if and only if the element is an infinite value. More...
 
constexpr callable_is_less_ is_less = {}
 Returns a logical true if and only if the element value of the first parameter is less than the second one. More...
 
constexpr callable_is_less_equal_ is_less_equal = {}
 Returns a logical true if and only if the element value of the first parameter is less or equal to the second one. More...
 
constexpr callable_is_lessgreater_ is_lessgreater = {}
 Returns a logical true if and only if the elements pair are not equal or unordered. More...
 
constexpr callable_is_lez_ is_lez = {}
 Returns a logical true if and only if the element value is less or equal to 0. More...
 
constexpr callable_is_ltz_ is_ltz = {}
 Returns a logical true if and only if the element value is less than 0. More...
 
constexpr callable_is_negative_ is_negative = {}
 Returns a logical true if and only if the element value is signed and has its sign bit set. More...
 
constexpr callable_is_nez_ is_nez = {}
 Returns a logical true if and only if the element value is not zero. More...
 
constexpr callable_is_ngez_ is_ngez = {}
 Returns a logical true if and only if the element value is not greater or equal to 0. More...
 
constexpr callable_is_ngtz_ is_ngtz = {}
 Returns a logical true if and only if the element value is not greater than zero. More...
 
constexpr callable_is_nlez_ is_nlez = {}
 Returns a logical true if and only if the element value is not less or equal to 0. More...
 
constexpr callable_is_nltz_ is_nltz = {}
 Returns a logical true if and only if the element value is not less than zero. More...
 
constexpr callable_is_normal_ is_normal = {}
 Returns a logical true if and only if the element value is normal. More...
 
constexpr callable_is_not_denormal_ is_not_denormal = {}
 Returns a logical true if and only if the element value is not denormal. More...
 
constexpr callable_is_not_equal_ is_not_equal = {}
 Returns a logical true if and only if the element value are not equal. More...
 
constexpr callable_is_not_finite_ is_not_finite = {}
 Returns a logical true if and only if the element is not a finite value. More...
 
constexpr callable_is_not_flint_ is_not_flint = {}
 Returns a logical true if and only if the element value is a floating value not representing an integer. More...
 
constexpr callable_is_not_greater_ is_not_greater = {}
 Returns a logical true if and only if the element value of the first parameter is not greater than the second one. More...
 
constexpr callable_is_not_greater_equal_ is_not_greater_equal = {}
 Returns a logical true if and only if the element value of the first parameter is greater or equal to the second one. More...
 
constexpr callable_is_not_imag_ is_not_imag = {}
 Returns a logical true if and only if the element value is not imaginary. More...
 
constexpr callable_is_not_infinite_ is_not_infinite = {}
 Returns a logical true if and only if the element is not an infinite value. More...
 
constexpr callable_is_not_less_ is_not_less = {}
 Returns a logical true if and only if the element value of the first parameter is not less than the second one. More...
 
constexpr callable_is_not_nan_ is_not_nan = {}
 Returns a logical true if and only if the element value is not NaN. More...
 
constexpr callable_is_not_real_ is_not_real = {}
 Returns a logical true if and only if the element value is not real. More...
 
constexpr callable_is_odd_ is_odd = {}
 Returns a logical true if and only if the element value is odd. More...
 
constexpr callable_is_ordered_ is_ordered = {}
 Returns a logical true if and only no parameter is NaN. More...
 
constexpr callable_is_positive_ is_positive = {}
 Returns a logical true if and only if the element value is signed and has its sign bit not set. More...
 
constexpr callable_is_pow2_ is_pow2 = {}
 Returns a logical true if and only if the element value is a power of 2. More...
 
constexpr callable_is_real_ is_real = {}
 Returns a logical true if and only if the element value is real. More...
 
constexpr callable_is_unordered_ is_unordered = {}
 Returns a logical true if and only if at least one of the parameters is NaN. More...
 
constexpr callable_ldexp_ ldexp = {}
 Computes \(\textstyle x 2^n\). More...
 
constexpr callable_lerp_ lerp = {}
 Computes the linear interpolation. More...
 
constexpr callable_lo_ lo = {}
 Computes the least significant half of each lane. More...
 
constexpr callable_logical_and_ logical_and = {}
 Computes the logical AND of its arguments. More...
 
constexpr callable_logical_andnot_ logical_andnot = {}
 Computes the logical ANDNOT of its arguments. More...
 
constexpr callable_logical_not_ logical_not = {}
 Computes the logical NOT of its argument. More...
 
constexpr callable_logical_notand_ logical_notand = {}
 Computes the logical NOTAND of its arguments. More...
 
constexpr callable_logical_notor_ logical_notor = {}
 Computes the logical NOTOR of its arguments. More...
 
constexpr callable_logical_or_ logical_or = {}
 Computes the logical OR of its arguments. More...
 
constexpr callable_logical_ornot_ logical_ornot = {}
 Computes the logical ORNOT of its arguments. More...
 
constexpr callable_logical_xor_ logical_xor = {}
 Computes the logical XOR of its arguments. More...
 
constexpr callable_lohi_ lohi = {}
 Computes the the lohi pair of values. More...
 
constexpr callable_manhattan_ manhattan = {}
 Computes the manhattan norm ( \(l_1\)) of its arguments. More...
 
constexpr callable_mantissa_ mantissa = {}
 Computes the IEEE mantissa of the floating value. More...
 
constexpr callable_max_ max = {}
 Computes the maximum of its arguments. More...
 
constexpr callable_maxabs_ maxabs = {}
 Computes the maximum of the absolute value of its arguments. More...
 
constexpr callable_maximum_ maximum = {}
 Computes the maximal value of an simd vector. More...
 
constexpr callable_maxmag_ maxmag = {}
 Computes the maximum of the absolute value of its arguments. More...
 
constexpr callable_min_ min = {}
 Computes the minimum of its arguments. More...
 
constexpr callable_minabs_ minabs = {}
 Computes the minimum of the absolute value of its arguments. More...
 
constexpr callable_minimum_ minimum = {}
 Computes the maximal value of an simd vector. More...
 
constexpr callable_minmag_ minmag = {}
 Computes the maximum of the absolute value of its arguments. More...
 
constexpr callable_minus_ minus = {}
 Computes the opposite of the parameter that must be signed. More...
 
constexpr callable_modf_ modf = {}
 Computes the elementwise pair of fractional and integral parts of the value,. More...
 
constexpr callable_mul_ mul = {}
 Computes the sum of its arguments. More...
 
constexpr callable_nb_values_ nb_values = {}
 Computes the number of values representable in the type between the arguments. More...
 
constexpr callable_nearest_ nearest = {}
 Computes the nearest integer to the input. More...
 
constexpr callable_negabsmax_ negabsmax = {}
 Computes the negated absolute value of the maximal element. More...
 
constexpr callable_negabsmin_ negabsmin = {}
 Computes the negated absolute value of the minimal element. More...
 
constexpr callable_negate_ negate = {}
 Computes the elementwise product of the first parameter by the sign of the second. More...
 
constexpr callable_negatenz_ negatenz = {}
 Computes the elementwise product of the first parameter by the never zero sign of the second. More...
 
constexpr callable_negmaxabs_ negmaxabs = {}
 Computes the negated value of the element of the maximal absolute value. More...
 
constexpr callable_negminabs_ negminabs = {}
 Computes the negated value of the element of the minimal absolute value. More...
 
constexpr callable_next_ next = {}
 Computes the nth next representable element. More...
 
constexpr callable_nextafter_ nextafter = {}
 Computes the nth next representable element. More...
 
constexpr callable_none_ none = {}
 Computes a bool value which is true if and only if all elements of x are 0. More...
 
constexpr callable_oneminus_ oneminus = {}
 Computes the value of one minus the input. More...
 
constexpr callable_plus_ plus = {}
 Computes the opposite of the parameter that must be signed. More...
 
constexpr callable_popcount_ popcount = {}
 Computes elementwise the number of bits set in the parameter. More...
 
constexpr callable_prev_ prev = {}
 Computes the nth previous representable element. More...
 
constexpr callable_rat_ rat = {}
 Computes a rational approximation. More...
 
constexpr callable_read_ read = {}
 Callable object reading single value from memory. More...
 
constexpr callable_rec_ rec = {}
 Computes the inverse of the parameter. More...
 
constexpr callable_reduce_ reduce = {}
 Computes the TODO. More...
 
constexpr callable_rem_ rem = {}
 Computes the remainder after division. More...
 
constexpr callable_round_ round = {}
 Computes the integer nearest to the input. More...
 
constexpr callable_roundscale_ roundscale = {}
 Computes the scaled input rounding. More...
 
constexpr callable_rshl_ rshl = {}
 Computes the arithmetic left/right shift operation according to shift sign. More...
 
constexpr callable_rshr_ rshr = {}
 Computes the arithmetic right/left shift operation according to shift sign. More...
 
constexpr callable_rsqrt_ rsqrt = {}
 Computes the inverse of the square root of the parameter. More...
 
constexpr callable_scan_ scan = {}
 Computes the TODO. More...
 
constexpr callable_shl_ shl = {}
 Computes the arithmetic left shift operation. More...
 
constexpr callable_shr_ shr = {}
 Computes the arithmetic right shift operation. More...
 
constexpr callable_sign_ sign = {}
 Computes the sign of the parameter. More...
 
constexpr callable_sign_alternate_ sign_alternate = {}
 Computes \((-1)^n\). More...
 
constexpr callable_signnz_ signnz = {}
 Computes the never zero sign of the parameter. More...
 
constexpr splat_type const splat = {}
 Computes the TODO. More...
 
constexpr callable_sqr_ sqr = {}
 Computes the square of the parameter. More...
 
constexpr callable_sqr_abs_ sqr_abs = {}
 Computes the square of the absolute value of the parameter. More...
 
constexpr callable_sqrt_ sqrt = {}
 Computes the square root of the parameter. More...
 
constexpr callable_store_ store = {}
 Callable object computing //! description NOT FOUND. More...
 
constexpr callable_store_equivalent_ store_equivalent = {}
 Callable object, customisation point. If an iterator's store operation can be done as a store to some other iterator/pointer - this is a transformation to customize. More...
 
constexpr callable_sub_ sub = {}
 Computes the sum of its arguments. More...
 
constexpr callable_sum_of_prod_ sum_of_prod = {}
 Computes the sum of products operation with better accuracy than the naive formula. More...
 
constexpr callable_three_fma_ three_fma = {}
 Computes the elementwise triple of fma and errors,. More...
 
constexpr callable_trunc_ trunc = {}
 Computes the integral part of x with the same sign as x. More...
 
constexpr callable_two_add_ two_add = {}
 Computes the elementwise pair of sum and error,. More...
 
constexpr callable_two_prod_ two_prod = {}
 Computes the elementwise pair of product and error,. More...
 
constexpr callable_ulpdist_ ulpdist = {}
 Computes the unit in the last place distance of its arguments. Defined in Header More...
 
constexpr callable_unalign_ unalign = {}
 Callable object for computing an unaligned version of a relaxed iterator. More...
 
constexpr callable_write_ write = {}
 Callable object writing single value from memory. More...
 
constexpr callable_zip_ zip = {}
 lable object constructing a SoA value. More...
 
constexpr callable_ellint_1_ ellint_1 = {}
 Computes the elliptic integrals of the first kind : \(\mathbf{F}(\phi, k) = \int_0^{\phi} \frac{\mathrm{d}t}{\sqrt{1-k^2\sin^2 t}}\) and \(\mathbf{K}(k) = \int_0^{\pi/2} \frac{\mathrm{d}t}{\sqrt{1-k^2\sin^2 t}}\). More...
 
constexpr callable_ellint_2_ ellint_2 = {}
 Computes the elliptic integrals of the second kind : \( \mathbf{E}(\phi, k) = \int_0^{\phi} \scriptstyle \sqrt{1-k^2\sin^2 t} \scriptstyle\;\mathrm{d}t\) and \(\mathbf{E}(k) = \int_0^{\pi/2} \scriptstyle \sqrt{1-k^2\sin^2 t} \scriptstyle\;\mathrm{d}t\). More...
 
constexpr callable_ellint_d_ ellint_d = {}
 Computes the \(\mbox{D}\) elliptic integrals : \( \mathbf{D}(\phi, k) = \int_0^{\phi} \frac{\sin^2 t}{\sqrt{1-k^2\sin^2 t}} \scriptstyle\;\mathrm{d}t\) and \( \mathbf{D}(k) = \int_0^{\pi/2} \frac{\sin^2 t}{\sqrt{1-k^2\sin^2 t}} \scriptstyle\;\mathrm{d}t\). More...
 
constexpr callable_ellint_rc_ ellint_rc = {}
 computes the degenerate Carlson's elliptic integral \( \mathbf{R}_\mathbf{C}(x, y) = \frac12 \int_{0}^{\infty} \scriptstyle(t+x)^{-1/2}(t+y)^{-1}\scriptstyle\;\mathrm{d}t\). More...
 
constexpr callable_ellint_rd_ ellint_rd = {}
 Computes the Carlson's elliptic integral. More...
 
constexpr callable_ellint_rf_ ellint_rf = {}
 Computes the Carlson's elliptic integral \( \mathbf{R}_\mathbf{F}(x, y) = \mathbf{R}_\mathbf{D}(x, y) = \frac32 \int_{0}^{\infty} \scriptstyle[(t+x)(t+y)]^{-1/2} (t+z)^{-3/2}\scriptstyle\;\mathrm{d}t\). More...
 
constexpr callable_ellint_rg_ ellint_rg = {}
 Computes the Carlson's elliptic integral \( \mathbf{R}_\mathbf{G}(x, y) = \frac1{4\pi} \int_{0}^{2\pi}\int_{0}^{\pi} \scriptstyle\sqrt{x\sin^2\theta\cos^2\phi +y\sin^2\theta\sin^2\phi +z\cos^2\theta} \scriptstyle\;\mathrm{d}\theta\;\mathrm{d}\phi\). More...
 
constexpr callable_ellint_rj_ ellint_rj = {}
 Computes the Carlson's elliptic integral \( \mathbf{R}_\mathbf{J}(x, y) = \frac32 \int_{0}^{\infty} \scriptstyle(t+p)^{-1}[(t+x)(t+y)(t+z)]^{-1/2}\scriptstyle\;\mathrm{d}t\). More...
 
constexpr callable_catalan_ catalan = {}
 Callable object computing the catalan constant \(\beta(2) = \sum_0^\infty \frac{(-1)^n}{(2n+1)^2}\). More...
 
constexpr callable_cbrt_pi_ cbrt_pi = {}
 Callable object computing the constant \(\sqrt[3]\pi\). More...
 
constexpr callable_cos_1_ cos_1 = {}
 Callable object computing the constant \(\cos1\). More...
 
constexpr callable_cosh_1_ cosh_1 = {}
 Callable object computing the constant \(\cosh(1)\). More...
 
constexpr callable_egamma_ egamma = {}
 Callable object computing the Euler-Mascheroni constant : \(\gamma = \lim_{n\to\infty}\left( \sum_{k = 0}^n \frac1k - \log n\right )\). More...
 
constexpr callable_egamma_sqr_ egamma_sqr = {}
 Callable object computing the square of the [Euler-Mascheroni constant](eve::egamma). More...
 
constexpr callable_epso_2_ epso_2 = {}
 Callable object computing the half of the machine epsilon. More...
 
constexpr callable_euler_ euler = {}
 Callable object computing the constant \(\e^1\). More...
 
constexpr callable_exp_pi_ exp_pi = {}
 Callable object computing the constant \(e^\pi\). More...
 
constexpr callable_extreme_value_skewness_ extreme_value_skewness = {}
 Callable object computing the extreme value distribution skewness : \(12\sqrt6\zeta(3)/\pi^3\). More...
 
constexpr callable_four_minus_pi_ four_minus_pi = {}
 Callable object computing the constant \(4-\pi\). More...
 
constexpr callable_four_pio_3_ four_pio_3 = {}
 Callable object computing the constant \(4\pi/3\). More...
 
constexpr callable_glaisher_ glaisher = {}
 Callable object computing the Glaisher-Kinkelin constant. More...
 
constexpr callable_inv_2eps_ inv_2eps = {}
 Callable object computing half the inverse of the machine epsilon. More...
 
constexpr callable_inv_2pi_ inv_2pi = {}
 Callable object computing the constant \(\frac{1}{2\pi}\). More...
 
constexpr callable_inv_e_ inv_e = {}
 Callable object computing the constant \(e^{-1}\). More...
 
constexpr callable_inv_egamma_ inv_egamma = {}
 Callable object computing the inverse of the [Euler-Mascheroni constant](eve::egamma). More...
 
constexpr callable_invlog10_2_ invlog10_2 = {}
 Callable object computing the constant \(1/\log_{10}2\). More...
 
constexpr callable_invlog10_e_ invlog10_e = {}
 Callable object computing the constant \(1/\log_{10}e\). More...
 
constexpr callable_invlog_10_ invlog_10 = {}
 Callable object computing \(1/\log10\). More...
 
constexpr callable_invlog_2_ invlog_2 = {}
 Callable object computing the constant \(1/\log2\). More...
 
constexpr callable_invlog_phi_ invlog_phi = {}
 Callable object computing the inverse of the logarithm of the golden ratio : \(1/\log((1+\sqrt5)/2)\). More...
 
constexpr callable_invsqrt_2_ invsqrt_2 = {}
 Callable object computing the constant \(2^{-1/2}\). More...
 
constexpr callable_khinchin_ khinchin = {}
 Callable object computing the Khinchin constant. More...
 
constexpr callable_log10_e_ log10_e = {}
 Callable object computing the constant \(\log_{10}e\). More...
 
constexpr callable_log2_e_ log2_e = {}
 Callable object computing the constant \(\log_2 e\). More...
 
constexpr callable_log_10_ log_10 = {}
 Callable object computing the constant \(\log 10\). More...
 
constexpr callable_log_2_ log_2 = {}
 Callable object computing the constant \(\log 2\). More...
 
constexpr callable_log_phi_ log_phi = {}
 Callable object computing the logarithm of the golden ratio : \(\log((1+\sqrt5)/2)\). More...
 
constexpr callable_loglog_2_ loglog_2 = {}
 Callable object computing the constant \(\log(\log2)\). More...
 
constexpr callable_maxlog_ maxlog = {}
 Callable object computing the greatest positive value for which eve::exp is finite. More...
 
constexpr callable_maxlog10_ maxlog10 = {}
 Callable object computing the greatest positive value for which eve::exp10 is finite. More...
 
constexpr callable_maxlog2_ maxlog2 = {}
 Callable object computing the greatest positive value for which eve::exp2 is finite. More...
 
constexpr callable_minlog_ minlog = {}
 Callable object computing the least value for which eve::exp is not zero. More...
 
constexpr callable_minlog10_ minlog10 = {}
 Callable object computing the least value for which eve::exp10 is not zero. More...
 
constexpr callable_minlog10denormal_ minlog10denormal = {}
 Callable object computing the least value for which eve::exp10 is not denormal. More...
 
constexpr callable_minlog2_ minlog2 = {}
 Callable object computing the least value for which eve::exp2 is not zero. More...
 
constexpr callable_minlog2denormal_ minlog2denormal = {}
 Callable object computing the least value for which eve::exp2 is not denormal. More...
 
constexpr callable_minlogdenormal_ minlogdenormal = {}
 Callable object computing the least value for which eve::exp is not denormal. More...
 
constexpr callable_phi_ phi = {}
 Callable object computing the golden ratio : \(\frac{1+\sqrt5}2\). More...
 
constexpr callable_pi_ pi = {}
 Callable object computing the constant \(\pi\). More...
 
constexpr callable_pi2_ pi2 = {}
 Callable object computing the square of \(\pi\). More...
 
constexpr callable_pi2o_16_ pi2o_16 = {}
 Callable object computing the constant \(\pi^2/16\). More...
 
constexpr callable_pi2o_6_ pi2o_6 = {}
 Callable object computing the constant \(\pi^2/6\). More...
 
constexpr callable_pi3_ pi3 = {}
 Callable object computing the pi cubed value : \(\pi^3\). More...
 
constexpr callable_pi_minus_3_ pi_minus_3 = {}
 Callable object computing the constant \(\pi-3\). More...
 
constexpr callable_pi_pow_e_ pi_pow_e = {}
 Callable object computing the constant \(\pi^e\). More...
 
constexpr callable_pio_2_ pio_2 = {}
 Callable object computing the constant \(\pi/2\). More...
 
constexpr callable_pio_3_ pio_3 = {}
 Callable object computing the constant \(\pi/3\). More...
 
constexpr callable_pio_4_ pio_4 = {}
 Callable object computing the constant \(\pi/4\). More...
 
constexpr callable_pio_6_ pio_6 = {}
 Callable object computing the constant \(\pi/6\). More...
 
constexpr callable_rayleigh_kurtosis_ rayleigh_kurtosis = {}
 Callable object computing the Rayleigh kurtosis value : \(3+(6\pi^2-24\pi+16)/(4-\pi^2)\). More...
 
constexpr callable_rayleigh_kurtosis_excess_ rayleigh_kurtosis_excess = {}
 Callable object computing the Rayleigh kurtosis excess value : \(-(6\pi^2-24\pi+16)/(4-\pi^2)\). More...
 
constexpr callable_rayleigh_skewness_ rayleigh_skewness = {}
 Callable object computing the Rayleigh skewness value : \(2\sqrt\pi(\pi-3)/(4-\pi^{3/2})\). More...
 
constexpr callable_rsqrt_e_ rsqrt_e = {}
 Callable object computing the constant \(1/\sqrt{e}\). More...
 
constexpr callable_rsqrt_pi_ rsqrt_pi = {}
 Callable object computing the constant \(\pi^{-1/2}\). More...
 
constexpr callable_rsqrt_pio_2_ rsqrt_pio_2 = {}
 Callable object computing the constant \((\pi/2)^{-1/2}\). More...
 
constexpr callable_sin_1_ sin_1 = {}
 Callable object computing the constant \(\sin(1)\). More...
 
constexpr callable_sinh_1_ sinh_1 = {}
 Callable object computing the constant \(\sinh(1)\). More...
 
constexpr callable_sixth_ sixth = {}
 Callable object computing the constant \(1/6\). More...
 
constexpr callable_sqrt_2_ sqrt_2 = {}
 Callable object computing the constant \(\sqrt2\). More...
 
constexpr callable_sqrt_2pi_ sqrt_2pi = {}
 Callable object computing the constant \(\sqrt{2\pi}\). More...
 
constexpr callable_sqrt_3_ sqrt_3 = {}
 Callable object computing constant \(\sqrt{3}\). More...
 
constexpr callable_sqrt_e_ sqrt_e = {}
 Callable object computing the constant \(\sqrt{e}\). More...
 
constexpr callable_sqrt_pi_ sqrt_pi = {}
 Callable object computing the constant \(\sqrt{\pi}\). More...
 
constexpr callable_sqrt_pio_2_ sqrt_pio_2 = {}
 Callable object computing the constant \(\sqrt{\pi/2}\). More...
 
constexpr callable_sqrtlog_4_ sqrtlog_4 = {}
 Callable object computing the constant \(\sqrt{\log4}\). More...
 
constexpr callable_third_ third = {}
 Callable object computing the constant \(1/3\). More...
 
constexpr callable_three_o_4_ three_o_4 = {}
 Callable object computing the constant \(3/4\). More...
 
constexpr callable_three_pio_4_ three_pio_4 = {}
 Callable object computing the constant \(3\pi/4\). More...
 
constexpr callable_two_o_3_ two_o_3 = {}
 Callable object computing the constant \(2/3\). More...
 
constexpr callable_two_o_pi_ two_o_pi = {}
 Callable object computing the constant \(2/\pi\). More...
 
constexpr callable_two_o_sqrt_pi_ two_o_sqrt_pi = {}
 Callable object computing the constant \(2/\sqrt\pi\). More...
 
constexpr callable_two_pio_3_ two_pio_3 = {}
 Callable object computing the constant \(2\pi/3\). More...
 
constexpr callable_zeta_2_ zeta_2 = {}
 Callable object computing the constant \(\zeta(2)\). More...
 
constexpr callable_zeta_3_ zeta_3 = {}
 Callable object computing the constant \(\zeta(3)\). More...
 
constexpr full_circle_type const full_circle = {}
 Higher-order Callable Object imbuing a limited range semantic onto other Callable Objects. More...
 
constexpr quarter_circle_type const quarter_circle = {}
 Higher-order Callable Object imbuing a limited range semantic onto other Callable Objects. More...
 
constexpr half_circle_type const half_circle = {}
 Higher-order Callable Object imbuing a limited range standard semantic onto other Callable Objects. More...
 
constexpr callable_acos_ acos = {}
 Callable object computing the arc cosine. More...
 
constexpr callable_acosd_ acosd = {}
 Callable object computing the arc cosine from input in degree. More...
 
constexpr callable_acosh_ acosh = {}
 Callable object computing \(\log(x+\sqrt{x^2-1})\). More...
 
constexpr callable_acospi_ acospi = {}
 Callable object computing the arc cosine in \(\pi\) multiples. More...
 
constexpr callable_acot_ acot = {}
 Callable object computing the arc cotangent. More...
 
constexpr callable_acotd_ acotd = {}
 Callable object computing arc cotangent in degree. More...
 
constexpr callable_acoth_ acoth = {}
 Callable object computing \(\frac{1}{2}\log((x+1)/(x-1))\). More...
 
constexpr callable_acotpi_ acotpi = {}
 Callable object computing in \(\pi\) multiples. More...
 
constexpr callable_acsc_ acsc = {}
 Callable object computing the arc cosecant. More...
 
constexpr callable_acscd_ acscd = {}
 Callable object computing the arc cosecant rom an input in degrees. More...
 
constexpr callable_acsch_ acsch = {}
 Callable object computing \(\log(1/x+\sqrt{1/x^2+1})\). More...
 
constexpr callable_acscpi_ acscpi = {}
 Callable object computing he arc cosecant in \(\pi\) multiples. More...
 
constexpr callable_arg_ arg = {}
 Callable object computing the phase angle (in radians). More...
 
constexpr callable_asec_ asec = {}
 Callable object computing the arc secant. More...
 
constexpr callable_asecd_ asecd = {}
 Callable object computing the arc secant in degrees. More...
 
constexpr callable_asech_ asech = {}
 Callable object computing \(\log(1/x+\sqrt{1/x^2-1})\). More...
 
constexpr callable_asecpi_ asecpi = {}
 Callable object computing the arc secant in \(\pi\) multiples. More...
 
constexpr callable_asin_ asin = {}
 Callable object computing the arc sine. More...
 
constexpr callable_asind_ asind = {}
 Callable object computing the arc sine in degrees. More...
 
constexpr callable_asinh_ asinh = {}
 Callable object computing \(\log(x+\sqrt{x^2+1})\). More...
 
constexpr callable_asinpi_ asinpi = {}
 Callable object computing computing the arc sine in \(\pi\) multiples. More...
 
constexpr callable_atan_ atan = {}
 Callable object computing the arc tangent. More...
 
constexpr callable_atan2_ atan2 = {}
 Callable object computing the arc tangent using the signs of arguments to determine the correct quadrant. More...
 
constexpr callable_atan2d_ atan2d = {}
 Callable object computing the arc tangent in degrees using the signs of arguments to determine the correct quadrant. More...
 
constexpr callable_atan2pi_ atan2pi = {}
 Callable object computing the arc tangent in \(\pi\) multiples using the signs of arguments to determine the correct quadrant. More...
 
constexpr callable_atand_ atand = {}
 Callable object computing arc tangent in degrees. More...
 
constexpr callable_atanh_ atanh = {}
 Callable object computing \(\frac{1}{2}\log((1+x)/(1-x))\). More...
 
constexpr callable_atanpi_ atanpi = {}
 Callable object computing arc tangent in \(\pi\) multiples. More...
 
constexpr callable_cbrt_ cbrt = {}
 Callable object computing the cubic root. More...
 
constexpr callable_cos_ cos = {}
 Callable object computing the cosine. More...
 
constexpr callable_cosd_ cosd = {}
 Callable object computing cosine from an input in degrees. More...
 
constexpr callable_cosh_ cosh = {}
 Callable object computing \(\frac{e^x+e^{-x}}2\). More...
 
constexpr callable_cot_ cot = {}
 Callable object computing th cotangent. More...
 
constexpr callable_cotd_ cotd = {}
 Callable object computing cotangent from an input in degrees. More...
 
constexpr callable_coth_ coth = {}
 Callable object computing \(\frac{e^x+e^{-x}}{e^x-e^{-x}}\). More...
 
constexpr callable_cotpi_ cotpi = {}
 Callable object computing the arc cotangent from an input in \(\pi\) multiples. More...
 
constexpr callable_csc_ csc = {}
 Callable object computing the cosecant of the input. More...
 
constexpr callable_cscd_ cscd = {}
 Callable object computing the cosecant from an input in degree. More...
 
constexpr callable_csch_ csch = {}
 Callable object computing \(\frac2{e^x+e^{-x}}\). More...
 
constexpr callable_cscpi_ cscpi = {}
 Callable object computing the cosecant in \(\pi\) multiples. More...
 
constexpr callable_deginrad_ deginrad = {}
 Callable object multiplying the input by \(\pi/180\). More...
 
constexpr callable_exp_ exp = {}
 Callable object computing \(e^x\). More...
 
constexpr callable_exp10_ exp10 = {}
 Callable object computing \(10^x\). More...
 
constexpr callable_exp2_ exp2 = {}
 Callable object computing \(2^x\). More...
 
constexpr callable_expm1_ expm1 = {}
 Callable object computing \(e^x-1\). More...
 
constexpr callable_expx2_ expx2 = {}
 Callable object computing \(e^{\pm x^2}\). More...
 
constexpr callable_gd_ gd = {}
 Callable object computing the gudermanian gd: \(\int_0^\infty 1/\cosh x dx\). More...
 
constexpr callable_geommean_ geommean = {}
 Callable object computing the geometric mean of the inputs. \( \left(\prod_{i = 1}^n x_i\right)^{1/n} \). More...
 
constexpr callable_hypot_ hypot = {}
 Callable object computing the \(l_2\) norm of its inputs. More...
 
constexpr callable_invgd_ invgd = {}
 Callable object computing the inverse gudermanian. More...
 
constexpr callable_log_ log = {}
 Callable object computing the natural logarithm: \(\log x\). More...
 
constexpr callable_log10_ log10 = {}
 Callable object computing the base 10 logarithm: \(\log_{10} x\). More...
 
constexpr callable_log1p_ log1p = {}
 Callable object computing the natural logarithm of \(1+x\): \(\log(1+x)\). More...
 
constexpr callable_log2_ log2 = {}
 Callable object computing the base 2 logarithm: \(\log_2 x\). More...
 
constexpr callable_log_abs_ log_abs = {}
 Callable object computing the natural logarithm of the absolute value of the input. More...
 
constexpr callable_logspace_add_ logspace_add = {}
 Callable object computing the logspace_add operation: \(\log\left(\sum_{i = 0}^n e^{x_i}\right)\). More...
 
constexpr callable_logspace_sub_ logspace_sub = {}
 Callable object computing the logspace_sub operation: \(\log\left(e^{x_0}-\sum_{i = 1}^n e^{x_i}\right)\). More...
 
constexpr callable_lpnorm_ lpnorm = {}
 Callable object computing the lpnorm operation \( \left(\sum_{i = 0}^n |x_i|^p\right)^{\frac1p} \). More...
 
constexpr callable_nthroot_ nthroot = {}
 Callable object computing the nth root: \(x^{1/n}\). More...
 
constexpr callable_pow_ pow = {}
 Callable object computing the pow operation \(x^y\). More...
 
constexpr callable_pow1p_ pow1p = {}
 Callable object computing pow1p: \((1+x)^y\). More...
 
constexpr callable_pow_abs_ pow_abs = {}
 Callable object computing the pow_abs function \(|x|^y\). More...
 
constexpr callable_powm1_ powm1 = {}
 Callable object computing powm1: \(x^y-1\). More...
 
constexpr callable_quadrant_ quadrant = {}
 Callable object computing the quadrant value. More...
 
constexpr callable_radindeg_ radindeg = {}
 Callable object multiplying the input by \(180/\pi\). More...
 
constexpr callable_radinpi_ radinpi = {}
 Callable object multiplying the input by \(1/\pi\). More...
 
constexpr callable_rempio2_ rempio2 = {}
 Callable object computing the remainder of the division by \(\pi/2\). More...
 
constexpr callable_sec_ sec = {}
 Callable object computing the secant of the input. More...
 
constexpr callable_secd_ secd = {}
 Callable object computing the secant from an input in degree. More...
 
constexpr callable_sech_ sech = {}
 Callable object computing \(\frac2{e^x-e^{-x}}\). More...
 
constexpr callable_secpi_ secpi = {}
 Callable object computing secant from an input in \(\pi\) multiples. More...
 
constexpr callable_significants_ significants = {}
 Computes the rounding to n significants digits of the first input. More...
 
constexpr callable_sin_ sin = {}
 Callable object computing the sine. More...
 
constexpr callable_sinc_ sinc = {}
 Callable object computing the sine cardinal. More...
 
constexpr callable_sincos_ sincos = {}
 Callable object computing the simultaneous computation of sine an cosine. More...
 
constexpr callable_sind_ sind = {}
 Callable object computing the sine from an input in degrees. More...
 
constexpr callable_sindcosd_ sindcosd = {}
 Callable object computing the simultaneous computation of sine an cosine from an argument in degrees. More...
 
constexpr callable_sinh_ sinh = {}
 Callable object computing \(\frac{e^x-e^{-x}}2\). More...
 
constexpr callable_sinhc_ sinhc = {}
 Callable object computing \(\frac{e^x-e^{-x}}{2x}\). More...
 
constexpr callable_sinhcosh_ sinhcosh = {}
 Callable object performing the simultaneous computations of the hyperbolic sine and cosine. More...
 
constexpr callable_sinpi_ sinpi = {}
 Callable object computing the sine rom an input in \(\pi\) multiples. More...
 
constexpr callable_sinpic_ sinpic = {}
 Callable object computing the normalized cardinal sine. More...
 
constexpr callable_sinpicospi_ sinpicospi = {}
 Callable object computing the simultaneous computation of sin an cos from an argument in \(\pi\) multiples. More...
 
constexpr callable_tan_ tan = {}
 Callable object computing the tangent. More...
 
constexpr callable_tand_ tand = {}
 Callable object computing the tangent from an input in degrees. More...
 
constexpr callable_tanh_ tanh = {}
 Callable object computing \(\frac{e^x-e^{-x}}{e^x+e^{-x}}\). More...
 
constexpr callable_tanpi_ tanpi = {}
 Callable object computing the tangent from an input in \(\pi\) multiples. More...
 
constexpr callable_hermite_ hermite = {}
 Computes the value of the 'physicists' Hermite polynomial of order n at x: More...
 
constexpr callable_horner_ horner = {}
 Implement the horner scheme to evaluate polynomials/. More...
 
constexpr callable_jacobi_ jacobi = {}
 Computes the value of the Jacobi polynomials \(P^{\alpha, \beta}_n(x)\). More...
 
constexpr callable_laguerre_ laguerre = {}
 Computes the value of the Laguerre and associated Laguerre polynomials of order n at x: More...
 
constexpr callable_legendre_ legendre = {}
 Computes the value of the Legendre and associated Legendre polynomials of order n at x: More...
 
constexpr callable_newton_ newton = {}
 Implement the Newton scheme to evaluate polynomials. More...
 
constexpr callable_reverse_horner_ reverse_horner = {}
 implement the horner scheme to evaluate polynomials with coefficients in increasing power order More...
 
constexpr callable_tchebeval_ tchebeval = {}
 Evaluates a polynomial on the Tchebytchev polynomial basis. More...
 
constexpr callable_tchebytchev_ tchebytchev = {}
 Computes the value of the Tchebytchev polynomial of order n at x: More...
 
constexpr callable_beta_ beta = {}
 Computes the beta function: \(\displaystyle \mathbf{B}(x, y) = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)}\) is returned. More...
 
constexpr callable_betainc_ betainc = {}
 Computes the beta incomplete function. \(\displaystyle \mbox{I}_s(x,y) = \frac{1}{\mbox{B}(x,y)}\int_0^s t^{x-1}(1-t)^{y-1}\mbox{d}t\). More...
 
constexpr callable_betainc_inv_ betainc_inv = {}
 Computes the inverse relative to the first parameter of the beta incomplete function. More...
 
constexpr callable_dawson_ dawson = {}
 Computes the Dawson function \(\displaystyle D_+(x)=e^{-x^2}\int_0^{x} e^{t^2} \mbox{d}t\). More...
 
constexpr callable_digamma_ digamma = {}
 Computes the Digamma function i.e. the logarithmic derivative of the \(\Gamma\) function. More...
 
constexpr callable_double_factorial_ double_factorial = {}
 Computes the double factorial of n More...
 
constexpr callable_erf_ erf = {}
 Computes the error function: \( \displaystyle \mbox{erf}(x)=\frac{2}{\sqrt\pi}\int_0^{x} e^{-t^2}\mbox{d}t\) or its analytic continuation in the complex plane. More...
 
constexpr callable_erf_inv_ erf_inv = {}
 Computes the inverse of the error function. More...
 
constexpr callable_erfc_ erfc = {}
 Computes the complementar error function \( \displaystyle \mbox{erf}(x)=1-\frac{2}{\sqrt\pi}\int_0^{x} e^{-t^2}\mbox{d}t\). More...
 
constexpr callable_erfc_inv_ erfc_inv = {}
 Computes the complementar error function \( \displaystyle \mbox{erf}(x)=1-\frac{2}{\sqrt\pi}\int_0^{x} e^{-t^2}\mbox{d}t\). More...
 
constexpr callable_erfcx_ erfcx = {}
 Computes the normalized complementary error function \( \displaystyle \mbox{erfcx}(x) = e^{x^2} \mbox{erfc}(x)\). More...
 
constexpr callable_exp_int_ exp_int = {}
 Computes the exponential integral \( \mathbf{E}_n(x) = \displaystyle \int_1^\infty \frac{e^{-xt}}{t^n}\;\mbox{d}t\). More...
 
constexpr callable_factorial_ factorial = {}
 Computes \(\displaystyle n! = \prod_{i=1}^n i\). More...
 
constexpr callable_gamma_p_ gamma_p = {}
 Computes the normalized lower incomplete \(\Gamma\) function. More...
 
constexpr callable_gamma_p_inv_ gamma_p_inv = {}
 Computes the inverse of the normalized lower incomplete \(\Gamma\) function. More...
 
constexpr callable_lambert_ lambert = {}
 Computes the inverse of the function \( x \rightarrow xe^x \). More...
 
constexpr callable_lbeta_ lbeta = {}
 Computes the natural logarithm of the beta function. More...
 
constexpr callable_lfactorial_ lfactorial = {}
 Computes the natural logarithm of the factorial of unsigned integer values \(\displaystyle \log n! = \sum_{i=1}^n \log i\). More...
 
constexpr callable_log_abs_gamma_ log_abs_gamma = {}
 Computes the natural logarithm of the absolute value of the \(\Gamma\) function. More...
 
constexpr callable_log_gamma_ log_gamma = {}
 Computes the natural logarithm of the \(\Gamma\) function. More...
 
constexpr callable_lrising_factorial_ lrising_factorial = {}
 Computes the natural logarithm of the Rising Factorial function i.e. \(\log\left(\frac{\Gamma(x+a)}{\Gamma(x)}\right)\). More...
 
constexpr callable_omega_ omega = {}
 Computes the the Wright \(\omega\) the inverse function of \( x \rightarrow \log x+x\). More...
 
constexpr callable_rising_factorial_ rising_factorial = {}
 Computes the Rising Factorial function i.e. \(\frac{\Gamma(x+a)}{\Gamma(x)}\). More...
 
constexpr callable_signgam_ signgam = {}
 Computes the sign of the \(\Gamma\) function. More...
 
constexpr callable_stirling_ stirling = {}
 Computes the Stirling approximation of the \(\Gamma\) function. More...
 
constexpr callable_tgamma_ tgamma = {}
 Computes \(\displaystyle \Gamma(x)=\int_0^\infty t^{x-1}e^{-t}\mbox{d}t\) or its analytic continuation in the complex plane. More...
 
constexpr callable_zeta_ zeta = {}
 Computes the Riemann \(\zeta\) function. More...
 
constexpr std::ptrdiff_t na_ = -1
 Tag for zeroing swizzle index.
 
template<std::ptrdiff_t... I>
constexpr auto pattern = pattern_t<I...>{}
 Generate a shuffling pattern.
 
template<typename T >
constexpr std::size_t max_scalar_size_v = kumi::max_flat(T{}, [](auto m) { return sizeof(m); })
 A meta function for getting a maximum size of scalar. More...