summaryrefslogtreecommitdiffstats
path: root/vsm
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahoo-inc.com>2017-02-22 15:54:03 +0100
committerArne H Juul <arnej@yahoo-inc.com>2017-02-23 08:30:25 +0100
commit1b993e76eb29fb3b7021e142341b37d22199ecdc (patch)
treea35d6edadcb1e37ceeea649e87cdb35225e44994 /vsm
parentc77914aa8c5d82ec5f66f7020dbc40bc5c8e72c0 (diff)
fix precision loss
* code inherited from jsondocsumwriter would use "float" for handling doubles, losing some precision. Handle doubles separately.
Diffstat (limited to 'vsm')
-rw-r--r--vsm/src/vespa/vsm/vsm/slimefieldwriter.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/vsm/src/vespa/vsm/vsm/slimefieldwriter.cpp b/vsm/src/vespa/vsm/vsm/slimefieldwriter.cpp
index 2d53e4d3fa4..eb860315bf1 100644
--- a/vsm/src/vespa/vsm/vsm/slimefieldwriter.cpp
+++ b/vsm/src/vespa/vsm/vsm/slimefieldwriter.cpp
@@ -112,8 +112,10 @@ SlimeFieldWriter::traverseRecursive(const document::FieldValue & fv,
case document::DataType::T_LONG:
inserter.insertLong(fv.getAsLong());
break;
- case document::DataType::T_FLOAT:
case document::DataType::T_DOUBLE:
+ inserter.insertDouble(fv.getAsDouble());
+ break;
+ case document::DataType::T_FLOAT:
inserter.insertDouble(fv.getAsFloat());
break;
default: