Tatooine
|
Concepts | |
concept | index |
Typedefs | |
template<typename... Ts> | |
using | indexed_tensors_to_index_list = typename indexed_tensors_to_index_list_impl< type_list<>, Ts... >::type |
template<typename... Indices> | |
using | free_indices = typename free_indices_aux< indexed_tensors_to_index_list< Indices... > >::type |
template<typename... Indices> | |
using | contracted_indices = typename contracted_indices_aux< indexed_tensors_to_index_list< Indices... > >::type |
Functions | |
template<typename TensorLHS , index... IndicesLHS, typename TensorRHS , index... IndicesRHS> | |
auto constexpr | contract (indexed_dynamic_tensor< TensorLHS, IndicesLHS... > lhs, indexed_dynamic_tensor< TensorRHS, IndicesRHS... > rhs) |
template<typename TensorLHS , index... IndicesLHS, typename TensorRHS , index... IndicesRHS> | |
auto | operator* (indexed_dynamic_tensor< TensorLHS, IndicesLHS... > lhs, indexed_dynamic_tensor< TensorRHS, IndicesRHS... > rhs) |
template<typename TensorLHS , index... IndicesLHS, typename TensorRHS , index... IndicesRHS> | |
auto constexpr | contract (indexed_static_tensor< TensorLHS, IndicesLHS... > lhs, indexed_static_tensor< TensorRHS, IndicesRHS... > rhs) |
template<typename TensorLHS , index... IndicesLHS, typename TensorRHS , index... IndicesRHS> | |
auto | operator* (indexed_static_tensor< TensorLHS, IndicesLHS... > lhs, indexed_static_tensor< TensorRHS, IndicesRHS... > rhs) |
template<typename... IndexedTensorLHS, typename TensorRHS , index... IndicesRHS, std::size_t... LHSSeq> | |
auto | contract (contracted_static_tensor< IndexedTensorLHS... > lhs, indexed_static_tensor< TensorRHS, IndicesRHS... > rhs, std::index_sequence< LHSSeq... >) |
template<typename... IndexedTensorLHS, typename TensorRHS , index... IndicesRHS> | |
auto | contract (contracted_static_tensor< IndexedTensorLHS... > lhs, indexed_static_tensor< TensorRHS, IndicesRHS... > rhs) |
template<typename... IndexedTensorLHS, typename TensorRHS , index... IndicesRHS> | |
auto | operator* (contracted_static_tensor< IndexedTensorLHS... > lhs, indexed_static_tensor< TensorRHS, IndicesRHS... > rhs) |
template<index... IndicesLHS, typename TensorLHS , typename... IndexedTensorRHS, std::size_t... RHSSeq> | |
auto | contract (indexed_static_tensor< TensorLHS, IndicesLHS... > lhs, contracted_static_tensor< IndexedTensorRHS... > rhs, std::index_sequence< RHSSeq... >) |
template<index... IndicesLHS, typename TensorLHS , typename... IndexedTensorRHS> | |
auto | contract (indexed_static_tensor< TensorLHS, IndicesLHS... > lhs, contracted_static_tensor< IndexedTensorRHS... > rhs) |
template<typename TensorLHS , index... IndicesLHS, typename... IndexedTensorRHS> | |
auto | operator* (indexed_static_tensor< TensorLHS, IndicesLHS... > lhs, contracted_static_tensor< IndexedTensorRHS... > rhs) |
template<typename TensorLHS , index... IndicesLHS, typename TensorRHS , index... IndicesRHS> | |
auto | operator+ (indexed_static_tensor< TensorLHS, IndicesLHS... > lhs, indexed_static_tensor< TensorRHS, IndicesRHS... > rhs) |
template<typename... IndexedTensorLHS, typename TensorRHS , index... IndicesRHS> | |
auto | operator+ (contracted_static_tensor< IndexedTensorLHS... > lhs, indexed_static_tensor< TensorRHS, IndicesRHS... > rhs) |
template<typename TensorLHS , index... IndicesLHS, typename... TensorsRHS> | |
auto | operator+ (indexed_static_tensor< TensorLHS, IndicesLHS... > lhs, contracted_static_tensor< TensorsRHS... > rhs) |
template<typename... TensorsLHS, typename... TensorsRHS> | |
auto | operator+ (contracted_static_tensor< TensorsLHS... > lhs, contracted_static_tensor< TensorsRHS... > rhs) |
template<typename... ContractedTensorsLHS, typename... TensorsRHS, std::size_t... Seq> | |
auto | add (added_contracted_static_tensor< ContractedTensorsLHS... > lhs, contracted_static_tensor< TensorsRHS... > rhs, std::index_sequence< Seq... >) |
template<typename... TensorsLHS, typename... ContractedTensorsRHS, std::size_t... Seq> | |
auto | add (contracted_static_tensor< TensorsLHS... > lhs, added_contracted_static_tensor< ContractedTensorsRHS... > rhs, std::index_sequence< Seq... >) |
template<typename... ContractedTensorsLHS, typename... ContractedTensorsRHS, std::size_t... Seq0, std::size_t... Seq1> | |
auto | add (added_contracted_static_tensor< ContractedTensorsLHS... > lhs, added_contracted_static_tensor< ContractedTensorsRHS... > rhs, std::index_sequence< Seq0... >, std::index_sequence< Seq1... >) |
template<typename... ContractedTensorsLHS, typename... TensorsRHS> | |
auto | add (added_contracted_static_tensor< ContractedTensorsLHS... > lhs, contracted_static_tensor< TensorsRHS... > rhs) |
template<typename... TensorsLHS, typename... ContractedTensorsRHS> | |
auto | add (contracted_static_tensor< TensorsLHS... > lhs, added_contracted_static_tensor< ContractedTensorsRHS... > rhs) |
template<typename... ContractedTensorsLHS, typename... ContractedTensorsRHS> | |
auto | add (added_contracted_static_tensor< ContractedTensorsLHS... > lhs, added_contracted_static_tensor< ContractedTensorsRHS... > rhs) |
template<typename... ContractedTensorsLHS, typename... TensorsRHS> | |
auto | operator+ (added_contracted_static_tensor< ContractedTensorsLHS... > lhs, contracted_static_tensor< TensorsRHS... > rhs) |
template<typename... TensorsLHS, typename... ContractedTensorsRHS> | |
auto | operator+ (contracted_static_tensor< TensorsLHS... > lhs, added_contracted_static_tensor< ContractedTensorsRHS... > rhs) |
template<typename... ContractedTensorsLHS, typename... ContractedTensorsRHS> | |
auto | operator+ (added_contracted_static_tensor< ContractedTensorsLHS... > lhs, added_contracted_static_tensor< ContractedTensorsRHS... > rhs) |
Variables | |
static auto constexpr | i = index_t<0>{} |
static auto constexpr | j = index_t<1>{} |
static auto constexpr | k = index_t<2>{} |
static auto constexpr | l = index_t<3>{} |
static auto constexpr | m = index_t<4>{} |
static auto constexpr | n = index_t<5>{} |
static auto constexpr | o = index_t<6>{} |
static auto constexpr | p = index_t<7>{} |
static auto constexpr | q = index_t<8>{} |
static auto constexpr | r = index_t<9>{} |
static auto constexpr | s = index_t<10>{} |
static auto constexpr | t = index_t<11>{} |
static auto constexpr | u = index_t<12>{} |
static auto constexpr | v = index_t<13>{} |
static auto constexpr | w = index_t<14>{} |
template<typename... Ts> | |
static auto constexpr | is_index = (is_index_impl<Ts>::value && ...) |
using tatooine::einstein_notation::contracted_indices = typedef typename contracted_indices_aux< indexed_tensors_to_index_list<Indices...> >::type |
using tatooine::einstein_notation::free_indices = typedef typename free_indices_aux<indexed_tensors_to_index_list<Indices...> >::type |
using tatooine::einstein_notation::indexed_tensors_to_index_list = typedef typename indexed_tensors_to_index_list_impl<type_list<>, Ts...>::type |
auto tatooine::einstein_notation::add | ( | added_contracted_static_tensor< ContractedTensorsLHS... > | lhs, |
added_contracted_static_tensor< ContractedTensorsRHS... > | rhs | ||
) |
auto tatooine::einstein_notation::add | ( | added_contracted_static_tensor< ContractedTensorsLHS... > | lhs, |
added_contracted_static_tensor< ContractedTensorsRHS... > | rhs, | ||
std::index_sequence< Seq0... > | , | ||
std::index_sequence< Seq1... > | |||
) |
auto tatooine::einstein_notation::add | ( | added_contracted_static_tensor< ContractedTensorsLHS... > | lhs, |
contracted_static_tensor< TensorsRHS... > | rhs | ||
) |
auto tatooine::einstein_notation::add | ( | added_contracted_static_tensor< ContractedTensorsLHS... > | lhs, |
contracted_static_tensor< TensorsRHS... > | rhs, | ||
std::index_sequence< Seq... > | |||
) |
auto tatooine::einstein_notation::add | ( | contracted_static_tensor< TensorsLHS... > | lhs, |
added_contracted_static_tensor< ContractedTensorsRHS... > | rhs | ||
) |
auto tatooine::einstein_notation::add | ( | contracted_static_tensor< TensorsLHS... > | lhs, |
added_contracted_static_tensor< ContractedTensorsRHS... > | rhs, | ||
std::index_sequence< Seq... > | |||
) |
auto tatooine::einstein_notation::contract | ( | contracted_static_tensor< IndexedTensorLHS... > | lhs, |
indexed_static_tensor< TensorRHS, IndicesRHS... > | rhs | ||
) |
auto tatooine::einstein_notation::contract | ( | contracted_static_tensor< IndexedTensorLHS... > | lhs, |
indexed_static_tensor< TensorRHS, IndicesRHS... > | rhs, | ||
std::index_sequence< LHSSeq... > | |||
) |
|
constexpr |
auto tatooine::einstein_notation::contract | ( | indexed_static_tensor< TensorLHS, IndicesLHS... > | lhs, |
contracted_static_tensor< IndexedTensorRHS... > | rhs | ||
) |
auto tatooine::einstein_notation::contract | ( | indexed_static_tensor< TensorLHS, IndicesLHS... > | lhs, |
contracted_static_tensor< IndexedTensorRHS... > | rhs, | ||
std::index_sequence< RHSSeq... > | |||
) |
|
constexpr |
auto tatooine::einstein_notation::operator* | ( | contracted_static_tensor< IndexedTensorLHS... > | lhs, |
indexed_static_tensor< TensorRHS, IndicesRHS... > | rhs | ||
) |
auto tatooine::einstein_notation::operator* | ( | indexed_dynamic_tensor< TensorLHS, IndicesLHS... > | lhs, |
indexed_dynamic_tensor< TensorRHS, IndicesRHS... > | rhs | ||
) |
auto tatooine::einstein_notation::operator* | ( | indexed_static_tensor< TensorLHS, IndicesLHS... > | lhs, |
contracted_static_tensor< IndexedTensorRHS... > | rhs | ||
) |
auto tatooine::einstein_notation::operator* | ( | indexed_static_tensor< TensorLHS, IndicesLHS... > | lhs, |
indexed_static_tensor< TensorRHS, IndicesRHS... > | rhs | ||
) |
auto tatooine::einstein_notation::operator+ | ( | added_contracted_static_tensor< ContractedTensorsLHS... > | lhs, |
added_contracted_static_tensor< ContractedTensorsRHS... > | rhs | ||
) |
auto tatooine::einstein_notation::operator+ | ( | added_contracted_static_tensor< ContractedTensorsLHS... > | lhs, |
contracted_static_tensor< TensorsRHS... > | rhs | ||
) |
auto tatooine::einstein_notation::operator+ | ( | contracted_static_tensor< IndexedTensorLHS... > | lhs, |
indexed_static_tensor< TensorRHS, IndicesRHS... > | rhs | ||
) |
auto tatooine::einstein_notation::operator+ | ( | contracted_static_tensor< TensorsLHS... > | lhs, |
added_contracted_static_tensor< ContractedTensorsRHS... > | rhs | ||
) |
auto tatooine::einstein_notation::operator+ | ( | contracted_static_tensor< TensorsLHS... > | lhs, |
contracted_static_tensor< TensorsRHS... > | rhs | ||
) |
auto tatooine::einstein_notation::operator+ | ( | indexed_static_tensor< TensorLHS, IndicesLHS... > | lhs, |
contracted_static_tensor< TensorsRHS... > | rhs | ||
) |
auto tatooine::einstein_notation::operator+ | ( | indexed_static_tensor< TensorLHS, IndicesLHS... > | lhs, |
indexed_static_tensor< TensorRHS, IndicesRHS... > | rhs | ||
) |
|
inlinestaticconstexpr |
|
staticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |