changeset 23564:7049da1648c0

Deprecate octave::math::finite in favor of octave::math::isfinite. New name matches is clearer about what function does as it matches both Octave's m-file language and C++11. * lo-mappers.h (isfinite): Declare new function isfinite for double, float, and std::complex types. Use OCTAVE_DEPRECATED macro for declarations of finite function. Replace uses of octave::math::finite with octave::math::isfinite. * lo-mappers.cc (isfinite): Implement new function isfinite for double and float types. * lo-mappers.cc (finite): Delete function finite for double and float types. * gl-render.cc, graphics.cc, graphics.in.h, ls-mat5.cc, pr-output.cc, quadcc.cc, ov-complex.cc, ov-cx-sparse.cc, ov-float.cc, ov-flt-complex.cc, ov-re-sparse.cc, ov-scalar.cc, CNDArray.cc, Range.h, dNDArray.cc, fCNDArray.cc, fNDArray.cc, lo-specfun.cc, oct-rand.cc, mx-inlines.cc, lo-utils.cc: Replace uses of octave::math::finite with octave::math::isfinite.
author Rik <rik@octave.org>
date Thu, 08 Jun 2017 15:56:46 -0700
parents 614d71cdf614
children 3a730821e4a2
files libinterp/corefcn/gl-render.cc libinterp/corefcn/graphics.cc libinterp/corefcn/graphics.in.h libinterp/corefcn/ls-mat5.cc libinterp/corefcn/pr-output.cc libinterp/corefcn/quadcc.cc libinterp/octave-value/ov-complex.cc libinterp/octave-value/ov-cx-sparse.cc libinterp/octave-value/ov-float.cc libinterp/octave-value/ov-flt-complex.cc libinterp/octave-value/ov-re-sparse.cc libinterp/octave-value/ov-scalar.cc liboctave/array/CNDArray.cc liboctave/array/Range.h liboctave/array/dNDArray.cc liboctave/array/fCNDArray.cc liboctave/array/fNDArray.cc liboctave/numeric/lo-mappers.cc liboctave/numeric/lo-mappers.h liboctave/numeric/lo-specfun.cc liboctave/numeric/oct-rand.cc liboctave/operators/mx-inlines.cc liboctave/util/lo-utils.cc
diffstat 23 files changed, 90 insertions(+), 77 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/gl-render.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/libinterp/corefcn/gl-render.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -2420,14 +2420,14 @@
                     if (fc_mode == FLAT)
                       {
                         // "flat" only needs color at lower-left vertex
-                        if (! octave::math::finite (c(j-1,i-1)))
+                        if (! octave::math::isfinite (c(j-1,i-1)))
                           continue;
                       }
                     else if (fc_mode == INTERP)
                       {
                         // "interp" needs valid color at all 4 vertices
-                        if (! (octave::math::finite (c(j-1, i-1)) && octave::math::finite (c(j, i-1))
-                               && octave::math::finite (c(j-1, i)) && octave::math::finite (c(j, i))))
+                        if (! (octave::math::isfinite (c(j-1, i-1)) && octave::math::isfinite (c(j, i-1))
+                               && octave::math::isfinite (c(j-1, i)) && octave::math::isfinite (c(j, i))))
                           continue;
                       }
 
@@ -2629,13 +2629,13 @@
                         if (ec_mode == FLAT)
                           {
                             // "flat" only needs color at lower-left vertex
-                            if (! octave::math::finite (c(j-1,i)))
+                            if (! octave::math::isfinite (c(j-1,i)))
                               continue;
                           }
                         else if (ec_mode == INTERP)
                           {
                             // "interp" needs valid color at both vertices
-                            if (! (octave::math::finite (c(j-1, i)) && octave::math::finite (c(j, i))))
+                            if (! (octave::math::isfinite (c(j-1, i)) && octave::math::isfinite (c(j, i))))
                               continue;
                           }
 
