Skip to contents

Creates an array of a given shape and data type, filled with a scalar value. The advantage of using this function instead of e.g. doing nv_array(1, shape = c(100, 100)) is that lowering of prim_fill() is efficiently represented in the compiled program, while the latter uses 100 * 100 * 4 bytes of memory.

Usage

prim_fill(value, shape, dtype, ambiguous = FALSE, device = NULL)

Arguments

value

(numeric(1))
Scalar value to fill the array with.

shape

(integer())
Shape of the output array.

dtype

(character(1) | tengen::DataType)
Data type.

ambiguous

(logical(1))
Whether the type is ambiguous. Ambiguous types usually arise from R literals (e.g., 1L, 1.0) and follow special promotion rules. See the vignette("type-promotion") for more details.

device

( character(1) | PJRTDevice | quickr_device | NULL)
Device for data to live on.

Value

arrayish
Has the given shape and dtype.

Implemented Rules

  • stablehlo

  • quickr

StableHLO

Lowers to stablehlo::hlo_tensor().

See also

Examples

prim_fill(3.14, shape = c(2, 3), dtype = "f32")
#> AnvlArray
#>  3.1400 3.1400 3.1400
#>  3.1400 3.1400 3.1400
#> [ CPUf32{2,3} ]