summaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/tensor/IndexedFloatTensor.java
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-06-01 15:53:41 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2019-06-01 15:53:41 +0200
commit443437a83cd1c3b4d55c732e8756d5c0b1595902 (patch)
treef8883230319e09c561059c89010e5d4f25a19063 /vespajlib/src/main/java/com/yahoo/tensor/IndexedFloatTensor.java
parent9538c19b84ffcea70e7254855bd05ada1402a56f (diff)
Allow passing your own vector without copy to the IndexedTensor.
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/tensor/IndexedFloatTensor.java')
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/IndexedFloatTensor.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/IndexedFloatTensor.java b/vespajlib/src/main/java/com/yahoo/tensor/IndexedFloatTensor.java
index 8f8c24c8421..56cb22da7a5 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/IndexedFloatTensor.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/IndexedFloatTensor.java
@@ -43,8 +43,15 @@ class IndexedFloatTensor extends IndexedTensor {
private float[] values;
BoundFloatBuilder(TensorType type, DimensionSizes sizes) {
+ this(type, sizes, new float[(int)sizes.totalSize()]);
+ }
+ BoundFloatBuilder(TensorType type, DimensionSizes sizes, float [] values) {
super(type, sizes);
- values = new float[(int)sizes.totalSize()];
+ if (sizes.totalSize() != values.length) {
+ throw new IllegalArgumentException("Invalid size(" + values.length + ") of supplied value vector." +
+ " Type specifies that size should be " + sizes.totalSize());
+ }
+ this.values = values;
}
@Override