@@ -2726,13 +2726,13 @@
                         if (ec_mode == FLAT)
                           {
                             // "flat" only needs color at lower-left vertex
-                            if (! octave::math::finite (c(j,i-1)))
+                            if (! octave::math::isfinite (c(j,i-1)))
                               continue;
                           }
                         else if (ec_mode == INTERP)
                           {
                             // "interp" needs valid color at both vertices
-                            if (! (octave::math::finite (c(j, i-1)) && octave::math::finite (c(j, i))))
+                            if (! (octave::math::isfinite (c(j, i-1)) && octave::math::isfinite (c(j, i))))
                               continue;
                           }
 
@@ -2864,7 +2864,7 @@
                 if ((do_edge && mecolor.is_empty ())
                     || (do_face && mfcolor.is_empty ()))
                   {
-                    if (! octave::math::finite (c(j,i)))
+                    if (! octave::math::isfinite (c(j,i)))
                       continue;  // Skip NaNs in color data
 
                     for (int k = 0; k < 3; k++)
--- a/libinterp/corefcn/graphics.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/libinterp/corefcn/graphics.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -1489,7 +1489,7 @@
       else if (finite_constraint == FINITE)
         {
           for (octave_idx_type i = 0; i < v_mat.numel (); i++)
-            if (! octave::math::finite (v_mat(i)))
+            if (! octave::math::isfinite (v_mat(i)))
               error ("set: \"%s\" must be finite", get_name ().c_str ());
         }
       else if (finite_constraint == NOT_NAN)
@@ -6321,7 +6321,7 @@
       double min_pos = octave::numeric_limits<double>::Inf ();
       double max_neg = -octave::numeric_limits<double>::Inf ();
       get_children_limits (minval, maxval, min_pos, max_neg, kids, limit_type);
-      if (octave::math::finite (minval) && octave::math::finite (maxval))
+      if (octave::math::isfinite (minval) && octave::math::isfinite (maxval))
         {
           limits(0) = minval;
           limits(1) = maxval;
@@ -6882,16 +6882,16 @@
                   const array_property& data)
 {
   double val = data.min_val ();
-  if (octave::math::finite (val) && val < min_val)
+  if (octave::math::isfinite (val) && val < min_val)
     min_val = val;
   val = data.max_val ();
-  if (octave::math::finite (val) && val > max_val)
+  if (octave::math::isfinite (val) && val > max_val)
     max_val = val;
   val = data.min_pos ();
-  if (octave::math::finite (val) && val > 0 && val < min_pos)
+  if (octave::math::isfinite (val) && val > 0 && val < min_pos)
     min_pos = val;
   val = data.max_neg ();
-  if (octave::math::finite (val) && val < 0 && val > max_neg)
+  if (octave::math::isfinite (val) && val < 0 && val > max_neg)
     max_neg = val;
 }
 */
@@ -6910,19 +6910,19 @@
           double val;
 
           val = m(0);
-          if (octave::math::finite (val) && val < min_val)
+          if (octave::math::isfinite (val) && val < min_val)
             min_val = val;
 
           val = m(1);
-          if (octave::math::finite (val) && val > max_val)
+          if (octave::math::isfinite (val) && val > max_val)
             max_val = val;
 
           val = m(2);
-          if (octave::math::finite (val) && val > 0 && val < min_pos)
+          if (octave::math::isfinite (val) && val > 0 && val < min_pos)
             min_pos = val;
 
           val = m(3);
-          if (octave::math::finite (val) && val < 0 && val > max_neg)
+          if (octave::math::isfinite (val) && val < 0 && val > max_neg)
             max_neg = val;
         }
     }
@@ -7502,16 +7502,16 @@
   if (limits.numel () == 4)                     \
     {                                           \
       val = limits(0);                          \
-      if (octave::math::finite (val))           \
+      if (octave::math::isfinite (val))           \
         min_val = val;                          \
       val = limits(1);                          \
-      if (octave::math::finite (val))           \
+      if (octave::math::isfinite (val))           \
         max_val = val;                          \
       val = limits(2);                          \
-      if (octave::math::finite (val))           \
+      if (octave::math::isfinite (val))           \
         min_pos = val;                          \
       val = limits(3);                          \
-      if (octave::math::finite (val))           \
+      if (octave::math::isfinite (val))           \
         max_neg = val;                          \
     }                                           \
   else                                          \
