]> Creatis software - clitk.git/commitdiff
Remove C++11 call to isnormal
authorVivien Delmon <vivien.delmon@creatis.insa-lyon.fr>
Wed, 21 Aug 2013 09:18:27 +0000 (11:18 +0200)
committerVivien Delmon <vivien.delmon@creatis.insa-lyon.fr>
Wed, 21 Aug 2013 09:18:27 +0000 (11:18 +0200)
- std::isnormal is not available under windows VS12. Implement it using
numeric_limits functions

tools/clitkImageUncertainty.cxx

index bf5759f616df7ecfcbb9180cdc3e6e1336f0753f..9240bd8278161746245374a99c79e47d32254ef6 100644 (file)
@@ -39,7 +39,7 @@
 #include "itkImageRegionConstIterator.h"
 #include "itkImageRegionIterator.h"
 
-#include <cmath> // for isfinite
+#include <limits>
 
 //====================================================================
 int main(int argc, char * argv[]) {
@@ -79,7 +79,7 @@ int main(int argc, char * argv[]) {
        double squared = pii.Get();
        double mean = pi.Get();
        double uncert = sqrt((NumberOfEvents*squared - mean*mean) / ((NumberOfEvents-1)*(mean*mean)));
-       if (!std::isnormal(uncert)) uncert = 1.;
+        if (uncert != uncert || uncert == std::numeric_limits<double>::infinity() || uncert == -std::numeric_limits<double>::infinity()) uncert = 1.;
        po.Set(uncert);
        ++pi;
        ++pii;