# HG changeset patch # User Rik # Date 1496962606 25200 # Node ID 7049da1648c01f0201af4cc679408d2dafab36d2 # Parent 614d71cdf6141515131f1fd9ff08fbdb8f0c1072 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. diff -r 614d71cdf614 -r 7049da1648c0 libinterp/corefcn/gl-render.cc --- 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++) diff -r 614d71cdf614 -r 7049da1648c0 libinterp/corefcn/graphics.cc --- 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::Inf (); double max_neg = -octave::numeric_limits::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 diff -r 614d71cdf614 -r 7049da1648c0 libinterp/corefcn/graphics.in.h --- 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) diff -r 614d71cdf614 -r 7049da1648c0 libinterp/corefcn/ls-mat5.cc --- 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::max ()) { too_large_for_float = true; diff -r 614d71cdf614 -r 7049da1648c0 libinterp/corefcn/pr-output.cc --- 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; diff -r 614d71cdf614 -r 7049da1648c0 libinterp/corefcn/quadcc.cc --- 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; diff -r 614d71cdf614 -r 7049da1648c0 libinterp/octave-value/ov-complex.cc --- 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); diff -r 614d71cdf614 -r 7049da1648c0 libinterp/octave-value/ov-cx-sparse.cc --- 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::map (umap); diff -r 614d71cdf614 -r 7049da1648c0 libinterp/octave-value/ov-float.cc --- 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); diff -r 614d71cdf614 -r 7049da1648c0 libinterp/octave-value/ov-flt-complex.cc --- 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); diff -r 614d71cdf614 -r 7049da1648c0 libinterp/octave-value/ov-re-sparse.cc --- 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::map (umap); diff -r 614d71cdf614 -r 7049da1648c0 libinterp/octave-value/ov-scalar.cc --- 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); diff -r 614d71cdf614 -r 7049da1648c0 liboctave/array/CNDArray.cc --- 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 (*this); + return do_mx_unary_map (*this); } ComplexNDArray diff -r 614d71cdf614 -r 7049da1648c0 liboctave/array/Range.h --- 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; } }; diff -r 614d71cdf614 -r 7049da1648c0 liboctave/array/dNDArray.cc --- 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 (*this); + return do_mx_unary_map (*this); } void diff -r 614d71cdf614 -r 7049da1648c0 liboctave/array/fCNDArray.cc --- 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 (*this); + return do_mx_unary_map (*this); } FloatComplexNDArray diff -r 614d71cdf614 -r 7049da1648c0 liboctave/array/fNDArray.cc --- 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 (*this); + return do_mx_unary_map (*this); } void diff -r 614d71cdf614 -r 7049da1648c0 liboctave/numeric/lo-mappers.cc --- 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); diff -r 614d71cdf614 -r 7049da1648c0 liboctave/numeric/lo-mappers.h --- 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 bool + isfinite (const std::complex& 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 + OCTAVE_DEPRECATED ("use 'octave::math::isfinite' instead") + bool finite (const std::complex& 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 -OCTAVE_DEPRECATED ("use 'octave::math::finite' instead") +OCTAVE_DEPRECATED ("use 'octave::math::isfinite' instead") bool xfinite (const std::complex& x) { - return octave::math::finite (x); + return octave::math::isfinite (x); } OCTAVE_DEPRECATED ("use 'octave::math::isinf' instead") diff -r 614d71cdf614 -r 7049da1648c0 liboctave/numeric/lo-specfun.cc --- 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); diff -r 614d71cdf614 -r 7049da1648c0 liboctave/numeric/oct-rand.cc --- 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::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::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::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::NaN (); else F77_FUNC (dgengam, DGENGAM) (1.0, da, dretval); @@ -639,7 +639,7 @@ uint32_t u; static const double TWOUP32 = std::numeric_limits::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::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::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::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::NaN (); MAKE_RAND (len); #undef RAND_FUNC diff -r 614d71cdf614 -r 7049da1648c0 liboctave/operators/mx-inlines.cc --- 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; } diff -r 614d71cdf614 -r 7049da1648c0 liboctave/util/lo-utils.cc --- 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::max ()); }