Optimize decoding of similarity values Decoding of similarity values can be optimized in a similar way.
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/d4a1d737 Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/d4a1d737 Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/d4a1d737 Branch: refs/heads/master Commit: d4a1d737cce3cc356465c8a7b0f786843b8324b7 Parents: 3932c54 Author: Nick Wellnhofer <[email protected]> Authored: Sun Oct 19 18:03:50 2014 +0200 Committer: Nick Wellnhofer <[email protected]> Committed: Sun Oct 19 18:19:39 2014 +0200 ---------------------------------------------------------------------- core/Lucy/Index/Similarity.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucy/blob/d4a1d737/core/Lucy/Index/Similarity.c ---------------------------------------------------------------------- diff --git a/core/Lucy/Index/Similarity.c b/core/Lucy/Index/Similarity.c index cceffa8..8696a79 100644 --- a/core/Lucy/Index/Similarity.c +++ b/core/Lucy/Index/Similarity.c @@ -193,9 +193,7 @@ Sim_Decode_Norm_IMP(Similarity *self, uint32_t input) { result = 0; } else { - const uint32_t mantissa = byte & 7; - const uint32_t exponent = (byte >> 3) & 31; - result = ((exponent + (63 - 15)) << 24) | (mantissa << 21); + result = (input + EXP_OFFSET) << 21; } return *(float*)&result;