@@ -8854,16 +8854,16 @@
   if (limits.numel () == 4)
     {
       val = limits(0);
-      if (octave::math::finite (val))
+      if (octave::math::isfinite (val))
         min_val = val;
       val = limits(1);
-      if (octave::math::finite (val))
+      if (octave::math::isfinite (val))
         max_val = val;
       val = limits(2);
-      if (octave::math::finite (val))
+      if (octave::math::isfinite (val))
         min_pos = val;
       val = limits(3);
-      if (octave::math::finite (val))
+      if (octave::math::isfinite (val))
         max_neg = val;
     }
   else
--- a/libinterp/corefcn/graphics.in.h	Thu Jun 08 18:21:07 2017 -0400
+++ b/libinterp/corefcn/graphics.in.h	Thu Jun 08 15:56:46 2017 -0700
@@ -1240,7 +1240,7 @@
       if (finite_constraint == NO_CHECK) { /* do nothing */ }
       else if (finite_constraint == FINITE)
         {
-          if (! octave::math::finite (new_val))
+          if (! octave::math::isfinite (new_val))
             error ("set: \"%s\" must be finite", get_name ().c_str ());
         }
       else if (finite_constraint == NOT_NAN)
--- a/libinterp/corefcn/ls-mat5.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/libinterp/corefcn/ls-mat5.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -1895,7 +1895,7 @@
             {
               double tmp = val[i];
 
-              if (octave::math::finite (tmp)
+              if (octave::math::isfinite (tmp)
                   && fabs (tmp) > std::numeric_limits<float>::max ())
                 {
                   too_large_for_float = true;
--- a/libinterp/corefcn/pr-output.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/libinterp/corefcn/pr-output.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -508,7 +508,7 @@
     for (octave_idx_type i = 0; i < nr; i++)
       {
         double val = m(i,j);
-        if (! octave::math::finite (val))
+        if (! octave::math::isfinite (val))
           continue;
 
         all_inf_or_nan = false;
@@ -537,7 +537,7 @@
     for (octave_idx_type i = 0; i < nr; i++)
       {
         double val = m(i,j);
-        if (! octave::math::finite (val))
+        if (! octave::math::isfinite (val))
           continue;
 
         all_inf_or_nan = false;
@@ -1002,10 +1002,10 @@
   double r_abs = (rp < 0.0 ? -rp : rp);
   double i_abs = (ip < 0.0 ? -ip : ip);
 
-  int r_x = (! octave::math::finite (rp)
+  int r_x = (! octave::math::isfinite (rp)
              || r_abs == 0.0) ? 0 : num_digits (r_abs);
 
-  int i_x = (! octave::math::finite (ip)
+  int i_x = (! octave::math::isfinite (ip)
              || i_abs == 0.0) ? 0 : num_digits (i_abs);
 
   int x_max, x_min;
--- a/libinterp/corefcn/quadcc.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/libinterp/corefcn/quadcc.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -1692,7 +1692,7 @@
               iv->fx[i] *= (1.0 + xw * xw) * M_PI / 2;
             }
           neval++;
-          if (! octave::math::finite (iv->fx[i]))
+          if (! octave::math::isfinite (iv->fx[i]))
             {
               nans[nnans++] = i;
               iv->fx[i] = 0.0;
@@ -1808,7 +1808,7 @@
           nnans = 0;
           for (i = 0; i <= 32; i += skip[d])
             {
-              if (! octave::math::finite (iv->fx[i]))
+              if (! octave::math::isfinite (iv->fx[i]))
                 {
                   nans[nnans++] = i;
                   iv->fx[i] = 0.0;
@@ -1945,7 +1945,7 @@
           nnans = 0;
           for (i = 0; i <= 32; i += skip[0])
             {
-              if (! octave::math::finite (ivl->fx[i]))
+              if (! octave::math::isfinite (ivl->fx[i]))
                 {
                   nans[nnans++] = i;
                   ivl->fx[i] = 0.0;
@@ -2036,7 +2036,7 @@
           nnans = 0;
           for (i = 0; i <= 32; i += skip[0])
             {
-              if (! octave::math::finite (ivr->fx[i]))
+              if (! octave::math::isfinite (ivr->fx[i]))
                 {
                   nans[nnans++] = i;
                   ivr->fx[i] = 0.0;
--- a/libinterp/octave-value/ov-complex.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/libinterp/octave-value/ov-complex.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -521,7 +521,7 @@
     SCALAR_MAPPER (sqrt, std::sqrt);
     SCALAR_MAPPER (tan, std::tan);
     SCALAR_MAPPER (tanh, std::tanh);
-    SCALAR_MAPPER (isfinite, octave::math::finite);
+    SCALAR_MAPPER (isfinite, octave::math::isfinite);
     SCALAR_MAPPER (isinf, octave::math::isinf);
     SCALAR_MAPPER (isna, octave::math::is_NA);
     SCALAR_MAPPER (isnan, octave::math::isnan);
--- a/libinterp/octave-value/ov-cx-sparse.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/libinterp/octave-value/ov-cx-sparse.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -952,7 +952,7 @@
     ARRAY_MAPPER (isnan, bool, octave::math::isnan);
     ARRAY_MAPPER (isna, bool, octave::math::is_NA);
     ARRAY_MAPPER (isinf, bool, octave::math::isinf);
-    ARRAY_MAPPER (isfinite, bool, octave::math::finite);
+    ARRAY_MAPPER (isfinite, bool, octave::math::isfinite);
 
     default: // Attempt to go via dense matrix.
       return octave_base_sparse<SparseComplexMatrix>::map (umap);
--- a/libinterp/octave-value/ov-float.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/libinterp/octave-value/ov-float.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -396,7 +396,7 @@
     SCALAR_MAPPER (sqrt, octave::math::rc_sqrt);
     SCALAR_MAPPER (tan, ::tanf);
     SCALAR_MAPPER (tanh, ::tanhf);
-    SCALAR_MAPPER (isfinite, octave::math::finite);
+    SCALAR_MAPPER (isfinite, octave::math::isfinite);
     SCALAR_MAPPER (isinf, octave::math::isinf);
     SCALAR_MAPPER (isna, octave::math::is_NA);
     SCALAR_MAPPER (isnan, octave::math::isnan);
--- a/libinterp/octave-value/ov-flt-complex.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/libinterp/octave-value/ov-flt-complex.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -469,7 +469,7 @@
     SCALAR_MAPPER (sqrt, std::sqrt);
     SCALAR_MAPPER (tan, std::tan);
     SCALAR_MAPPER (tanh, std::tanh);
-    SCALAR_MAPPER (isfinite, octave::math::finite);
+    SCALAR_MAPPER (isfinite, octave::math::isfinite);
     SCALAR_MAPPER (isinf, octave::math::isinf);
     SCALAR_MAPPER (isna, octave::math::is_NA);
     SCALAR_MAPPER (isnan, octave::math::isnan);
--- a/libinterp/octave-value/ov-re-sparse.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/libinterp/octave-value/ov-re-sparse.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -943,7 +943,7 @@
     ARRAY_MAPPER (isnan, bool, octave::math::isnan);
     ARRAY_MAPPER (isna, bool, octave::math::is_NA);
     ARRAY_MAPPER (isinf, bool, octave::math::isinf);
-    ARRAY_MAPPER (isfinite, bool, octave::math::finite);
+    ARRAY_MAPPER (isfinite, bool, octave::math::isfinite);
 
     default: // Attempt to go via dense matrix.
       return octave_base_sparse<SparseMatrix>::map (umap);
--- a/libinterp/octave-value/ov-scalar.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/libinterp/octave-value/ov-scalar.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -417,7 +417,7 @@
     SCALAR_MAPPER (sqrt, octave::math::rc_sqrt);
     SCALAR_MAPPER (tan, ::tan);
     SCALAR_MAPPER (tanh, ::tanh);
-    SCALAR_MAPPER (isfinite, octave::math::finite);
+    SCALAR_MAPPER (isfinite, octave::math::isfinite);
     SCALAR_MAPPER (isinf, octave::math::isinf);
     SCALAR_MAPPER (isna, octave::math::is_NA);
     SCALAR_MAPPER (isnan, octave::math::isnan);
--- a/liboctave/array/CNDArray.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/liboctave/array/CNDArray.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -730,7 +730,7 @@
 boolNDArray
 ComplexNDArray::isfinite (void) const
 {
-  return do_mx_unary_map<bool, Complex, octave::math::finite> (*this);
+  return do_mx_unary_map<bool, Complex, octave::math::isfinite> (*this);
 }
 
 ComplexNDArray
--- a/liboctave/array/Range.h	Thu Jun 08 18:21:07 2017 -0400
+++ b/liboctave/array/Range.h	Thu Jun 08 15:56:46 2017 -0700
@@ -62,8 +62,8 @@
     : rng_base (b), rng_limit (b + (n-1) * i), rng_inc (i),
       rng_numel (n), cache ()
   {
-    if (! octave::math::finite (b) || ! octave::math::finite (i)
-        || ! octave::math::finite (rng_limit))
+    if (! octave::math::isfinite (b) || ! octave::math::isfinite (i)
+        || ! octave::math::isfinite (rng_limit))
       rng_numel = -2;
     else
       {
@@ -158,8 +158,8 @@
     : rng_base (b), rng_limit (l), rng_inc (i),
       rng_numel (n), cache ()
   {
-    if (! octave::math::finite (b) || ! octave::math::finite (i)
-        || ! octave::math::finite (l))
+    if (! octave::math::isfinite (b) || ! octave::math::isfinite (i)
+        || ! octave::math::isfinite (l))
       rng_numel = -2;
   }
 };
--- a/liboctave/array/dNDArray.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/liboctave/array/dNDArray.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -822,7 +822,7 @@
 boolNDArray
 NDArray::isfinite (void) const
 {
-  return do_mx_unary_map<bool, double, octave::math::finite> (*this);
+  return do_mx_unary_map<bool, double, octave::math::isfinite> (*this);
 }
 
 void
--- a/liboctave/array/fCNDArray.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/liboctave/array/fCNDArray.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -736,7 +736,7 @@
 boolNDArray
 FloatComplexNDArray::isfinite (void) const
 {
-  return do_mx_unary_map<bool, FloatComplex, octave::math::finite> (*this);
+  return do_mx_unary_map<bool, FloatComplex, octave::math::isfinite> (*this);
 }
 
 FloatComplexNDArray
--- a/liboctave/array/fNDArray.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/liboctave/array/fNDArray.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -785,7 +785,7 @@
 boolNDArray
 FloatNDArray::isfinite (void) const
 {
-  return do_mx_unary_map<bool, float, octave::math::finite> (*this);
+  return do_mx_unary_map<bool, float, octave::math::isfinite> (*this);
 }
 
 void
--- a/liboctave/numeric/lo-mappers.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/liboctave/numeric/lo-mappers.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -355,7 +355,7 @@
     }
 
     bool
-    finite (double x)
+    isfinite (double x)
     {
 #if defined (HAVE_CMATH_ISFINITE)
       return std::isfinite (x);
@@ -365,7 +365,7 @@
     }
 
     bool
-    finite (float x)
+    isfinite (float x)
     {
 #if defined (HAVE_CMATH_ISFINITEF)
       return std::isfinite (x);
--- a/liboctave/numeric/lo-mappers.h	Thu Jun 08 18:21:07 2017 -0400
+++ b/liboctave/numeric/lo-mappers.h	Thu Jun 08 15:56:46 2017 -0700
@@ -232,14 +232,27 @@
       return (isnan (std::real (x)) || isnan (std::imag (x)));
     }
 
-    extern OCTAVE_API bool finite (double x);
-    extern OCTAVE_API bool finite (float x);
+    extern OCTAVE_API bool isfinite (double x);
+    extern OCTAVE_API bool isfinite (float x);
 
     template <typename T>
     bool
+    isfinite (const std::complex<T>& x)
+    {
+      return (isfinite (std::real (x)) && isfinite (std::imag (x)));
+    }
+
+    OCTAVE_DEPRECATED ("use 'octave::math::isfinite' instead")
+    inline bool finite (double x) { return octave::math::isfinite (x); }
+    OCTAVE_DEPRECATED ("use 'octave::math::isfinite' instead")
+    inline bool finite (float x) { return octave::math::isfinite (x); }
+
+    template <typename T>
+    OCTAVE_DEPRECATED ("use 'octave::math::isfinite' instead")
+    bool
     finite (const std::complex<T>& x)
     {
-      return (finite (std::real (x)) && finite (std::imag (x)));
+      return octave::math::isfinite (x);
     }
 
     extern OCTAVE_API bool isinf (double x);
@@ -255,8 +268,8 @@
     // Some useful tests, that are commonly repeated.
     // Test for a finite integer.
 
-    inline bool isinteger (double x) { return finite (x) && x == round (x); }
-    inline bool isinteger (float x) { return finite (x) && x == round (x); }
+    inline bool isinteger (double x) { return isfinite (x) && x == round (x); }
+    inline bool isinteger (float x) { return isfinite (x) && x == round (x); }
 
     inline double
     signum (double x)
@@ -307,13 +320,13 @@
     template <>
     inline double x_nint (double x)
     {
-      return (finite (x) ? floor (x + 0.5) : x);
+      return (isfinite (x) ? floor (x + 0.5) : x);
     }
 
     template <>
     inline float x_nint (float x)
     {
-      return (finite (x) ? floor (x + 0.5f) : x);
+      return (isfinite (x) ? floor (x + 0.5f) : x);
     }
 
     extern OCTAVE_API octave_idx_type nint_big (double x);
@@ -752,17 +765,17 @@
   return octave::math::isnan (x);
 }
 
-OCTAVE_DEPRECATED ("use 'octave::math::finite' instead")
-inline bool xfinite (double x) { return octave::math::finite (x); }
-OCTAVE_DEPRECATED ("use 'octave::math::finite' instead")
-inline bool xfinite (float x) { return octave::math::finite (x); }
+OCTAVE_DEPRECATED ("use 'octave::math::isfinite' instead")
+inline bool xfinite (double x) { return octave::math::isfinite (x); }
+OCTAVE_DEPRECATED ("use 'octave::math::isfinite' instead")
+inline bool xfinite (float x) { return octave::math::isfinite (x); }
 
 template <typename T>
-OCTAVE_DEPRECATED ("use 'octave::math::finite' instead")
+OCTAVE_DEPRECATED ("use 'octave::math::isfinite' instead")
 bool
 xfinite (const std::complex<T>& x)
 {
-  return octave::math::finite (x);
+  return octave::math::isfinite (x);
 }
 
 OCTAVE_DEPRECATED ("use 'octave::math::isinf' instead")
--- a/liboctave/numeric/lo-specfun.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/liboctave/numeric/lo-specfun.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -641,7 +641,7 @@
     xcbrt (T x)
     {
       static const T one_third = 0.3333333333333333333f;
-      if (octave::math::finite (x))
+      if (octave::math::isfinite (x))
         {
           // Use pow.
           T y = std::pow (std::abs (x), one_third) * signum (x);
--- a/liboctave/numeric/oct-rand.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/liboctave/numeric/oct-rand.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -325,7 +325,7 @@
           break;
 
         case poisson_dist:
-          if (a < 0.0 || ! octave::math::finite (a))
+          if (a < 0.0 || ! octave::math::isfinite (a))
             retval = octave::numeric_limits<double>::NaN ();
           else
             {
@@ -336,7 +336,7 @@
           break;
 
         case gamma_dist:
-          if (a <= 0.0 || ! octave::math::finite (a))
+          if (a <= 0.0 || ! octave::math::isfinite (a))
             retval = octave::numeric_limits<double>::NaN ();
           else
             F77_FUNC (dgengam, DGENGAM) (1.0, a, retval);
@@ -408,7 +408,7 @@
           break;
 
         case poisson_dist:
-          if (da < 0.0 || ! octave::math::finite (a))
+          if (da < 0.0 || ! octave::math::isfinite (a))
             dretval = octave::numeric_limits<double>::NaN ();
           else
             {
@@ -419,7 +419,7 @@
           break;
 
         case gamma_dist:
-          if (da <= 0.0 || ! octave::math::finite (a))
+          if (da <= 0.0 || ! octave::math::isfinite (a))
             dretval = octave::numeric_limits<double>::NaN ();
           else
             F77_FUNC (dgengam, DGENGAM) (1.0, da, dretval);
@@ -639,7 +639,7 @@
   uint32_t u;
   static const double TWOUP32 = std::numeric_limits<uint32_t>::max() + 1.0;
 
-  if (! octave::math::finite (d))
+  if (! octave::math::isfinite (d))
     u = 0;
   else
     {
@@ -737,7 +737,7 @@
     case poisson_dist:
       if (use_old_generators)
         {
-          if (a < 0.0 || ! octave::math::finite (a))
+          if (a < 0.0 || ! octave::math::isfinite (a))
 #define RAND_FUNC(x) x = octave::numeric_limits<double>::NaN ();
             MAKE_RAND (len);
 #undef RAND_FUNC
@@ -758,7 +758,7 @@
     case gamma_dist:
       if (use_old_generators)
         {
-          if (a <= 0.0 || ! octave::math::finite (a))
+          if (a <= 0.0 || ! octave::math::isfinite (a))
 #define RAND_FUNC(x) x = octave::numeric_limits<double>::NaN ();
             MAKE_RAND (len);
 #undef RAND_FUNC
@@ -827,7 +827,7 @@
       if (use_old_generators)
         {
           double da = a;
-          if (da < 0.0 || ! octave::math::finite (a))
+          if (da < 0.0 || ! octave::math::isfinite (a))
 #define RAND_FUNC(x) x = octave::numeric_limits<double>::NaN ();
             MAKE_RAND (len);
 #undef RAND_FUNC
@@ -849,7 +849,7 @@
       if (use_old_generators)
         {
           double da = a;
-          if (da <= 0.0 || ! octave::math::finite (a))
+          if (da <= 0.0 || ! octave::math::isfinite (a))
 #define RAND_FUNC(x) x = octave::numeric_limits<double>::NaN ();
             MAKE_RAND (len);
 #undef RAND_FUNC
--- a/liboctave/operators/mx-inlines.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/liboctave/operators/mx-inlines.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -270,7 +270,7 @@
 {
   for (size_t i = 0; i < n; i++)
     {
-      if (! octave::math::finite (x[i]))
+      if (! octave::math::isfinite (x[i]))
         return false;
     }
 
--- a/liboctave/util/lo-utils.cc	Thu Jun 08 18:21:07 2017 -0400
+++ b/liboctave/util/lo-utils.cc	Thu Jun 08 15:56:46 2017 -0700
@@ -50,7 +50,7 @@
 
 bool xtoo_large_for_float (double x)
 {
-  return (octave::math::finite (x)
+  return (octave::math::isfinite (x)
           && fabs (x) > std::numeric_limits<float>::max ());
 }