aboutsummaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/tensor/functions/Reduce.java
diff options
context:
space:
mode:
authorLester Solbakken <lesters@oath.com>2021-04-28 12:02:12 +0200
committerLester Solbakken <lesters@oath.com>2021-04-28 12:02:12 +0200
commitb5c513e94d636fdd0943127dd84b086de37f375d (patch)
tree24756117fa84e47b9d388dd52ee6668523460892 /vespajlib/src/main/java/com/yahoo/tensor/functions/Reduce.java
parent4fbd27dddde4aff5de1be48f79057b6357bed123 (diff)
Don't expose initial aggregator values when reducing empty tensors
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/tensor/functions/Reduce.java')
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/functions/Reduce.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/functions/Reduce.java b/vespajlib/src/main/java/com/yahoo/tensor/functions/Reduce.java
index 86f23487efb..879daefaf72 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/functions/Reduce.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/functions/Reduce.java
@@ -114,7 +114,9 @@ public class Reduce<NAMETYPE extends Name> extends PrimitiveTensorFunction<NAMET
// Special case: Reduce all
if (dimensions.isEmpty() || dimensions.size() == argument.type().dimensions().size())
- if (argument.type().dimensions().size() == 1 && argument instanceof IndexedTensor)
+ if (argument.isEmpty())
+ return Tensor.from(0.0);
+ else if (argument.type().dimensions().size() == 1 && argument instanceof IndexedTensor)
return reduceIndexedVector((IndexedTensor)argument, aggregator);
else
return reduceAllGeneral(argument, aggregator);