From 119b63e432e13313b9092f1eb4a15c8e926fdbf2 Mon Sep 17 00:00:00 2001
From: Otmane Lahlou <otmane.lahlou@c-s.fr>
Date: Fri, 15 Jan 2010 11:48:39 +0100
Subject: [PATCH] ENH : rounding when  truncate double

---
 Code/Radiometry/otbLuminanceToReflectanceImageFilter.h          | 2 +-
 Code/Radiometry/otbReflectanceToSurfaceReflectanceImageFilter.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Code/Radiometry/otbLuminanceToReflectanceImageFilter.h b/Code/Radiometry/otbLuminanceToReflectanceImageFilter.h
index c698ac6ae9..2b67cbea78 100644
--- a/Code/Radiometry/otbLuminanceToReflectanceImageFilter.h
+++ b/Code/Radiometry/otbLuminanceToReflectanceImageFilter.h
@@ -88,7 +88,7 @@ public:
            * m_IlluminationCorrectionCoefficient
            / m_SolarIllumination;
     
-    outPixel = static_cast<TOutput>( vcl_floor(temp*1000.)/1000.);
+    outPixel = static_cast<TOutput>( vcl_floor((temp+0.0005)*1000.)/1000.);
   
     return outPixel;
   }
diff --git a/Code/Radiometry/otbReflectanceToSurfaceReflectanceImageFilter.h b/Code/Radiometry/otbReflectanceToSurfaceReflectanceImageFilter.h
index 887dcff465..430682177f 100644
--- a/Code/Radiometry/otbReflectanceToSurfaceReflectanceImageFilter.h
+++ b/Code/Radiometry/otbReflectanceToSurfaceReflectanceImageFilter.h
@@ -97,7 +97,7 @@ public:
     temp = static_cast<double>(inPixel)*m_Coefficient + m_Residu;
     temp2 =  temp / (1. + m_SphericalAlbedo *  temp);
 
-    outPixel = static_cast<TOutput>( vcl_floor(temp2*1000.)/1000.);
+    outPixel = static_cast<TOutput>( vcl_floor((temp2+0.0005)*1000.)/1000.);
 
     return outPixel;
   }
-- 
GitLab