diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-12-14 11:28:18 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-12-14 11:28:18 +0100 |
commit | b4e3917d746fcf4be76d353be7c3b4ae9b229973 (patch) | |
tree | 9bbc8f32467adbc022ff1464e0e3514076c79a36 /container-search/src/main/java/com/yahoo/prelude/fastsearch/Float16Field.java | |
parent | 7b8bb9e7e84c43240457e24bd846291c24221747 (diff) |
Support for configuring and feeding float16 and bool field types
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude/fastsearch/Float16Field.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/prelude/fastsearch/Float16Field.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/Float16Field.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/Float16Field.java new file mode 100644 index 00000000000..f00d6b19d67 --- /dev/null +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/Float16Field.java @@ -0,0 +1,33 @@ +// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.prelude.fastsearch; + +import com.yahoo.data.access.Inspector; +import com.yahoo.search.result.NanNumber; + +/** + * A 16-bit float, represented as a (32-bit) Float in Java, as there is no 16-bit float support. + * + * @author bratseth + */ +public class Float16Field extends DocsumField { + + static final double EMPTY_VALUE = Float.NaN; + + public Float16Field(String name) { + super(name); + } + + private Object convert(float value) { + if (Float.isNaN(value)) { + return NanNumber.NaN; + } else { + return Float.valueOf(value); + } + } + + @Override + public Object convert(Inspector value) { + return convert((float)value.asDouble(EMPTY_VALUE)); + } + +} |