#if !defined(MAGICKCORE_HDRI_SUPPORT)
return((Quantum) (((MagickRealType) QuantumRange*quantum)/range+0.5));
#else
- return((Quantum) (((MagickRealType) QuantumRange*quantum)/range+0.0));
+ return((Quantum) (((MagickRealType) QuantumRange*quantum)/range+0.5));
#endif
}
#if !defined(MAGICKCORE_HDRI_SUPPORT)
return((QuantumAny) (((MagickRealType) range*quantum)/QuantumRange+0.5));
#else
- return((QuantumAny) (((MagickRealType) range*quantum)/QuantumRange+0.0));
+ return((QuantumAny) (((MagickRealType) range*quantum)/QuantumRange+0.5));
#endif
}
#if !defined(MAGICKCORE_HDRI_SUPPORT)
return((Quantum) ((value+128U)/257U));
#else
- return((Quantum) (value/257.0+0.0));
+ return((Quantum) (value/257.0+0.5));
#endif
}
#elif (MAGICKCORE_QUANTUM_DEPTH == 16)
#if !defined(MAGICKCORE_HDRI_SUPPORT)
return((Quantum) (257U*value));
#else
- return((Quantum) (257.0*value+0.0));
+ return((Quantum) (257.0*value+0.5));
#endif
}
return((Quantum) ((value+MagickULLConstant(32768))/
MagickULLConstant(65537)));
#else
- return((Quantum) (value/65537.0+0.0));
+ return((Quantum) (value/65537.0+0.5));
#endif
}
#if !defined(MAGICKCORE_HDRI_SUPPORT)
return((Quantum) (16843009UL*value));
#else
- return((Quantum) (16843009.0*value+0.0));
+ return((Quantum) (16843009.0*value+0.5));
#endif
}
#if !defined(MAGICKCORE_HDRI_SUPPORT)
return((Quantum) (65537UL*value));
#else
- return((Quantum) (65537.0*value+0.0));
+ return((Quantum) (65537.0*value+0.5));
#endif
}
#elif (MAGICKCORE_QUANTUM_DEPTH == 64)
static inline Quantum ScaleCharToQuantum(const unsigned char value)
{
#if !defined(MAGICKCORE_HDRI_SUPPORT)
- return((Quantum) (MagickULLConstant(71777214294589693)*value));
+ return((Quantum) (MagickULLConstant(72340172838076673)*value));
#else
- return((Quantum) (71777214294589693.0*value+0.0));
+ return((Quantum) (72340172838076673.0*value+0.5));
#endif
}
#if !defined(MAGICKCORE_HDRI_SUPPORT)
return((Quantum) (4294967295UL*value));
#else
- return((Quantum) (4294967295.0*value+0.0));
+ return((Quantum) (4294967295.0*value+0.5));
#endif
}
if ((quantum/281479271743489.0) >= MaxMap)
return((unsigned long) MaxMap);
#if !defined(MAGICKCORE_HDRI_SUPPORT)
- return((unsigned long) ((quantum+140739635871744.0)/281479271743489.0));
+ return((unsigned long) ((quantum+2147450879.0)/281479271743489.0));
#else
return((unsigned long) (quantum/281479271743489.0)+0.5);
#endif
static inline unsigned short ScaleQuantumToShort(const Quantum quantum)
{
#if !defined(MAGICKCORE_HDRI_SUPPORT)
- return((unsigned short) ((quantum+140739635871744.0)/281479271743489.0));
+ return((unsigned short) ((quantum+2147450879.0)/281479271743489.0));
#else
return((unsigned short) (quantum/281479271743489.0+0.5));
#endif
return((Quantum) 0);
if (value >= (MagickRealType) QuantumRange)
return((Quantum) QuantumRange);
-#if !defined(MAGICKCORE_HDRI_SUPPORT)
- return((Quantum) (value+0.5));
-#else
+#if defined(MAGICKCORE_HDRI_SUPPORT)
return((Quantum) value);
+#else
+ return((Quantum) (value+0.5));
#endif
}
static inline unsigned char ScaleQuantumToChar(const Quantum quantum)
{
#if !defined(MAGICKCORE_HDRI_SUPPORT)
- return((unsigned char) ((quantum+2155839615.0)/72340172838076673.0));
+ return((unsigned char) ((quantum+36170086419038336.0)/72340172838076673.0));
#else
return((unsigned char) (quantum/72340172838076673.0+0.5));
#endif