Eigen::internal::tuple_coeff< Idx, ValueT > Struct Template Reference

#include <TensorIndexList.h>

Static Public Member Functions

template<typename... T>
static constexpr EIGEN_DEVICE_FUNC ValueT get (const Index i, const IndexTuple< T... > &t)
 
template<typename... T>
static EIGEN_DEVICE_FUNC void set (const Index i, IndexTuple< T... > &t, const ValueT &value)
 
template<typename... T>
static constexpr EIGEN_DEVICE_FUNC bool value_known_statically (const Index i, const IndexTuple< T... > &t)
 
template<typename... T>
static constexpr EIGEN_DEVICE_FUNC bool values_up_to_known_statically (const IndexTuple< T... > &t)
 
template<typename... T>
static constexpr EIGEN_DEVICE_FUNC bool values_up_to_statically_known_to_increase (const IndexTuple< T... > &t)
 

Member Function Documentation

◆ get()

template<Index Idx, typename ValueT >
template<typename... T>
static constexpr EIGEN_DEVICE_FUNC ValueT Eigen::internal::tuple_coeff< Idx, ValueT >::get ( const Index  i,
const IndexTuple< T... > &  t 
)
inlinestaticconstexpr
207  {
208  // return array_get<Idx>(t) * (i == Idx) + tuple_coeff<Idx-1>::get(i, t) * (i != Idx);
209  return (i == Idx ? array_get<Idx>(t) : tuple_coeff<Idx - 1, ValueT>::get(i, t));
210  }
int i
Definition: BiCGSTAB_step_by_step.cpp:9
t
Definition: plotPSD.py:36
static constexpr EIGEN_DEVICE_FUNC ValueT get(const Index i, const IndexTuple< T... > &t)
Definition: TensorIndexList.h:207

References i, and plotPSD::t.

◆ set()

template<Index Idx, typename ValueT >
template<typename... T>
static EIGEN_DEVICE_FUNC void Eigen::internal::tuple_coeff< Idx, ValueT >::set ( const Index  i,
IndexTuple< T... > &  t,
const ValueT &  value 
)
inlinestatic
212  {
213  if (i == Idx) {
214  update_value(array_get<Idx>(t), value);
215  } else {
217  }
218  }
EIGEN_DEVICE_FUNC void update_value(T &val, Index new_val)
Definition: TensorIndexList.h:73
squared absolute value
Definition: GlobalFunctions.h:87
static EIGEN_DEVICE_FUNC void set(const Index i, IndexTuple< T... > &t, const ValueT &value)
Definition: TensorIndexList.h:212

References i, plotPSD::t, Eigen::internal::update_value(), and Eigen::value.

◆ value_known_statically()

template<Index Idx, typename ValueT >
template<typename... T>
static constexpr EIGEN_DEVICE_FUNC bool Eigen::internal::tuple_coeff< Idx, ValueT >::value_known_statically ( const Index  i,
const IndexTuple< T... > &  t 
)
inlinestaticconstexpr
221  {
222  return ((i == Idx) && is_compile_time_constant<typename IndexTupleExtractor<Idx, T...>::ValType>::value) ||
224  }
static constexpr EIGEN_DEVICE_FUNC bool value_known_statically(const Index i, const IndexTuple< T... > &t)
Definition: TensorIndexList.h:221

References i, plotPSD::t, and Eigen::value.

◆ values_up_to_known_statically()

template<Index Idx, typename ValueT >
template<typename... T>
static constexpr EIGEN_DEVICE_FUNC bool Eigen::internal::tuple_coeff< Idx, ValueT >::values_up_to_known_statically ( const IndexTuple< T... > &  t)
inlinestaticconstexpr
227  {
228  return is_compile_time_constant<typename IndexTupleExtractor<Idx, T...>::ValType>::value &&
230  }
static constexpr EIGEN_DEVICE_FUNC bool values_up_to_known_statically(const IndexTuple< T... > &t)
Definition: TensorIndexList.h:227

References plotPSD::t, and Eigen::value.

◆ values_up_to_statically_known_to_increase()

template<Index Idx, typename ValueT >
template<typename... T>
static constexpr EIGEN_DEVICE_FUNC bool Eigen::internal::tuple_coeff< Idx, ValueT >::values_up_to_statically_known_to_increase ( const IndexTuple< T... > &  t)
inlinestaticconstexpr
233  {
234  return is_compile_time_constant<typename IndexTupleExtractor<Idx, T...>::ValType>::value &&
235  is_compile_time_constant<typename IndexTupleExtractor<Idx, T...>::ValType>::value &&
236  array_get<Idx>(t) > array_get<Idx - 1>(t) &&
238  }
constexpr T & array_get(std::array< T, N > &a)
Definition: EmulateArray.h:251
static constexpr EIGEN_DEVICE_FUNC bool values_up_to_statically_known_to_increase(const IndexTuple< T... > &t)
Definition: TensorIndexList.h:233

References Eigen::internal::array_get(), plotPSD::t, and Eigen::value.


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