diff liboctave/oct-inttypes.h @ 7598:a89b3fa632ee

partial specialization for octave_int_fit_to_range
author John W. Eaton <jwe@octave.org>
date Tue, 18 Mar 2008 16:21:10 -0400
parents 6929e40fc597
children 82be108cc558
line wrap: on
line diff
--- a/liboctave/oct-inttypes.h	Tue Mar 18 15:39:13 2008 -0400
+++ b/liboctave/oct-inttypes.h	Tue Mar 18 16:21:10 2008 -0400
@@ -128,26 +128,12 @@
   return (x > mx ? mx : (x < mn ? mn : T2 (x)));
 }
 
-#define OCTAVE_DBL_FTR(T) \
-  template <> \
-  inline T \
-  octave_int_fit_to_range<double, T> (const double& x, const T& mn, \
-				      const T& mx) \
-  { \
-    return (lo_ieee_isnan (x) ? 0 : (x > mx ? mx : (x < mn ? mn : static_cast<T> (x)))); \
-  }
-
-OCTAVE_DBL_FTR (char)
-OCTAVE_DBL_FTR (short)
-OCTAVE_DBL_FTR (int)
-OCTAVE_DBL_FTR (long)
-OCTAVE_DBL_FTR (long long)
-
-OCTAVE_DBL_FTR (unsigned char)
-OCTAVE_DBL_FTR (unsigned short)
-OCTAVE_DBL_FTR (unsigned int)
-OCTAVE_DBL_FTR (unsigned long)
-OCTAVE_DBL_FTR (unsigned long long)
+template <typename T>
+inline T
+octave_int_fit_to_range (const double& x, const T& mn, const T& mx)
+{
+  return (lo_ieee_isnan (x) ? 0 : (x > mx ? mx : (x < mn ? mn : static_cast<T> (x))));
+}
 
 // If X is unsigned and the new type is signed, then we only have to
 // check the upper limit, but we should cast the maximum value of the