diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-06-01 15:53:41 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-06-01 15:53:41 +0200 |
commit | 443437a83cd1c3b4d55c732e8756d5c0b1595902 (patch) | |
tree | f8883230319e09c561059c89010e5d4f25a19063 /vespajlib/src/main/java/com/yahoo/tensor/IndexedFloatTensor.java | |
parent | 9538c19b84ffcea70e7254855bd05ada1402a56f (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.java | 9 |
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 |