Releases: wrandelshofer/FastDoubleParser
Fix NPE in BigDecimalParser and improve Performance
Summary:
This release fixes a NullPointerException and provides new optimised versions of the Double, Float, BigDecimal and BigInteger parsers for Java 21, and 22.
Fixes:
This release includes the following fixes:
- Issue #78: Fixes a NullPointerException which can occur whan parsing a BigDecimal number with 400 digits or more.
Changes:
This release also includes the following changes:
- On Java 22 and higher: Use the Foreign Function & Memory API for reading multiple digits at once from char arrays.
- On Java 21: Use Long.compress() for parsing digits in char arrays.
- On Java 19 and Java 20: Drop the optimisations for these JVMs. Please upgrade to Java 21.
Includes required notice- and license-files in Jar files
Starting from this release we include the required notice- and license-files in the Jar files.
This way, you automatically fulfill all licensing requirement when using a Jar file from this project.
Reduces size of jar file and improves performance
This release reduces the size of the jar file and (very slightly) improves the performance of the parsers.
Fixes issue #26 "Parsing of hexadecimal floating point numbers"
Fixes issue #26 "Parsing of hexadecimal floating point numbers" and improves performance.
Improves worst-case performance
Improves worst-case performance of BigDecimal and BigInteger parsers by factor 10.
The BigInteger parser in class JavaBigIntegerParser is now compatible with the constructor new BigInteger(String val,int radix)
.
JavaBigIntegerParser throws now a NumberFormatException
JavaBigIntegerParser throws now a NumberFormatException instead of returning a bogus result, when the input string contains a sequence of more than thousand characters instead of digits.
Fixes Exception thrown on illegal BigInteger input string
JavaBigIntegerParser throws now a NumberFormatException instead of returning a bogus result, when the input string contains characters instead of digits.
Fixes Exception thrown on empty input string
Throws now a NumberFormatException instead of IllegalArgumentException when the input string is empty: "".
Fixes issue #26 "Parsing of hexadecimal floating point numbers"
This release fixes issue #26 "Parsing of hexadecimal floating point numbers".
BROKEN: Adds parsers for BigDecimal and BigInteger
This release adds parsers for BigDecimal and BigInteger.
The provided Jar file is a multi-release Jar that contains optimised code for Java 8, 11, 17 and 19.
BROKEN
- The parsing of hexadecimal floating point numbers is broken in this release. Do not use it!