Commit b3fc6e8f5 for imagemagick.org
commit b3fc6e8f5975c232ffe07930cab9d0c8b8d60598
Author: Cristy <urban-warrior@imagemagick.org>
Date: Sat Nov 7 09:31:20 2026 -0500
https://github.com/ImageMagick/ImageMagick/pull/9101
diff --git a/MagickCore/quantum-private.h b/MagickCore/quantum-private.h
index d1397cb07..c4ea9fc5e 100644
--- a/MagickCore/quantum-private.h
+++ b/MagickCore/quantum-private.h
@@ -346,17 +346,20 @@ static inline Quantum ScaleAnyToQuantum(const QuantumAny quantum,
static inline QuantumAny ScaleQuantumToAny(const Quantum quantum,
const QuantumAny range)
{
-#if !defined(MAGICKCORE_HDRI_SUPPORT)
- if (((double) range*quantum/QuantumRange) >= 18446744073709551615.0)
- return((QuantumAny) MagickULLConstant(18446744073709551615));
- return((QuantumAny) ((double) range*quantum/QuantumRange));
-#else
+ double
+ value;
+
+#if defined(MAGICKCORE_HDRI_SUPPORT)
if ((IsNaN(quantum) != 0) || (quantum <= 0.0f))
return((QuantumAny) 0UL);
- if (((double) range*(double) quantum/(double) QuantumRange) >= 18446744073709551615.0)
+#endif
+ value=(double) range*(double) quantum/(double) QuantumRange;
+ if (value >= 0x1p64)
return((QuantumAny) MagickULLConstant(18446744073709551615));
- return((QuantumAny) ((double) range*(double) quantum/(double) QuantumRange+0.5));
+#if defined(MAGICKCORE_HDRI_SUPPORT)
+ value+=0.5;
#endif
+ return((QuantumAny) value);
}
#if (MAGICKCORE_QUANTUM_DEPTH == 8)