Eigen::internal::tensor_symmetry_calculate_flags< Tensor_ > Struct Template Reference

#include <Symmetry.h>

Public Types

typedef Tensor_::Index Index
 

Static Public Member Functions

static int run (const std::array< Index, NumIndices > &transformed_indices, int transform_flags, int current_flags, const std::array< Index, NumIndices > &orig_indices)
 

Static Public Attributes

constexpr static std::size_t NumIndices = Tensor_::NumIndices
 

Member Typedef Documentation

◆ Index

template<typename Tensor_ >
typedef Tensor_::Index Eigen::internal::tensor_symmetry_calculate_flags< Tensor_ >::Index

Member Function Documentation

◆ run()

template<typename Tensor_ >
static int Eigen::internal::tensor_symmetry_calculate_flags< Tensor_ >::run ( const std::array< Index, NumIndices > &  transformed_indices,
int  transform_flags,
int  current_flags,
const std::array< Index, NumIndices > &  orig_indices 
)
inlinestatic
282  {
283  if (transformed_indices == orig_indices) {
284  if (transform_flags & (ConjugationFlag | NegationFlag))
285  return current_flags | GlobalImagFlag; // anti-hermitian diagonal
286  else if (transform_flags & ConjugationFlag)
287  return current_flags | GlobalRealFlag; // hermitian diagonal
288  else if (transform_flags & NegationFlag)
289  return current_flags | GlobalZeroFlag; // anti-symmetric diagonal
290  }
291  return current_flags;
292  }
@ GlobalZeroFlag
Definition: Symmetry.h:20
@ GlobalRealFlag
Definition: Symmetry.h:20
@ GlobalImagFlag
Definition: Symmetry.h:20
@ NegationFlag
Definition: Symmetry.h:18
@ ConjugationFlag
Definition: Symmetry.h:18

References Eigen::ConjugationFlag, Eigen::GlobalImagFlag, Eigen::GlobalRealFlag, Eigen::GlobalZeroFlag, and Eigen::NegationFlag.

Member Data Documentation

◆ NumIndices

template<typename Tensor_ >
constexpr static std::size_t Eigen::internal::tensor_symmetry_calculate_flags< Tensor_ >::NumIndices = Tensor_::NumIndices
staticconstexpr

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