OpenKalman
Namespaces | Functions
split.hpp File Reference

Functions that split objects into smaller parts. 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 index, typename Arg , typename... Ds>
constexpr void OpenKalman::detail::check_split_vector_space_descriptor (Arg &&arg, Ds &&...ds)
 
template<std::size_t index>
constexpr auto OpenKalman::detail::split_dummy (std::size_t x)
 
template<std::size_t... indices, typename Arg , typename Blocks_tup >
auto OpenKalman::detail::split_symmetric (Arg &&arg, std::size_t begin, Blocks_tup &&blocks_tup)
 
template<std::size_t... indices, typename Arg , typename Blocks_tup , typename D , typename... Ds>
auto OpenKalman::detail::split_symmetric (Arg &&arg, std::size_t begin, Blocks_tup &&blocks_tup, D &&d, Ds &&...ds)
 
template<std::size_t... indices, typename Arg , typename... Ds, std::enable_if_t< indexible< Arg > and(coordinates::pattern< Ds > and ...) and(sizeof...(indices) > 0>
auto OpenKalman::split (Arg &&arg, Ds &&...ds)
 Split a matrix or tensor into sub-parts, where the split is the same for every index. More...
 
template<std::size_t index, std::size_t index_ix, typename Arg , typename... Ds_tups>
constexpr void OpenKalman::detail::check_split_vector_space_descriptor_tup_impl (Arg &&arg, Ds_tups &&...ds_tups)
 
template<std::size_t... indices, typename Arg , typename... Ds_tups, std::size_t... indices_ix>
constexpr void OpenKalman::detail::check_split_vector_space_descriptor_tup (Arg &&arg, std::index_sequence< indices_ix... >, Ds_tups &&...ds_tups)
 
template<std::size_t... indices, typename Arg , typename Begin_tup , typename Blocks_tup , std::size_t... indices_ix>
auto OpenKalman::detail::split_impl (Arg &&arg, Begin_tup begin_tup, Blocks_tup &&blocks_tup, std::index_sequence< indices_ix... >)
 
template<std::size_t... indices, typename Arg , typename Begin_tup , typename Blocks_tup , std::size_t... indices_ix, typename Ds_tup , typename... Ds_tups>
auto OpenKalman::detail::split_impl (Arg &&arg, Begin_tup begin_tup, Blocks_tup &&blocks_tup, std::index_sequence< indices_ix... > seq, Ds_tup &&ds_tup, Ds_tups &&...ds_tups)
 
template<std::size_t... indices, typename Arg , typename... Ds_tups, std::enable_if_t< indexible< Arg > and(sizeof...(indices) > 0>
auto OpenKalman::split (Arg &&arg, const Ds_tups &...ds_tups)
 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

Functions that split objects into smaller parts.