OpenKalman
Namespaces | Functions
chipwise_operation.hpp File Reference

Chipwise n-ary operations. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 OpenKalman
 The root namespace for OpenKalman.
 
 OpenKalman::detail
 T is an acceptable noise perturbation input to a tests.
 

Functions

template<std::size_t ix, typename Best_d >
const Best_d & OpenKalman::detail::chipwise_vector_space_descriptor_for (const Best_d &best_d)
 
template<std::size_t ix, typename Best_d , typename Arg , typename... Args>
decltype(auto) OpenKalman::detail::chipwise_vector_space_descriptor_for (const Best_d &best_d, const Arg &arg, const Args &...args)
 
template<std::size_t... ix, typename Arg , typename... Args>
auto OpenKalman::detail::make_chipwise_default (std::index_sequence< ix... >, const Arg &arg, const Args &...args)
 
template<bool uses_indices, std::size_t... indices, std::size_t... indices_ix, typename Ix_tup , typename M , typename Op , typename... Args>
constexpr void OpenKalman::detail::chipwise_op_chip (std::index_sequence< indices... >, std::index_sequence< indices_ix... >, const Ix_tup &ix_tup, M &m, const Op &op, Args &&...args)
 
template<bool uses_indices, typename Indices , typename Ix_tup , typename M , typename Op , typename... Args>
constexpr void OpenKalman::detail::chipwise_op (Indices indices, const Ix_tup &ix_tup, M &m, const Op &op, Args &&...args)
 
template<bool uses_indices, std::size_t index, std::size_t... indices, typename Indices_seq , typename Ix_tup , typename M , typename Op , typename... Args>
constexpr void OpenKalman::detail::chipwise_op (Indices_seq indices_seq, const Ix_tup &ix_tup, M &m, const Op &op, Args &&...args)
 
template<std::size_t... indices, typename Operation , typename... Args, std::enable_if_t<(indexible< Args > and ...) and(sizeof...(Args) > 0>
constexpr auto OpenKalman::chipwise_operation (const Operation &operation, Args &&...args)
 Perform a chipwise n-ary operation (n>0) on one or more indexible objects. More...
 
template<std::size_t op_ix, typename OpResult >
auto OpenKalman::detail::nullary_chipwise_vector_space_descriptor (const OpResult &op_result)
 
template<std::size_t op_ix, std::size_t index, std::size_t... indices, typename OpResult , typename I , typename... Is>
auto OpenKalman::detail::nullary_chipwise_vector_space_descriptor (const OpResult &op_result, I i, Is...is)
 
template<std::size_t... indices, std::size_t... op_ix, typename OpResult , typename... Is>
auto OpenKalman::detail::make_nullary_chipwise_default (std::index_sequence< op_ix... >, const OpResult &op_result, Is...is)
 
template<bool uses_indices, std::size_t... indices, std::size_t... index_ixs, typename Ix_tup , typename M , typename Op , typename... Args>
constexpr void OpenKalman::detail::nullary_chipwise_op_chip (std::index_sequence< indices... >, std::index_sequence< index_ixs... >, const Ix_tup &ix_tup, M &m, const Op &op)
 
template<bool uses_indices, bool first, typename All_index_seq , typename Ix_tup , typename M , typename Op >
constexpr void OpenKalman::detail::nullary_chipwise_op (All_index_seq all_index_seq, const Ix_tup &ix_tup, M &m, const Op &op)
 
template<bool uses_indices, bool first, std::size_t index, std::size_t... indices, typename All_index_seq , typename Ix_tup , typename M , typename Op , typename I , typename... Is>
constexpr void OpenKalman::detail::nullary_chipwise_op (All_index_seq all_index_seq, const Ix_tup &ix_tup, M &m, const Op &op, I i, Is...is)
 
template<std::size_t... indices, typename Operation , typename... Is, std::enable_if_t<(values::index< Is > and ...) and(sizeof...(Is)==sizeof...(indices)), int > = 0>
constexpr auto OpenKalman::chipwise_operation (const Operation &operation, Is...is)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 

Detailed Description

Chipwise n-ary operations.