diff options
Diffstat (limited to 'vespajlib/src/main/java')
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/tensor/MixedTensor.java | 6 | ||||
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/tensor/Tensor.java | 7 |
2 files changed, 9 insertions, 4 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/MixedTensor.java b/vespajlib/src/main/java/com/yahoo/tensor/MixedTensor.java index 67c6930ce35..2b393d8a637 100644 --- a/vespajlib/src/main/java/com/yahoo/tensor/MixedTensor.java +++ b/vespajlib/src/main/java/com/yahoo/tensor/MixedTensor.java @@ -253,8 +253,12 @@ public class MixedTensor implements Tensor { } public Tensor.Builder block(TensorAddress sparsePart, double[] values) { + int denseSubspaceSize = (int)denseSubspaceSize(); + if (values.length < denseSubspaceSize) + throw new IllegalArgumentException("Block should have " + denseSubspaceSize + + " values, but has only " + values.length); double[] denseSubspace = denseSubspace(sparsePart); - System.arraycopy(values, 0, denseSubspace, 0, (int)denseSubspaceSize()); + System.arraycopy(values, 0, denseSubspace, 0, denseSubspaceSize); return this; } diff --git a/vespajlib/src/main/java/com/yahoo/tensor/Tensor.java b/vespajlib/src/main/java/com/yahoo/tensor/Tensor.java index 08d4f1c08b7..71bdee36c27 100644 --- a/vespajlib/src/main/java/com/yahoo/tensor/Tensor.java +++ b/vespajlib/src/main/java/com/yahoo/tensor/Tensor.java @@ -516,9 +516,10 @@ public interface Tensor { default Builder cell(Cell cell, double value) { return cell(cell.getKey(), value); } - default Builder cell(Cell cell, float value) { - return cell(cell.getKey(), value); - } + default Builder cell(Cell cell, float value) { return cell(cell.getKey(), value); } + + /** Adds the given cell to this tensor */ + default Builder cell(Cell cell) { return cell(cell.getKey(), cell.getValue()); } Tensor build(); |