Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Eigen::internal::nested_eval< T, n, PlainObject > Struct Template Reference

#include <src/eigen/Eigen/src/Core/util/XprHelper.h>

+ Inheritance diagram for Eigen::internal::nested_eval< T, n, PlainObject >:

Public Types

enum  {
  ScalarReadCost = NumTraits<typename traits<T>::Scalar>::ReadCost , CoeffReadCost = evaluator<T>::CoeffReadCost , NAsInteger = n == Dynamic ? HugeCost : n , CostEval = (NAsInteger+1) * ScalarReadCost + CoeffReadCost ,
  CostNoEval = NAsInteger * CoeffReadCost , Evaluate = (int(evaluator<T>::Flags) & EvalBeforeNestingBit) || (int(CostEval) < int(CostNoEval))
}
 
typedef conditional< Evaluate, PlainObject, typenameref_selector< T >::type >::type type
 

Detailed Description

template<typename T, int n, typename PlainObject = typename plain_object_eval<T>::type>
struct Eigen::internal::nested_eval< T, n, PlainObject >

Member Typedef Documentation

◆ type

template<typename T , int n, typename PlainObject = typename plain_object_eval<T>::type>
typedef conditional<Evaluate,PlainObject,typenameref_selector<T>::type>::type Eigen::internal::nested_eval< T, n, PlainObject >::type

Member Enumeration Documentation

◆ anonymous enum

template<typename T , int n, typename PlainObject = typename plain_object_eval<T>::type>
anonymous enum
Enumerator
ScalarReadCost 
CoeffReadCost 
NAsInteger 
CostEval 
CostNoEval 
Evaluate 
439 {
440 ScalarReadCost = NumTraits<typename traits<T>::Scalar>::ReadCost,
441 CoeffReadCost = evaluator<T>::CoeffReadCost, // NOTE What if an evaluator evaluate itself into a tempory?
442 // Then CoeffReadCost will be small (e.g., 1) but we still have to evaluate, especially if n>1.
443 // This situation is already taken care by the EvalBeforeNestingBit flag, which is turned ON
444 // for all evaluator creating a temporary. This flag is then propagated by the parent evaluators.
445 // Another solution could be to count the number of temps?
446 NAsInteger = n == Dynamic ? HugeCost : n,
449 Evaluate = (int(evaluator<T>::Flags) & EvalBeforeNestingBit) || (int(CostEval) < int(CostNoEval))
450 };
const unsigned int EvalBeforeNestingBit
Definition Constants.h:65
const int HugeCost
Definition Constants.h:39
const int Dynamic
Definition Constants.h:21
@ CoeffReadCost
Definition XprHelper.h:441
@ CostNoEval
Definition XprHelper.h:448
@ NAsInteger
Definition XprHelper.h:446
@ ScalarReadCost
Definition XprHelper.h:440
@ Evaluate
Definition XprHelper.h:449
@ CostEval
Definition XprHelper.h:447

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