A fix from Graham for
Jarkko Hietaniemi [Wed, 24 Sep 2003 07:25:48 +0000 (07:25 +0000)]
[perl #24012] Weird conversion issue with List::Util::sum on Linux/AMD 850MHz
(seemingly a NV casting issue)

p4raw-id: //depot/perl@21354

ext/List/Util/Util.xs

index 98c3758..744d8cd 100644 (file)
@@ -47,9 +47,9 @@ my_cxinc(pTHX)
 #endif
 
 #ifdef SVf_IVisUV
-#  define slu_sv_value(sv) (NV)(SvIOK(sv) ? SvIOK_UV(sv) ? SvUVX(sv) : SvIVX(sv) : SvNV(sv))
+#  define slu_sv_value(sv) (SvIOK(sv)) ? (SvIOK_UV(sv)) ? (NV)(SvUVX(sv)) : (NV)(SvIVX(sv)) : (SvNV(sv))
 #else
-#  define slu_sv_value(sv) (NV)(SvIOK(sv) ? SvIVX(sv) : SvNV(sv))
+#  define slu_sv_value(sv) (SvIOK(sv)) ? (NV)(SvIVX(sv)) : SvNV(sv)
 #endif
 
 #ifndef Drand01