| 109 | } |
| 110 | |
| 111 | bool IsPermutation(absl::Span<const int64> permutation, int64 rank) { |
| 112 | if (rank != permutation.size()) { |
| 113 | return false; |
| 114 | } |
| 115 | absl::InlinedVector<int64, 8> trivial_permutation(rank); |
| 116 | absl::c_iota(trivial_permutation, 0); |
| 117 | return absl::c_is_permutation(permutation, trivial_permutation); |
| 118 | } |
| 119 | |
| 120 | std::vector<int64> InversePermutation( |
| 121 | absl::Span<const int64> input_permutation) { |
no test coverage detected