From 717c9f88dc3d51c731c5faa95f02b406b4e4ae8d Mon Sep 17 00:00:00 2001 From: Zeroday BYTE Date: Wed, 11 Jun 2025 03:24:49 +0700 Subject: [PATCH] Update FloatToDecimal.java --- .../fasterxml/jackson/core/io/schubfach/FloatToDecimal.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/fasterxml/jackson/core/io/schubfach/FloatToDecimal.java b/src/main/java/com/fasterxml/jackson/core/io/schubfach/FloatToDecimal.java index ba71387a72..e6257b08aa 100644 --- a/src/main/java/com/fasterxml/jackson/core/io/schubfach/FloatToDecimal.java +++ b/src/main/java/com/fasterxml/jackson/core/io/schubfach/FloatToDecimal.java @@ -405,14 +405,14 @@ private static int rop(long g, long cp) { /* Formats the decimal f 10^e. */ - private int toChars(int f, int e) { + private int toChars(long f, int e) { /* For details not discussed here see section 10 of [1]. Determine len such that 10^(len-1) <= f < 10^len */ - int len = flog10pow2(Integer.SIZE - numberOfLeadingZeros(f)); + int len = flog10pow2(Long.SIZE - numberOfLeadingZeros(f)); if (f >= pow10(len)) { len += 1; } @@ -437,7 +437,7 @@ private int toChars(int f, int e) { floor(f / 10^8) = floor(1_441_151_881 f / 2^57) */ int h = (int) (f * 1_441_151_881L >>> 57); - int l = f - 100_000_000 * h; + int l = (int) (f - 100_000_000L * h); if (0 < e && e <= 7) { return toChars1(h, l, e);