summaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/tensor
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2017-01-17 14:02:54 +0100
committerJon Bratseth <bratseth@yahoo-inc.com>2017-01-17 14:02:54 +0100
commite3bb73e8be1a4704f23433b140d2b9380e2573c1 (patch)
tree71a24e9fae17848bfebc4f22165be900dfee912d /vespajlib/src/main/java/com/yahoo/tensor
parent7d2fef1de33e24345b49ce5fb2e46cb1627923dc (diff)
Allow missing values
Fill missing values with 0 when building dense tensors.
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/tensor')
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/IndexedTensor.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/IndexedTensor.java b/vespajlib/src/main/java/com/yahoo/tensor/IndexedTensor.java
index bee93ddb4e0..a66caa8dd35 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/IndexedTensor.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/IndexedTensor.java
@@ -355,10 +355,16 @@ public class IndexedTensor implements Tensor {
offset + productOfDimensionsAfter(currentDimensionIndex, sizes) * i,
(List<Object>) currentDimension.get(i), sizes, values);
} else { // last dimension - fill values
- for (int i = 0; i < currentDimension.size(); i++)
- values[offset + i] = (double) currentDimension.get(i);
+ for (int i = 0; i < currentDimension.size(); i++) {
+ values[offset + i] = nullAsZero((Double)currentDimension.get(i)); // fill missing values as zero
+ }
}
}
+
+ private double nullAsZero(Double value) {
+ if (value == null) return 0;
+ return value;
+ }
@Override
public CellBuilder cell() {