r3884: *** empty log message ***
[ctsim.git] / include / interpolator.h
index 267c937d609dbd2bb1932e7e700c4cfc73160f93..6b3469ba01a4e4674352473beff7024880dfd5c1 100644 (file)
@@ -2,7 +2,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: interpolator.h,v 1.7 2002/06/27 03:19:23 kevin Exp $
+**  $Id: interpolator.h,v 1.8 2003/01/30 21:53:16 kevin Exp $
 **
 **  This program is free software; you can redistribute it and/or modify
 **  it under the terms of the GNU General Public License (version 2) as
@@ -73,16 +73,16 @@ public:
     if (iFloorX < 0 || iFloorY < 0 || iFloorX > m_nx-1 || iFloorY > m_ny-1)
       result = 0;
     else if (iFloorX == m_nx - 1 && iFloorY == m_ny - 1)
-      result = m_ppMatrix[m_nx-1][m_ny-1];
+      result = static_cast<T>(m_ppMatrix[m_nx-1][m_ny-1]);
     else if (iFloorX == m_nx - 1)
-      result = m_ppMatrix[iFloorX][iFloorY] + dYFrac * (m_ppMatrix[iFloorX][iFloorY+1] - m_ppMatrix[iFloorX][iFloorY]);
+      result = static_cast<T>(m_ppMatrix[iFloorX][iFloorY] + dYFrac * (m_ppMatrix[iFloorX][iFloorY+1] - m_ppMatrix[iFloorX][iFloorY]));
     else if (iFloorY == m_ny - 1)
-      result = m_ppMatrix[iFloorX][iFloorY] + dXFrac * (m_ppMatrix[iFloorX+1][iFloorY] - m_ppMatrix[iFloorX][iFloorY]);
+      result = static_cast<T>(m_ppMatrix[iFloorX][iFloorY] + dXFrac * (m_ppMatrix[iFloorX+1][iFloorY] - m_ppMatrix[iFloorX][iFloorY]));
     else
-      result = (1 - dXFrac) * (1 - dYFrac) * m_ppMatrix[iFloorX][iFloorY] + 
+      result = static_cast<T>((1 - dXFrac) * (1 - dYFrac) * m_ppMatrix[iFloorX][iFloorY] + 
         dXFrac * (1 - dYFrac) * m_ppMatrix[iFloorX+1][iFloorY] + 
         dYFrac * (1 - dXFrac) * m_ppMatrix[iFloorX][iFloorY+1] +
-        dXFrac * dYFrac * m_ppMatrix[iFloorX+1][iFloorY+1];
+        dXFrac * dYFrac * m_ppMatrix[iFloorX+1][iFloorY+1]);
 
     return result;
   }