diff options
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/tensor/Tensor.java')
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/tensor/Tensor.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/Tensor.java b/vespajlib/src/main/java/com/yahoo/tensor/Tensor.java index 89847228b31..41882738e89 100644 --- a/vespajlib/src/main/java/com/yahoo/tensor/Tensor.java +++ b/vespajlib/src/main/java/com/yahoo/tensor/Tensor.java @@ -8,7 +8,11 @@ import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; +import java.util.function.DoubleBinaryOperator; +import java.util.function.DoubleFunction; +import java.util.function.DoubleUnaryOperator; import java.util.function.UnaryOperator; /** @@ -44,7 +48,23 @@ public interface Tensor { /** Returns the value of a cell, or NaN if this cell does not exist/have no value */ double get(TensorAddress address); + + // ----------------- Level 0 functions + + default Tensor map(Tensor tensor, DoubleUnaryOperator mapper) { + throw new UnsupportedOperationException("Not implemented"); + } + + default Tensor reduce(Tensor tensor, String dimension, + DoubleBinaryOperator reductor, Optional<DoubleBinaryOperator> postTransformation) { + throw new UnsupportedOperationException("Not implemented"); + } + + default Tensor join(Tensor tensorA, Tensor tensorB, DoubleBinaryOperator combinator) { + throw new UnsupportedOperationException("Not implemented"); + } + // ----------------- Old stuff /** * Returns the <i>sparse tensor product</i> of this tensor and the argument tensor. * This is the all-to-all combinations of cells in the argument tenors, except the combinations |