cheshirekow  v0.1.0
mpblocks::cuda::polynomial::Polynomial< Scalar, Spec > Struct Template Reference

A sparse, statically sized polynomial. More...

#include <mpblocks/cuda/polynomial/Polynomial.h>

Inheritance diagram for mpblocks::cuda::polynomial::Polynomial< Scalar, Spec >:
mpblocks::cuda::polynomial::Storage< Scalar, Spec > mpblocks::cuda::polynomial::RValue< Scalar, Polynomial< Scalar, Spec >, Spec > mpblocks::cuda::polynomial::LValue< Scalar, Polynomial< Scalar, Spec > >

Public Member Functions

__host__ __device__
__forceinline__ Scalar 
eval (Scalar x)
 evaluate the polynomial at a particular value More...
 
template<typename Exp , class Spec2 >
__host__ __device__
__forceinline__ void 
operator= (const RValue< Scalar, Exp, Spec2 > &exp)
 
template<int n, class Exp2 , class Spec2 >
__host__ __device__
__forceinline__ void 
operator= (const DerivativeSurrogate< n, Scalar, Exp2, Spec2 > &surrogate)
 
__host__ __device__ __forceinline__ Polynomial ()
 Default constructor. More...
 
template<typename Exp , class Spec2 >
__host__ __device__ __forceinline__ Polynomial (const RValue< Scalar, Exp, Spec2 > &exp)
 Construct from any PolynomialExpression: More...
 
template<int n, class Exp2 , class Spec2 >
__host__ __device__ __forceinline__ Polynomial (const DerivativeSurrogate< n, Scalar, Exp2, Spec2 > &surrogate)
 
__host__ __device__ __forceinline__ Polynomial (const Scalar &v0)
 
__host__ __device__ __forceinline__ Polynomial (const Scalar &v0, const Scalar &v1)
 
__host__ __device__ __forceinline__ Polynomial (const Scalar &v0, const Scalar &v1, const Scalar &v2)
 
__host__ __device__ __forceinline__ Polynomial (const Scalar &v0, const Scalar &v1, const Scalar &v2, const Scalar &v3)
 
__host__ __device__ __forceinline__ Polynomial (const Scalar &v0, const Scalar &v1, const Scalar &v2, const Scalar &v3, const Scalar &v4)
 
__host__ __device__ __forceinline__ Polynomial (const Scalar &v0, const Scalar &v1, const Scalar &v2, const Scalar &v3, const Scalar &v4, const Scalar &v5)
 
- Public Member Functions inherited from mpblocks::cuda::polynomial::LValue< Scalar, Polynomial< Scalar, Spec > >
__host__ __device__ LValue
< Scalar, Polynomial< Scalar,
Spec > > & 
operator= (DerivativeSurrogate< n, Scalar, Exp2, Spec2 > &surrogate)
 

Detailed Description

template<typename Scalar, class Spec>
struct mpblocks::cuda::polynomial::Polynomial< Scalar, Spec >

A sparse, statically sized polynomial.

Definition at line 266 of file Polynomial.h.

Constructor & Destructor Documentation

template<typename Scalar, class Spec>
__host__ __device__ __forceinline__ mpblocks::cuda::polynomial::Polynomial< Scalar, Spec >::Polynomial ( )
inline

Default constructor.

Definition at line 273 of file Polynomial.h.

template<typename Scalar, class Spec>
template<typename Exp , class Spec2 >
__host__ __device__ __forceinline__ mpblocks::cuda::polynomial::Polynomial< Scalar, Spec >::Polynomial ( const RValue< Scalar, Exp, Spec2 > &  exp)
inline

Construct from any PolynomialExpression:

Definition at line 278 of file Polynomial.h.

template<typename Scalar, class Spec>
template<int n, class Exp2 , class Spec2 >
__host__ __device__ __forceinline__ mpblocks::cuda::polynomial::Polynomial< Scalar, Spec >::Polynomial ( const DerivativeSurrogate< n, Scalar, Exp2, Spec2 > &  surrogate)
inline

Definition at line 296 of file Polynomial.h.

template<typename Scalar, class Spec>
__host__ __device__ __forceinline__ mpblocks::cuda::polynomial::Polynomial< Scalar, Spec >::Polynomial ( const Scalar &  v0)
inline

Definition at line 309 of file Polynomial.h.

template<typename Scalar, class Spec>
__host__ __device__ __forceinline__ mpblocks::cuda::polynomial::Polynomial< Scalar, Spec >::Polynomial ( const Scalar &  v0,
const Scalar &  v1 
)
inline

Definition at line 313 of file Polynomial.h.

template<typename Scalar, class Spec>
__host__ __device__ __forceinline__ mpblocks::cuda::polynomial::Polynomial< Scalar, Spec >::Polynomial ( const Scalar &  v0,
const Scalar &  v1,
const Scalar &  v2 
)
inline

Definition at line 317 of file Polynomial.h.

template<typename Scalar, class Spec>
__host__ __device__ __forceinline__ mpblocks::cuda::polynomial::Polynomial< Scalar, Spec >::Polynomial ( const Scalar &  v0,
const Scalar &  v1,
const Scalar &  v2,
const Scalar &  v3 
)
inline

Definition at line 321 of file Polynomial.h.

template<typename Scalar, class Spec>
__host__ __device__ __forceinline__ mpblocks::cuda::polynomial::Polynomial< Scalar, Spec >::Polynomial ( const Scalar &  v0,
const Scalar &  v1,
const Scalar &  v2,
const Scalar &  v3,
const Scalar &  v4 
)
inline

Definition at line 325 of file Polynomial.h.

template<typename Scalar, class Spec>
__host__ __device__ __forceinline__ mpblocks::cuda::polynomial::Polynomial< Scalar, Spec >::Polynomial ( const Scalar &  v0,
const Scalar &  v1,
const Scalar &  v2,
const Scalar &  v3,
const Scalar &  v4,
const Scalar &  v5 
)
inline

Definition at line 329 of file Polynomial.h.

Member Function Documentation

template<typename Scalar, class Spec>
__host__ __device__ __forceinline__ Scalar mpblocks::cuda::polynomial::Polynomial< Scalar, Spec >::eval ( Scalar  x)
inline

evaluate the polynomial at a particular value

Definition at line 336 of file Polynomial.h.

template<typename Scalar, class Spec>
template<typename Exp , class Spec2 >
__host__ __device__ __forceinline__ void mpblocks::cuda::polynomial::Polynomial< Scalar, Spec >::operator= ( const RValue< Scalar, Exp, Spec2 > &  exp)
inline

Definition at line 287 of file Polynomial.h.

template<typename Scalar, class Spec>
template<int n, class Exp2 , class Spec2 >
__host__ __device__ __forceinline__ void mpblocks::cuda::polynomial::Polynomial< Scalar, Spec >::operator= ( const DerivativeSurrogate< n, Scalar, Exp2, Spec2 > &  surrogate)
inline

Definition at line 303 of file Polynomial.h.


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