summaryrefslogtreecommitdiffstats
path: root/vespajlib
diff options
context:
space:
mode:
authorLester Solbakken <lesters@yahoo-inc.com>2017-11-14 12:40:22 +0100
committerLester Solbakken <lesters@yahoo-inc.com>2017-11-14 12:40:22 +0100
commitfe52b637bde1e2e1b11b6158666f9002e1c3cd0a (patch)
treea1b42074993cdd48aa102dc01d02ef392cbd563f /vespajlib
parent58357a693f9ff78477e1d1a99ecbfad59a331420 (diff)
Fix 'Cannot combine two tensors using ldexp'
Also, make 'ldexp' in Java comparable to C++, as the library call in C++ does an implicit cast to int.
Diffstat (limited to 'vespajlib')
-rw-r--r--vespajlib/src/main/java/com/yahoo/tensor/Tensor.java1
1 files changed, 1 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 bdf976819bb..2ed211539d8 100644
--- a/vespajlib/src/main/java/com/yahoo/tensor/Tensor.java
+++ b/vespajlib/src/main/java/com/yahoo/tensor/Tensor.java
@@ -173,6 +173,7 @@ public interface Tensor {
default Tensor atan2(Tensor argument) { return join(argument, Math::atan2); }
default Tensor pow(Tensor argument) { return join(argument, Math::pow); }
default Tensor fmod(Tensor argument) { return join(argument, (a, b) -> ( a % b )); }
+ default Tensor ldexp(Tensor argument) { return join(argument, (a, b) -> ( a * Math.pow(2.0, (int)b) )); }
default Tensor larger(Tensor argument) { return join(argument, (a, b) -> ( a > b ? 1.0 : 0.0)); }
default Tensor largerOrEqual(Tensor argument) { return join(argument, (a, b) -> ( a >= b ? 1.0 : 0.0)); }
default Tensor smaller(Tensor argument) { return join(argument, (a, b) -> ( a < b ? 1.0 : 0.0)); }