From: cristy Date: Sun, 9 May 2010 21:36:40 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~9515 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b3963e6a2326ad89e5dc633f1e17eafd45c3208b;p=imagemagick --- diff --git a/magick/quantum-private.h b/magick/quantum-private.h index b5e191867..d122681a5 100644 --- a/magick/quantum-private.h +++ b/magick/quantum-private.h @@ -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 diff --git a/magick/quantum.h b/magick/quantum.h index 5e5812462..fce9c8a43 100644 --- a/magick/quantum.h +++ b/magick/quantum.h @@ -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 }