8#ifndef vtkImageInterpolatorInternals_h 
    9#define vtkImageInterpolatorInternals_h 
   16VTK_ABI_NAMESPACE_BEGIN
 
   58  static int Floor(
double x, F& f);
 
   61  static int Round(
double x);
 
   64  static int Clamp(
int a, 
int b, 
int c);
 
   65  static int Wrap(
int a, 
int b, 
int c);
 
   66  static int Mirror(
int a, 
int b, 
int c);
 
  110#define VTK_INTERPOLATE_FLOOR_TOL 7.62939453125e-06 
  116#if VTK_SIZEOF_VOID_P >= 8 
  119  long long i = 
static_cast<long long>(x);
 
  120  f = 
static_cast<F
>(x - i);
 
  121  return static_cast<int>(i - 103079215104LL);
 
  122#elif !defined VTK_WORDS_BIGENDIAN 
  129  dual.d = x + 103079215104.0;        
 
  130  f = dual.s[0] * 0.0000152587890625; 
 
  131  return static_cast<int>((dual.i[1] << 16) | ((dual.i[0]) >> 16));
 
  139  dual.d = x + 103079215104.0;        
 
  140  f = dual.s[3] * 0.0000152587890625; 
 
  141  return static_cast<int>((dual.i[0] << 16) | ((dual.i[1]) >> 16));
 
  147#if VTK_SIZEOF_VOID_P >= 8 
  150  long long i = 
static_cast<long long>(x);
 
  151  return static_cast<int>(i - 103079215104LL);
 
  152#elif !defined VTK_WORDS_BIGENDIAN 
  158  dual.d = x + 103079215104.5; 
 
  159  return static_cast<int>((dual.i[1] << 16) | ((dual.i[0]) >> 16));
 
  166  dual.d = x + 103079215104.5; 
 
  167  return static_cast<int>((dual.i[0] << 16) | ((dual.i[1]) >> 16));
 
  176  a = (a <= c ? a : c);
 
  178  a = (a >= 0 ? a : 0);
 
  187  int range = c - b + 1;
 
  191  a = (a >= 0 ? a : a + range);
 
  200#ifndef VTK_IMAGE_BORDER_LEGACY_MIRROR 
  202  int ifzero = (range == 0);
 
  203  int range2 = 2 * range + ifzero;
 
  205  a = (a >= 0 ? a : -a);
 
  207  a = (a <= range ? a : range2 - a);
 
  210  int range = c - b + 1;
 
  211  int range2 = 2 * range;
 
  213  a = (a >= 0 ? a : -a - 1);
 
  215  a = (a < range ? a : range2 - a - 1);
 
abstract superclass for arrays of numeric data
 
vtkImageBorderMode BorderMode
 
static int Clamp(int a, int b, int c)
 
static int Floor(double x, F &f)
 
static int Mirror(int a, int b, int c)
 
static int Wrap(int a, int b, int c)
 
static int Round(double x)
 
vtkInterpolationWeights(const vtkInterpolationInfo &info)
 
#define VTK_INTERPOLATE_FLOOR_TOL