comparison libinterp/corefcn/quadcc.cc @ 21721:bcc30b45a225

define octave_numeric_limits template methods for Inf and NaN * lo-ieee.h (octave_numeric_limits::Inf, octave_numeric_limits::NaN): New methods. * Canvas.cc, data.cc, graphics.cc, graphics.in.h, oct-handle.h, oct-stream.cc, quadcc.cc, sparse-xdiv.cc, str2double.cc, variables.h, __glpk__.cc, __init_fltk__.cc, __voronoi__.cc, octave.cc, Matrix.cc, CNDArray.cc, CSparse.cc, Sparse-C.cc, dDiagMatrix.cc, dMatrix.cc, dSparse.cc, fCMatrix.cc, fCNDArray.cc, fDiagMatrix.cc, fMatrix.cc, Faddeeva.cc, eigs-base.cc, lo-mappers.cc, lo-mappers.h, lo-specfun.cc, oct-norm.cc, oct-rand.cc, oct-rand.h, oct-spparms.cc, randgamma.cc, randpoisson.cc: Use them instead of octave_Inf, octave_Float_Inf, octave_NaN, and octave_Float_NaN.
author John W. Eaton <jwe@octave.org>
date Tue, 17 May 2016 01:11:27 -0400
parents 6c2fd62db1f7
children bae585228161
comparison
equal deleted inserted replaced
21720:b28c26ae737c 21721:bcc30b45a225
1700 } 1700 }
1701 Vinvfx (iv->fx, &(iv->c[idx[3]]), 3); 1701 Vinvfx (iv->fx, &(iv->c[idx[3]]), 3);
1702 Vinvfx (iv->fx, &(iv->c[idx[2]]), 2); 1702 Vinvfx (iv->fx, &(iv->c[idx[2]]), 2);
1703 Vinvfx (iv->fx, &(iv->c[0]), 0); 1703 Vinvfx (iv->fx, &(iv->c[0]), 0);
1704 for (i = 0; i < nnans; i++) 1704 for (i = 0; i < nnans; i++)
1705 iv->fx[nans[i]] = octave_NaN; 1705 iv->fx[nans[i]] = octave_numeric_limits<double>::NaN ();
1706 iv->a = iivals[j]; 1706 iv->a = iivals[j];
1707 iv->b = iivals[j + 1]; 1707 iv->b = iivals[j + 1];
1708 iv->depth = 3; 1708 iv->depth = 3;
1709 iv->rdepth = 1; 1709 iv->rdepth = 1;
1710 iv->ndiv = 0; 1710 iv->ndiv = 0;
1820 // Downdate any NaNs. 1820 // Downdate any NaNs.
1821 if (nnans > 0) 1821 if (nnans > 0)
1822 { 1822 {
1823 downdate (&(iv->c[idx[d]]), n[d], d, nans, nnans); 1823 downdate (&(iv->c[idx[d]]), n[d], d, nans, nnans);
1824 for (i = 0; i < nnans; i++) 1824 for (i = 0; i < nnans; i++)
1825 iv->fx[nans[i]] = octave_NaN; 1825 iv->fx[nans[i]] = octave_numeric_limits<double>::NaN ();
1826 } 1826 }
1827 1827
1828 // Compute the error estimate. 1828 // Compute the error estimate.
1829 nc = 0.0; 1829 nc = 0.0;
1830 for (i = n[d - 1] + 1; i <= n[d]; i++) 1830 for (i = n[d - 1] + 1; i <= n[d]; i++)
1954 Vinvfx (ivl->fx, ivl->c, 0); 1954 Vinvfx (ivl->fx, ivl->c, 0);
1955 if (nnans > 0) 1955 if (nnans > 0)
1956 { 1956 {
1957 downdate (ivl->c, n[0], 0, nans, nnans); 1957 downdate (ivl->c, n[0], 0, nans, nnans);
1958 for (i = 0; i < nnans; i++) 1958 for (i = 0; i < nnans; i++)
1959 ivl->fx[nans[i]] = octave_NaN; 1959 ivl->fx[nans[i]] = octave_numeric_limits<double>::NaN ();
1960 } 1960 }
1961 for (i = 0; i <= n[d]; i++) 1961 for (i = 0; i <= n[d]; i++)
1962 { 1962 {
1963 ivl->c[idx[d] + i] = 0.0; 1963 ivl->c[idx[d] + i] = 0.0;
1964 for (j = i; j <= n[d]; j++) 1964 for (j = i; j <= n[d]; j++)
1980 // Check for divergence. 1980 // Check for divergence.
1981 ivl->ndiv = iv->ndiv + (fabs (iv->c[0]) > 0 1981 ivl->ndiv = iv->ndiv + (fabs (iv->c[0]) > 0
1982 && ivl->c[0] / iv->c[0] > 2); 1982 && ivl->c[0] / iv->c[0] > 2);
1983 if (ivl->ndiv > ndiv_max && 2 * ivl->ndiv > ivl->rdepth) 1983 if (ivl->ndiv > ndiv_max && 2 * ivl->ndiv > ivl->rdepth)
1984 { 1984 {
1985 igral = gnulib::copysign (octave_Inf, igral); 1985 igral = gnulib::copysign (octave_numeric_limits<double>::Inf (), igral);
1986 warning ("quadcc: divergent integral detected"); 1986 warning ("quadcc: divergent integral detected");
1987 break; 1987 break;
1988 } 1988 }
1989 1989
1990 // Compute the local integral. 1990 // Compute the local integral.
2045 Vinvfx (ivr->fx, ivr->c, 0); 2045 Vinvfx (ivr->fx, ivr->c, 0);
2046 if (nnans > 0) 2046 if (nnans > 0)
2047 { 2047 {
2048 downdate (ivr->c, n[0], 0, nans, nnans); 2048 downdate (ivr->c, n[0], 0, nans, nnans);
2049 for (i = 0; i < nnans; i++) 2049 for (i = 0; i < nnans; i++)
2050 ivr->fx[nans[i]] = octave_NaN; 2050 ivr->fx[nans[i]] = octave_numeric_limits<double>::NaN ();
2051 } 2051 }
2052 for (i = 0; i <= n[d]; i++) 2052 for (i = 0; i <= n[d]; i++)
2053 { 2053 {
2054 ivr->c[idx[d] + i] = 0.0; 2054 ivr->c[idx[d] + i] = 0.0;
2055 for (j = i; j <= n[d]; j++) 2055 for (j = i; j <= n[d]; j++)
2071 // Check for divergence. 2071 // Check for divergence.
2072 ivr->ndiv = iv->ndiv + (fabs (iv->c[0]) > 0 2072 ivr->ndiv = iv->ndiv + (fabs (iv->c[0]) > 0
2073 && ivr->c[0] / iv->c[0] > 2); 2073 && ivr->c[0] / iv->c[0] > 2);
2074 if (ivr->ndiv > ndiv_max && 2 * ivr->ndiv > ivr->rdepth) 2074 if (ivr->ndiv > ndiv_max && 2 * ivr->ndiv > ivr->rdepth)
2075 { 2075 {
2076 igral = gnulib::copysign (octave_Inf, igral); 2076 igral = gnulib::copysign (octave_numeric_limits<double>::Inf (), igral);
2077 warning ("quadcc: divergent integral detected"); 2077 warning ("quadcc: divergent integral detected");
2078 break; 2078 break;
2079 } 2079 }
2080 2080
2081 // Compute the local integral. 2081 // Compute the local integral.