** 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
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;
}