public Tensor ScatterFill(Tensor result, float value, int dim, Tensor indices) { if (result == null) { throw new ArgumentNullException(nameof(result)); } if (dim < 0 && dim >= result.DimensionCount) { throw new ArgumentOutOfRangeException(nameof(dim)); } if (indices.DimensionCount != result.DimensionCount) { throw new InvalidOperationException("result and indices must have same number of dimensions"); } if (!TensorResultBuilder.ArrayEqualExcept(indices.Sizes, result.Sizes, dim)) { throw new InvalidOperationException("result and indices must be the same size except in dimension dim"); } Tensor writeTarget = result; TensorApplyCPU.ScatterFill(writeTarget, value, dim, indices); return(writeTarget); }