Skip to main content
Log in

Mojo function

pad_constant

pad_constant[rank: Int, type: DType, padding_type: DType](output: UnsafePointer[SIMD[type, 1]], output_shape: Index[rank], input: UnsafePointer[SIMD[type, 1]], input_shape: Index[rank], paddings: UnsafePointer[SIMD[padding_type, 1]], constant: SIMD[type, 1], ctx: DeviceContext)

Fill output with values from input, and edges padded with constant based on paddings.

Example:

var input_shape = (X, Y, Z)
var paddings = [x0, x1, y0, y1, z0, z1]

out[x, y, z] =
input[x - x0, y - y0, z - z0] if x ∈ [x0, x0 + X] &&
y ∈ [y0, y0 + Y] &&
z ∈ [z0, z0 + Z]
else constant
var input_shape = (X, Y, Z)
var paddings = [x0, x1, y0, y1, z0, z1]

out[x, y, z] =
input[x - x0, y - y0, z - z0] if x ∈ [x0, x0 + X] &&
y ∈ [y0, y0 + Y] &&
z ∈ [z0, z0 + Z]
else constant

Args:

  • output (UnsafePointer[SIMD[type, 1]]): The output buffer.
  • output_shape (Index[rank]): The output shape.
  • input (UnsafePointer[SIMD[type, 1]]): The input buffer.
  • input_shape (Index[rank]): The input shape.
  • paddings (UnsafePointer[SIMD[padding_type, 1]]): Ordered (before, after) padding sizes for each axis.
  • constant (SIMD[type, 1]): The constant to pad output with.
  • ctx (DeviceContext): Device context for participating GPU.

Was this page helpful?