diff options
author | Arne Juul <arnej@vespa.ai> | 2023-12-14 08:26:50 +0000 |
---|---|---|
committer | Arne Juul <arnej@vespa.ai> | 2023-12-14 08:26:50 +0000 |
commit | 990aab34103e545f17f3e05b02a6b2f7bcdca05c (patch) | |
tree | ebde890e7fd9f58a129cafc36a2fa75846fd55e7 /document | |
parent | 1ad5ec5fa814a92fdbf98db14121197023f434f0 (diff) |
Reapply "add parsing of special strings for inf/nan cell values"
This reverts commit d976f82207c09b3215661e1d034ae9a42f28a63d.
Diffstat (limited to 'document')
-rw-r--r-- | document/src/main/java/com/yahoo/document/json/readers/TensorReader.java | 4 | ||||
-rw-r--r-- | document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/document/src/main/java/com/yahoo/document/json/readers/TensorReader.java b/document/src/main/java/com/yahoo/document/json/readers/TensorReader.java index e487fd2ec57..0b7b1ae9996 100644 --- a/document/src/main/java/com/yahoo/document/json/readers/TensorReader.java +++ b/document/src/main/java/com/yahoo/document/json/readers/TensorReader.java @@ -14,6 +14,7 @@ import com.yahoo.tensor.TensorType; import static com.yahoo.document.json.readers.JsonParserHelpers.*; import static com.yahoo.tensor.serialization.JsonFormat.decodeHexString; +import static com.yahoo.tensor.serialization.JsonFormat.decodeNumberString; /** * Reads the tensor format defined at @@ -243,6 +244,9 @@ public class TensorReader { private static double readDouble(TokenBuffer buffer) { try { + if (buffer.current() == JsonToken.VALUE_STRING) { + return decodeNumberString(buffer.currentText()); + } return Double.parseDouble(buffer.currentText()); } catch (NumberFormatException e) { diff --git a/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java b/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java index 28e5293e96b..8a45fe95fa2 100644 --- a/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java +++ b/document/src/test/java/com/yahoo/document/json/JsonReaderTestCase.java @@ -1462,14 +1462,14 @@ public class JsonReaderTestCase { builder.cell().label("x", 0).label("y", 0).value(2.0); builder.cell().label("x", 0).label("y", 1).value(3.0); builder.cell().label("x", 0).label("y", 2).value(4.0); - builder.cell().label("x", 1).label("y", 0).value(5.0); + builder.cell().label("x", 1).label("y", 0).value(Double.POSITIVE_INFINITY); builder.cell().label("x", 1).label("y", 1).value(6.0); builder.cell().label("x", 1).label("y", 2).value(7.0); Tensor expected = builder.build(); Tensor tensor = assertTensorField(expected, createPutWithTensor(inputJson("{", - " 'values': [2.0, 3.0, 4.0, 5.0, 6.0, 7.0]", + " 'values': [2.0, 3.0, 4.0, 'inf', 6.0, 7.0]", "}"), "dense_tensor"), "dense_tensor"); assertTrue(tensor instanceof IndexedTensor); // this matters for performance } |