100 for(
Index i = 0; i + 1 < block_dims.
size(); i++) {
101 i_start[i + 1] = i_start[i] + block_dims[i];
bool has_fixed_points() const
Checks whether any indices remain unchanged by permutation.
void from_json(ClexDescription &desc, const jsonParser &json)
jsonParser & to_json(const ClexDescription &desc, jsonParser &json)
const Array< Index > & perm_array() const
ReturnArray< T > operator*(const Array< T > &before_array) const
ReturnArray< T > permute(const Array< T > &before_array) const
Generate permuted copy of type-T Array.
void from_json(const jsonParser &json)
Array< Index > m_perm_array
void append_fixed_points(Index N_new)
Add new indices that remain unchanged by permutation.
std::ostream & operator<<(std::ostream &_stream, const FormattedPrintable &_formatted)
EigenIndex Index
For long integer indexing:
Permutation inverse() const
Construct permutation that undoes the permutation performed by 'this'.
bool is_perm() const
Checks that m_perm_array contains values from 0 to m_perm_array.size()-1 and that no value is repeate...
jsonParser & to_json(jsonParser &json) const
Index find(const T &test_elem) const
Array & append(const Array &new_tail)
void reserve(Index new_max)
Permutation transformed_by(const Permutation &trans_perm) const
Permutation make_block_permutation(const Array< Index > &block_dims) const
Basic std::vector like container (deprecated)
bool valid_index(Index i)