Aerobus v1.2
Loading...
Searching...
No Matches
Classes | Public Types | Static Public Member Functions | Static Public Attributes | List of all members
aerobus::polynomial< Ring >::val< coeffN > Struct Template Reference

specialization for constants More...

#include <aerobus.h>

Classes

struct  coeff_at
 
struct  coeff_at< index, std::enable_if_t<(index< 0||index > 0)> >
 
struct  coeff_at< index, std::enable_if_t<(index==0)> >
 

Public Types

using ring_type = Ring
 ring coefficients live in
 
using enclosing_type = polynomial< Ring >
 enclosing ring type
 
using aN = coeffN
 
using strip = val< coeffN >
 
using is_zero_t = std::bool_constant< aN::is_zero_t::value >
 
template<size_t index>
using coeff_at_t = typename coeff_at< index >::type
 
template<typename x >
using value_at_t = coeffN
 

Static Public Member Functions

static std::string to_string ()
 
template<typename arithmeticType >
static constexpr DEVICE INLINED arithmeticType eval (const arithmeticType &x)
 
template<typename arithmeticType >
static DEVICE INLINED arithmeticType compensated_eval (const arithmeticType &x)
 

Static Public Attributes

static constexpr size_t degree = 0
 degree
 
static constexpr bool is_zero_v = is_zero_t::value
 

Detailed Description

template<typename Ring>
template<typename coeffN>
struct aerobus::polynomial< Ring >::val< coeffN >

specialization for constants

Template Parameters
coeffN

Member Typedef Documentation

◆ aN

template<typename Ring >
template<typename coeffN >
using aerobus::polynomial< Ring >::val< coeffN >::aN = coeffN

◆ coeff_at_t

template<typename Ring >
template<typename coeffN >
template<size_t index>
using aerobus::polynomial< Ring >::val< coeffN >::coeff_at_t = typename coeff_at<index>::type

◆ enclosing_type

template<typename Ring >
template<typename coeffN >
using aerobus::polynomial< Ring >::val< coeffN >::enclosing_type = polynomial<Ring>

enclosing ring type

◆ is_zero_t

template<typename Ring >
template<typename coeffN >
using aerobus::polynomial< Ring >::val< coeffN >::is_zero_t = std::bool_constant<aN::is_zero_t::value>

◆ ring_type

template<typename Ring >
template<typename coeffN >
using aerobus::polynomial< Ring >::val< coeffN >::ring_type = Ring

ring coefficients live in

◆ strip

template<typename Ring >
template<typename coeffN >
using aerobus::polynomial< Ring >::val< coeffN >::strip = val<coeffN>

◆ value_at_t

template<typename Ring >
template<typename coeffN >
template<typename x >
using aerobus::polynomial< Ring >::val< coeffN >::value_at_t = coeffN

Member Function Documentation

◆ compensated_eval()

template<typename Ring >
template<typename coeffN >
template<typename arithmeticType >
static DEVICE INLINED arithmeticType aerobus::polynomial< Ring >::val< coeffN >::compensated_eval ( const arithmeticType &  x)
inlinestatic

◆ eval()

template<typename Ring >
template<typename coeffN >
template<typename arithmeticType >
static constexpr DEVICE INLINED arithmeticType aerobus::polynomial< Ring >::val< coeffN >::eval ( const arithmeticType &  x)
inlinestaticconstexpr

◆ to_string()

template<typename Ring >
template<typename coeffN >
static std::string aerobus::polynomial< Ring >::val< coeffN >::to_string ( )
inlinestatic

Member Data Documentation

◆ degree

template<typename Ring >
template<typename coeffN >
constexpr size_t aerobus::polynomial< Ring >::val< coeffN >::degree = 0
staticconstexpr

degree

◆ is_zero_v

template<typename Ring >
template<typename coeffN >
constexpr bool aerobus::polynomial< Ring >::val< coeffN >::is_zero_v = is_zero_t::value
staticconstexpr

The documentation for this struct was generated from the following file: