Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
hydra::detail::CovMatrixUnary< F1, F2, Fs > Struct Template Reference

#include <ProcessSPlot.h>

Collaboration diagram for hydra::detail::CovMatrixUnary< F1, F2, Fs >:

Data Structures

struct  index
 

Public Types

typedef hydra::Eigen::Matrix< double, nfunctors, nfunctorscovariant_matrix_type
 
typedef hydra::tuple< F1, F2, Fs... > functors_tuple_type
 
typedef detail::tuple_type< nfunctors *nfunctors, double >::type matrix_tuple
 

Public Member Functions

 CovMatrixUnary (Parameter(&coeficients)[nfunctors], functors_tuple_type const &functors)
 
__hydra_host__ __hydra_device__ CovMatrixUnary (CovMatrixUnary< F1, F2, Fs... > const &other)
 
template<typename Type >
__hydra_host__ __hydra_device__ covariant_matrix_type operator() (Type x)
 
__hydra_host__ __hydra_device__ CovMatrixUnary< F1, F2, Fs... > & operator= (CovMatrixUnary< F1, F2, Fs... > const &other)
 
template<typename T , int N, int I>
__hydra_host__ __hydra_device__ hydra::thrust::detail::enable_if<(I==N *N), void >::type set_matrix (double denominator, T &&, hydra::Eigen::Matrix< double, N, N > &)
 
template<typename T , int N, int I = 0>
__hydra_host__ __hydra_device__ hydra::thrust::detail::enable_if<(I< N *N), void >::type set_matrix (double denominator, T &&ftuple, hydra::Eigen::Matrix< double, N, N > &fcovmatrix)
 

Data Fields

GReal_t fCoefficients [nfunctors]
 
functors_tuple_type fFunctors
 

Static Public Attributes

static constexpr size_t nfunctors = sizeof...(Fs)+2
 

Detailed Description

template<typename F1, typename F2, typename ... Fs>
struct hydra::detail::CovMatrixUnary< F1, F2, Fs >

Member Typedef Documentation

◆ covariant_matrix_type

template<typename F1 , typename F2 , typename ... Fs>
typedef hydra::Eigen::Matrix<double, nfunctors, nfunctors> hydra::detail::CovMatrixUnary< F1, F2, Fs >::covariant_matrix_type

◆ functors_tuple_type

template<typename F1 , typename F2 , typename ... Fs>
typedef hydra::tuple<F1, F2, Fs...> hydra::detail::CovMatrixUnary< F1, F2, Fs >::functors_tuple_type

◆ matrix_tuple

template<typename F1 , typename F2 , typename ... Fs>
typedef detail::tuple_type<nfunctors*nfunctors, double>::type hydra::detail::CovMatrixUnary< F1, F2, Fs >::matrix_tuple

Constructor & Destructor Documentation

◆ CovMatrixUnary() [1/2]

template<typename F1 , typename F2 , typename ... Fs>
hydra::detail::CovMatrixUnary< F1, F2, Fs >::CovMatrixUnary ( Parameter(&)  coeficients[nfunctors],
functors_tuple_type const &  functors 
)
inline

◆ CovMatrixUnary() [2/2]

template<typename F1 , typename F2 , typename ... Fs>
__hydra_host__ __hydra_device__ hydra::detail::CovMatrixUnary< F1, F2, Fs >::CovMatrixUnary ( CovMatrixUnary< F1, F2, Fs... > const &  other)
inline

Member Function Documentation

◆ operator()()

template<typename F1 , typename F2 , typename ... Fs>
template<typename Type >
__hydra_host__ __hydra_device__ covariant_matrix_type hydra::detail::CovMatrixUnary< F1, F2, Fs >::operator() ( Type  x)
inline

◆ operator=()

template<typename F1 , typename F2 , typename ... Fs>
__hydra_host__ __hydra_device__ CovMatrixUnary<F1, F2, Fs...>& hydra::detail::CovMatrixUnary< F1, F2, Fs >::operator= ( CovMatrixUnary< F1, F2, Fs... > const &  other)
inline

◆ set_matrix() [1/2]

template<typename F1 , typename F2 , typename ... Fs>
template<typename T , int N, int I>
__hydra_host__ __hydra_device__ hydra::thrust::detail::enable_if<(I == N*N),void >::type hydra::detail::CovMatrixUnary< F1, F2, Fs >::set_matrix ( double  denominator,
T &&  ,
hydra::Eigen::Matrix< double, N, N > &   
)
inline

◆ set_matrix() [2/2]

template<typename F1 , typename F2 , typename ... Fs>
template<typename T , int N, int I = 0>
__hydra_host__ __hydra_device__ hydra::thrust::detail::enable_if<(I < N*N),void >::type hydra::detail::CovMatrixUnary< F1, F2, Fs >::set_matrix ( double  denominator,
T &&  ftuple,
hydra::Eigen::Matrix< double, N, N > &  fcovmatrix 
)
inline

Field Documentation

◆ fCoefficients

template<typename F1 , typename F2 , typename ... Fs>
GReal_t hydra::detail::CovMatrixUnary< F1, F2, Fs >::fCoefficients[nfunctors]

◆ fFunctors

template<typename F1 , typename F2 , typename ... Fs>
functors_tuple_type hydra::detail::CovMatrixUnary< F1, F2, Fs >::fFunctors

◆ nfunctors

template<typename F1 , typename F2 , typename ... Fs>
constexpr size_t hydra::detail::CovMatrixUnary< F1, F2, Fs >::nfunctors = sizeof...(Fs)+2
static

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