From e3bb73e8be1a4704f23433b140d2b9380e2573c1 Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Tue, 17 Jan 2017 14:02:54 +0100 Subject: Allow missing values Fill missing values with 0 when building dense tensors. --- vespajlib/src/main/java/com/yahoo/tensor/IndexedTensor.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'vespajlib/src/main/java/com/yahoo/tensor') 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) 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() { -- cgit v1.2.3