static inline Quantum ScaleAnyToQuantum(const QuantumAny quantum,
const QuantumAny range)
{
+#if !defined(MAGICKCORE_HDRI_SUPPORT)
return((Quantum) (((MagickRealType) QuantumRange*quantum)/range+0.5));
+#else
+ return((Quantum) (((MagickRealType) QuantumRange*quantum)/range+0.0));
+#endif
}
static inline QuantumAny ScaleQuantumToAny(const Quantum quantum,
const QuantumAny range)
{
+#if !defined(MAGICKCORE_HDRI_SUPPORT)
return((QuantumAny) (((MagickRealType) range*quantum)/QuantumRange+0.5));
+#else
+ return((QuantumAny) (((MagickRealType) range*quantum)/QuantumRange+0.0));
+#endif
}
#if (MAGICKCORE_QUANTUM_DEPTH == 8)
#if !defined(MAGICKCORE_HDRI_SUPPORT)
return((Quantum) ((value+128U)/257U));
#else
- return((Quantum) (value/257.0+0.5));
+ return((Quantum) (value/257.0+0.0));
#endif
}
#elif (MAGICKCORE_QUANTUM_DEPTH == 16)
#if !defined(MAGICKCORE_HDRI_SUPPORT)
return((Quantum) (257U*value));
#else
- return((Quantum) (257.0*value+0.5));
+ return((Quantum) (257.0*value+0.0));
#endif
}
return((Quantum) ((value+MagickULLConstant(32768))/
MagickULLConstant(65537)));
#else
- return((Quantum) (value/65537.0+0.5));
+ return((Quantum) (value/65537.0+0.0));
#endif
}
#if !defined(MAGICKCORE_HDRI_SUPPORT)
return((Quantum) (16843009UL*value));
#else
- return((Quantum) (16843009.0*value+0.5));
+ return((Quantum) (16843009.0*value+0.0));
#endif
}
#if !defined(MAGICKCORE_HDRI_SUPPORT)
return((Quantum) (65537UL*value));
#else
- return((Quantum) (65537.0*value+0.5));
+ return((Quantum) (65537.0*value+0.0));
#endif
}
#elif (MAGICKCORE_QUANTUM_DEPTH == 64)
static inline Quantum ScaleCharToQuantum(const unsigned char value)
{
#if !defined(MAGICKCORE_HDRI_SUPPORT)
- return((Quantum) (MagickULLConstant(72340172838076673)*value));
+ return((Quantum) (MagickULLConstant(71777214294589693)*value));
#else
- return((Quantum) (72340172838076673.0*value+0.5));
+ return((Quantum) (71777214294589693.0*value+0.0));
#endif
}
#if !defined(MAGICKCORE_HDRI_SUPPORT)
return((Quantum) (4294967295UL*value));
#else
- return((Quantum) (4294967295.0*value+0.5));
+ return((Quantum) (4294967295.0*value+0.0));
#endif
}
#if defined(MAGICKCORE_HDRI_SUPPORT)
if (value >= MaxMap)
return(QuantumRange);
- return((Quantum) (281479271612415.0*value));
+ return((Quantum) (281479271743489.0*value));
#else
if (value >= MaxMap)
return(QuantumRange);
- return((Quantum) (MagickULLConstant(281479271612415)*value+0.5));
+ return((Quantum) (MagickULLConstant(281479271743489)*value+0.5));
#endif
}
{
if (quantum < 0.0)
return(0UL);
- if ((quantum/281479271612415.0) >= MaxMap)
+ if ((quantum/281479271743489.0) >= MaxMap)
return((unsigned long) MaxMap);
#if !defined(MAGICKCORE_HDRI_SUPPORT)
- return((unsigned long) ((quantum+2147450879.0)/281479271612415.0));
+ return((unsigned long) ((quantum+140739635871744.0)/281479271743489.0));
#else
- return((unsigned long) (quantum/281479271612415.0)+0.5);
+ 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+2147450879.0)/281479271612415.0));
+ return((unsigned short) ((quantum+140739635871744.0)/281479271743489.0));
#else
- return((unsigned short) (quantum/281479271612415.0+0.5));
+ return((unsigned short) (quantum/281479271743489.0+0.5));
#endif
}
static inline Quantum ScaleShortToQuantum(const unsigned short value)
{
#if !defined(MAGICKCORE_HDRI_SUPPORT)
- return((Quantum) (MagickULLConstant(281479271612415)*value));
+ return((Quantum) (MagickULLConstant(281479271743489)*value));
#else
- return((Quantum) (281479271612415.0*value));
+ return((Quantum) (281479271743489.0*value));
#endif
}
#endif