Optimize decoding of similarity values
Decoding of similarity values can be optimized in a similar way.
diff --git a/core/Lucy/Index/Similarity.c b/core/Lucy/Index/Similarity.c
index 27794ed..c6a18d4 100644
--- a/core/Lucy/Index/Similarity.c
+++ b/core/Lucy/Index/Similarity.c
@@ -194,9 +194,7 @@
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;