diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2024-01-21 19:18:55 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2024-01-21 19:25:32 +0100 |
commit | 718b455587a6e093abfdbe5a45dc40221abc90eb (patch) | |
tree | 60d09423de6db9a07e0180b1abf01fdfa7500ba3 /vespajlib/src/main/java/com/yahoo/tensor/MappedTensor.java | |
parent | 8c80c15025e67cc8c31f390d4f6f800f7d3dc63a (diff) |
- Add and use getAsDouble method returning a Double object. It behaves similar to Map.get(key).
null indicates no value present. Then you avoid 2 lookups to first check if a value is present, and then to fetch that value.
This does wonders when it is backed by a map and hashCode/equals are relatively expensive.
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/tensor/MappedTensor.java')
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/tensor/MappedTensor.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/tensor/MappedTensor.java b/vespajlib/src/main/java/com/yahoo/tensor/MappedTensor.java index 5471ea65b97..3e0df5f2261 100644 --- a/vespajlib/src/main/java/com/yahoo/tensor/MappedTensor.java +++ b/vespajlib/src/main/java/com/yahoo/tensor/MappedTensor.java @@ -41,6 +41,9 @@ public class MappedTensor implements Tensor { public boolean has(TensorAddress address) { return cells.containsKey(address); } @Override + public Double getAsDouble(TensorAddress address) { return cells.get(address); } + + @Override public Iterator<Cell> cellIterator() { return new CellIteratorAdaptor(cells.entrySet().iterator()); } @Override |