]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Mon, 10 May 2010 01:43:37 +0000 (01:43 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Mon, 10 May 2010 01:43:37 +0000 (01:43 +0000)
magick/quantum-private.h
magick/quantum.h

index 673ecae4b85a040d7c44691e37d013338e5e116c..3b7247f247d12a8716d7d3578a100c51186453bc 100644 (file)
@@ -292,18 +292,14 @@ static inline Quantum ScaleAnyToQuantum(const QuantumAny quantum,
 #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));
 #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.5));
-#endif
 }
 
 #if (MAGICKCORE_QUANTUM_DEPTH == 8)
@@ -325,14 +321,12 @@ static inline Quantum ScaleMapToQuantum(const MagickRealType value)
 {
   if (value <= 0.0)
     return((Quantum) 0);
-#if defined(MAGICKCORE_HDRI_SUPPORT)
   if (value >= MaxMap)
     return((Quantum) QuantumRange);
-  return((Quantum) value);
+#if !defined(MAGICKCORE_HDRI_SUPPORT)
+  return((Quantum) (value+0.5));
 #else
-  if ((value+0.5) >= MaxMap)
-    return((Quantum) QuantumRange);
-  return((Quantum) (value+0.0));
+  return((Quantum) value);
 #endif
 }
 
@@ -351,13 +345,13 @@ static inline unsigned long ScaleQuantumToLong(const Quantum quantum)
 
 static inline unsigned long ScaleQuantumToMap(const Quantum quantum)
 {
-  if (quantum < 0.0)
-    return(0UL);
   if (quantum >= (Quantum) MaxMap)
     return((unsigned long) MaxMap);
 #if !defined(MAGICKCORE_HDRI_SUPPORT)
   return((unsigned long) quantum);
 #else
+  if (quantum < 0.0)
+    return(0UL);
   return((unsigned long) (quantum+0.5));
 #endif
 }
@@ -380,7 +374,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.0));
+  return((Quantum) (value/257.0));
 #endif
 }
 #elif (MAGICKCORE_QUANTUM_DEPTH == 16)
@@ -389,7 +383,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.0));
+  return((Quantum) (257.0*value));
 #endif
 }
 
@@ -399,7 +393,7 @@ static inline Quantum ScaleLongToQuantum(const unsigned long value)
   return((Quantum) ((value+MagickULLConstant(32768))/
     MagickULLConstant(65537)));
 #else
-  return((Quantum) (value/65537.0+0.0));
+  return((Quantum) (value/65537.0));
 #endif
 }
 
@@ -407,14 +401,12 @@ static inline Quantum ScaleMapToQuantum(const MagickRealType value)
 {
   if (value <= 0.0)
     return((Quantum) 0);
-#if defined(MAGICKCORE_HDRI_SUPPORT)
   if (value >= MaxMap)
     return((Quantum) QuantumRange);
-  return((Quantum) value);
+#if !defined(MAGICKCORE_HDRI_SUPPORT)
+  return((Quantum) (value+0.5));
 #else
-  if ((value+0.5) >= MaxMap)
-    return((Quantum) QuantumRange);
-  return((Quantum) (value+0.0));
+  return((Quantum) value);
 #endif
 }
 
@@ -467,7 +459,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.0));
+  return((Quantum) (16843009.0*value));
 #endif
 }
 
@@ -480,14 +472,12 @@ static inline Quantum ScaleMapToQuantum(const MagickRealType value)
 {
   if (value <= 0.0)
     return((Quantum) 0);
-#if defined(MAGICKCORE_HDRI_SUPPORT)
-  if (value >= MaxMap)
+  if (value >= (Quantum) MaxMap)
     return(QuantumRange);
-  return((Quantum) (65537.0*value));
+#if !defined(MAGICKCORE_HDRI_SUPPORT)
+  return((Quantum) (65537.0*value+0.5));
 #else
-  if (value >= MaxMap)
-    return(QuantumRange);
-  return((Quantum) (65537UL*value+0.0));
+  return((Quantum) (65537.0*value));
 #endif
 }
 
@@ -500,7 +490,7 @@ static inline unsigned long ScaleQuantumToMap(const Quantum quantum)
 {
   if (quantum < 0.0)
     return(0UL);
-  if ((quantum/65537) >= MaxMap)
+  if ((quantum/65537) >= (Quantum) MaxMap)
     return((unsigned long) MaxMap);
 #if !defined(MAGICKCORE_HDRI_SUPPORT)
   return((unsigned long) ((quantum+MagickULLConstant(32768))/
@@ -529,7 +519,7 @@ static inline Quantum ScaleShortToQuantum(const unsigned short value)
 #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)
@@ -538,7 +528,7 @@ static inline Quantum ScaleCharToQuantum(const unsigned char value)
 #if !defined(MAGICKCORE_HDRI_SUPPORT)
   return((Quantum) (MagickULLConstant(72340172838076673)*value));
 #else
-  return((Quantum) (72340172838076673.0*value+0.0));
+  return((Quantum) (72340172838076673.0*value));
 #endif
 }
 
@@ -547,7 +537,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.0));
+  return((Quantum) (4294967295.0*value));
 #endif
 }
 
@@ -555,21 +545,20 @@ static inline Quantum ScaleMapToQuantum(const MagickRealType value)
 {
   if (value <= 0.0)
     return((Quantum) 0);
-#if defined(MAGICKCORE_HDRI_SUPPORT)
   if (value >= MaxMap)
     return(QuantumRange);
-  return((Quantum) (281479271743489.0*value));
+#if !defined(MAGICKCORE_HDRI_SUPPORT)
+  return((Quantum) (MagickULLConstant(281479271743489)*value+0.5));
 #else
-  if (value >= MaxMap)
-    return(QuantumRange);
-  return((Quantum) (MagickULLConstant(281479271743489)*value+0.0));
+  return((Quantum) (281479271743489.0*value));
 #endif
 }
 
 static inline unsigned long ScaleQuantumToLong(const Quantum quantum)
 {
 #if !defined(MAGICKCORE_HDRI_SUPPORT)
-  return((unsigned long) ((quantum+2147483648.0)/4294967297.0));
+  return((unsigned long) ((quantum+MagickULLConstant(2147483648))/
+    MagickULLConstant(4294967297)));
 #else
   return((unsigned long) (quantum/4294967297.0+0.5));
 #endif
@@ -577,21 +566,23 @@ static inline unsigned long ScaleQuantumToLong(const Quantum quantum)
 
 static inline unsigned long ScaleQuantumToMap(const Quantum quantum)
 {
-  if (quantum < 0.0)
-    return(0UL);
-  if ((quantum/281479271743489.0) >= MaxMap)
+  if ((quantum/MagickULLConstant(281479271743489)) >= MaxMap)
     return((unsigned long) MaxMap);
 #if !defined(MAGICKCORE_HDRI_SUPPORT)
-  return((unsigned long) ((quantum+2147450879.0)/281479271743489.0));
+  return((unsigned long) ((quantum+MagickULLConstant(140739635871744))/
+    MagickULLConstant(281479271743489)));
 #else
-  return((unsigned long) (quantum/281479271743489.0)+0.5);
+  if (quantum < 0.0)
+    return(0UL);
+  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)/281479271743489.0));
+  return((unsigned short) ((quantum+MagickULLConstant(140739635871744))/
+    MagickULLConstant(281479271743489.0));
 #else
   return((unsigned short) (quantum/281479271743489.0+0.5));
 #endif
index 7b3290e7881349490fdff62a7ebb1bfc9410b1c9..b23c31bc49310c58c2398897f8e628f019149730 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
 }