collapse method

Layout collapse({
  1. int axis = 0,
})

Returns a layout with a single-element axis removed.

Implementation

Layout collapse({int axis = 0}) {
  final axis_ = checkIndex(axis, rank, 'axis');
  LayoutError.checkSingular(this, axis_, 'axis');
  final shape_ = [...shape.take(axis_), ...shape.skip(axis_ + 1)];
  final strides_ = [...strides.take(axis_), ...strides.skip(axis_ + 1)];
  return Layout.internal(
    rank: rank - 1,
    length: length,
    offset: offset,
    shape: utils.toIndices(shape_),
    strides: utils.toIndices(strides_),
    isContiguous: isContiguous,
  );
}