def filled_length

bendtorch-core@0.1.0.0 · src/tensor/from_values_contract.bend:320

import bendtorch-core@0.1.0.0/src/tensor/from_values_contract.bend as FromValuesContract
import Base
import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape
import bendtorch-core@0.1.0.0/src/storage/LAWS.bend as StorageLaws
import bendtorch-core@0.1.0.0/src/tensor/lifecycle.bend as Lifecycle
import bendtorch-core@0.1.0.0/src/tensor/word_conversion.bend as Conversion
import bendtorch-core@0.1.0.0/src/tensor/read_contract.bend as Reads

320def filled_length(+shape: Shape.Shape, +values: List<&2, F32>) ->
321  {Lifecycle.logical_length(StorageLaws.replay(writes(values, 0n), base(shape, Nil{}))) == Shape.logical_numel(Shape.dimensions(shape)) : Nat}:
322  Equal.trans(Nat, Lifecycle.logical_length(StorageLaws.replay(writes(values, 0n), base(shape, Nil{}))),
323    StorageLaws.size(StorageLaws.replay(writes(values, 0n), base(shape, Nil{}))), Shape.logical_numel(Shape.dimensions(shape)),
324    Equal.sym(Nat, StorageLaws.size(StorageLaws.replay(writes(values, 0n), base(shape, Nil{}))),
325      Lifecycle.logical_length(StorageLaws.replay(writes(values, 0n), base(shape, Nil{}))),
326      Reads.size_is_length(StorageLaws.replay(writes(values, 0n), base(shape, Nil{})))),
327    Equal.trans(Nat, StorageLaws.size(StorageLaws.replay(writes(values, 0n), base(shape, Nil{}))),
328      U32.to_nat(Shape.count(shape)), Shape.logical_numel(Shape.dimensions(shape)),
329      StorageLaws.replay_size(Shape.count(shape), 0.0, writes(values, 0n), Conversion.shape_count_within(shape)),
330      Reads.count_exact(shape)))

Uses (19)

Used by (1)