All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
NewType
gives access to all types this library can handle.ToComparable
andFromComparable
- You can compare such values without decoding.
- You can find the difference relying on unsigned integer overflow.
- Integer overflow protection in
UseIntegerDelta
.
- It is faster than v1.9.0.
- The source code is shorter, clearer and commented in detail.
- Methods
Abs(x)
,MinValue()
,MaxValue()
.
- It is 28% faster.
- Support for 2-bit exponent.
- All preconfigured methods.
- Tests now work through the new API.
- Single-module package.
- Fully customizable object-oriented API.
- All preconfigured methods.
Default
,14
andm11x3
types.
- Type
defaultD
is now12
. - Type
unsigned
renamed to12u
. - Type
14d
renamed to14
. - Type
m11x3d
renamed to15x3
.
EncodeDelta[TypeName]
renamed toGetIntegerDelta[TypeName]
.DecodeDelta[TypeName]
renamed toUseIntegerDelta[TypeName]
.
- Even though everything works fine, I've added an explicit limit on the maximum value of the mantissa to ensure that it never gets rounded incorrectly.
Default
,14
andm11x3
types.
- New types
defaultD
,14d
,m11x3d
with different bits ordering suitable for delta encoding. - Functions
EncodeDelta[TypeName]
,DecodeDelta[TypeName]
.
- Accuracy has increased. The mantissa
–
binarySignificand
variable – is now rounded to the nearest integer (git:18cfb1a9). - Function
getExponent
has been changed to match the rounding change (git:28458380).
- 15-bit type with 3-bit exponent (
m11x3
).