Fork me on GitHub

src/arraymancer/tensor/private/p_shapeshifting

  Source Edit

Procs

proc broadcast2Impl[T](a, b: AnyTensor[T]; result: var tuple[a, b: AnyTensor[T]]) {.
    noSideEffect.}
  Source Edit
proc broadcastImpl(t: var AnyTensor; shape: varargs[int] | Metadata) {.
    noSideEffect.}
  Source Edit
proc contiguousImpl[T](t: Tensor[T]; layout: OrderType; result: var Tensor[T])
  Source Edit
proc exch_dim[T](t: Tensor[T]; dim1, dim2: int): Tensor[T] {.noinit,
    noSideEffect.}
  Source Edit
proc permuteImpl[T](result: var Tensor[T]; dims: varargs[int]) {.noSideEffect.}
  Source Edit
proc reshape_no_copy(t: AnyTensor; new_shape: varargs[int] | Metadata;
                     result: var AnyTensor; layout: OrderType) {.noSideEffect.}
  Source Edit
proc reshape_with_copy[T](t: Tensor[T]; new_shape: varargs[int] | Metadata;
                          result: var Tensor[T])
  Source Edit
proc reshapeImpl(t: AnyTensor; new_shape: varargs[int] | Metadata;
                 result: var AnyTensor)
  Source Edit
proc squeezeImpl(t: var AnyTensor) {.noSideEffect.}
  Source Edit
proc squeezeImpl(t: var AnyTensor; axis: int) {.noSideEffect.}
  Source Edit
proc unsqueezeImpl(t: var AnyTensor; axis: int) {.noSideEffect.}
  Source Edit
Arraymancer Technical reference Tutorial Spellbook (How-To's) Under the hood