-
#include "tensorstore/index_space/index_transform.h" -
template <DimensionIndex RankA,
ContainerKind CKindA,
DimensionIndex RankB,
ContainerKind CKindB,
DimensionIndex RankC>
Result<IndexTransform<RankA, RankC>> tensorstore::ComposeTransforms(
const IndexTransform<RankB, RankC, CKindA>& b_to_c,
const IndexTransform<RankA, RankB, CKindB>& a_to_b); Composes two index transforms.
- Parameters:¶
- const IndexTransform<RankB, RankC, CKindA> &b_to_c¶
Index transform from index space “b” to index space “c”.
- const IndexTransform<RankA, RankB, CKindB> &a_to_b¶
Index transform from index space “a” to index space “b”.
- Pre:¶
- Returns:¶
The composed transform with
input_rankequal toa_to_b.input_rank()andoutput_rankequal tob_to_c.output_rank().- Error absl::StatusCode::kInvalidArgument:¶
- Error absl::StatusCode::kOutOfRange:¶
if the range of
a_to_bis incompatible with the domain ofb_to_c.- Error absl::StatusCode::kInvalidArgument:¶
if integer overflow occurs computing the composed transform.