]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sun, 9 May 2010 21:36:40 +0000 (21:36 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sun, 9 May 2010 21:36:40 +0000 (21:36 +0000)
magick/quantum-private.h
magick/quantum.h

index b5e191867b005346335e1a35d7af60df8ac71e7d..d122681a5b07c541cba056fd94c973650270050f 100644 (file)
@@ -289,13 +289,21 @@ static inline const unsigned char *PushShortPixel(const EndianType endian,
 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)
@@ -372,7 +380,7 @@ static inline Quantum ScaleShortToQuantum(const unsigned short value)
 #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)
@@ -381,7 +389,7 @@ static inline Quantum ScaleCharToQuantum(const unsigned char value)
 #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
 }
 
@@ -391,7 +399,7 @@ static inline Quantum ScaleLongToQuantum(const unsigned long value)
   return((Quantum) ((value+MagickULLConstant(32768))/
     MagickULLConstant(65537)));
 #else
-  return((Quantum) (value/65537.0+0.5));
+  return((Quantum) (value/65537.0+0.0));
 #endif
 }
 
@@ -459,7 +467,7 @@ static inline Quantum ScaleCharToQuantum(const unsigned char value)
 #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
 }
 
@@ -521,16 +529,16 @@ static inline Quantum ScaleShortToQuantum(const unsigned short value)
 #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
 }
 
@@ -539,7 +547,7 @@ static inline Quantum ScaleLongToQuantum(const unsigned long value)
 #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
 }
 
@@ -550,11 +558,11 @@ static inline Quantum ScaleMapToQuantum(const MagickRealType value)
 #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
 }
 
@@ -571,30 +579,30 @@ static inline unsigned long ScaleQuantumToMap(const Quantum quantum)
 {
   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
index 5e5812462eac7f31a8109d16d53815c660f7fdc2..fce9c8a438f11d91c53db1db2304155466689d86 100644 (file)
@@ -87,10 +87,10 @@ static inline Quantum ClampToQuantum(const MagickRealType value)
     return((Quantum) 0);
   if (value >= (MagickRealType) QuantumRange)
     return((Quantum) QuantumRange);
-#if defined(MAGICKCORE_HDRI_SUPPORT)
-  return((Quantum) value);
-#else
+#if !defined(MAGICKCORE_HDRI_SUPPORT)
   return((Quantum) (value+0.5));
+#else
+  return((Quantum) value);
 #endif
 }