def full(shape, value, dtype=None): """Creates a hail :class:`.NDArrayNumericExpression` full of the specified value. Examples -------- Create a 5 by 7 NDArray of type :py:data:`.tfloat64` 9s. >>> hl.nd.full((5, 7), 9) It is possible to specify a type other than :py:data:`.tfloat64` with the `dtype` argument. >>> hl.nd.full((5, 7), 9, dtype=hl.tint32) Parameters ---------- shape : `tuple` or :class:`.TupleExpression` Desired shape. value : :class:`.Expression` or python value Value to fill ndarray with. dtype : :class:`.HailType` Desired hail type. Returns ------- :class:`.NDArrayNumericExpression` An ndarray of the specified shape filled with the specified value. """ if isinstance(shape, Int64Expression): shape_product = shape else: shape_product = reduce(lambda a, b: a * b, shape) return arange(hl.int32(shape_product)).map( lambda x: cast_expr(value, dtype)).reshape(shape)
def full(shape, value, dtype=None): if isinstance(shape, Int64Expression): shape_product = shape else: shape_product = reduce(lambda a, b: a * b, shape) return arange(hl.int32(shape_product)).map( lambda x: cast_expr(value, dtype)).reshape(shape)