Multiplies two arrays element-wise. You can also use the * operator.
Arguments
- lhs, rhs
(
arrayish)
Two inputs with a common data type. Can be any data type. Scalars are broadcast. An R value takes the other operand's data type when that is in its own or a higher category. Otherwise it settles on its default data type, and the operands meet at their common data type.- e1, e2
(
arrayish)
The operands of the operator, which it passes on aslhsandrhs.
Value
(arrayish)
Has the inputs' broadcast shape and common data type.
See also
prim_mul() for the underlying primitive.
Examples
x <- nv_array(c(1, 2, 3))
y <- nv_array(c(4, 5, 6))
nv_mul(x, y)
#> AnvlArray
#> 4
#> 10
#> 18
#> [ CPUf32{3} ]
x * y
#> AnvlArray
#> 4
#> 10
#> 18
#> [ CPUf32{3} ]
# different data types are promoted to their common one
nv_mul(nv_scalar(2, "f32"), nv_scalar(3, "f64"))
#> AnvlArray
#> 6
#> [ CPUf64{} ]
# a scalar is broadcast and an R integer is converted to a float
x * 2L
#> AnvlArray
#> 2
#> 4
#> 6
#> [ CPUf32{3} ]