# HG changeset patch # User John W. Eaton # Date 1417532210 18000 # Node ID 264ff6bf74753571af7d4eeda39ce4d30779fe01 # Parent 27f5d1607b8484d08b3759aa7ada6d8d06fcf1dd use gnulib:: namespace for log, logf, localtime, and gmtime * load-save.cc, lo-mappers.cc, lo-specfun.cc, oct-time.cc: Sprinkle with gnulib:: to use log, logf, localtime, and gmtime from gnulib if they are needed. diff --git a/libinterp/corefcn/load-save.cc b/libinterp/corefcn/load-save.cc --- a/libinterp/corefcn/load-save.cc +++ b/libinterp/corefcn/load-save.cc @@ -1219,7 +1219,7 @@ char headertext[128]; time (&now); - bdt = *gmtime (&now); + bdt = *gnulib::gmtime (&now); memset (headertext, ' ', 124); // ISO 8601 format date nstrftime (headertext, 124, "MATLAB 5.0 MAT-file, written by Octave " diff --git a/liboctave/numeric/lo-mappers.cc b/liboctave/numeric/lo-mappers.cc --- a/liboctave/numeric/lo-mappers.cc +++ b/liboctave/numeric/lo-mappers.cc @@ -522,14 +522,16 @@ rc_log (double x) { const double pi = 3.14159265358979323846; - return x < 0.0 ? Complex (log (-x), pi) : Complex (log (x)); + return x < 0.0 ? Complex (gnulib::log (-x), pi) : Complex (gnulib::log (x)); } FloatComplex rc_log (float x) { const float pi = 3.14159265358979323846f; - return x < 0.0f ? FloatComplex (logf (-x), pi) : FloatComplex (logf (x)); + return (x < 0.0f + ? FloatComplex (gnulib::logf (-x), pi) + : FloatComplex (gnulib::logf (x))); } Complex diff --git a/liboctave/numeric/lo-specfun.cc b/liboctave/numeric/lo-specfun.cc --- a/liboctave/numeric/lo-specfun.cc +++ b/liboctave/numeric/lo-specfun.cc @@ -633,7 +633,7 @@ retval = 2 * (s + 1) * u; } else - retval = log (1 + x); + retval = gnulib::log (1 + x); return retval; } @@ -685,14 +685,14 @@ if (ax < 0.2) { // approximation log (1+x) ~ 2*sum ((x/(2+x)).^ii ./ ii), ii = 1:2:2n+1 - float u = x / (2 + x), t = 1, s = 0; + float u = x / (2 + x), t = 1.0f, s = 0; for (int i = 2; i < 12; i += 2) s += (t *= u*u) / (i+1); - retval = 2 * (s + 1) * u; + retval = 2 * (s + 1.0f) * u; } else - retval = log (1 + x); + retval = gnulib::logf (1.0f + x); return retval; } @@ -2986,14 +2986,17 @@ Complex rc_log1p (double x) { const double pi = 3.14159265358979323846; - return x < -1.0 ? Complex (log (-(1.0 + x)), pi) : Complex (log1p (x)); + return (x < -1.0 + ? Complex (gnulib::log (-(1.0 + x)), pi) + : Complex (log1p (x))); } FloatComplex rc_log1p (float x) { const float pi = 3.14159265358979323846f; - return x < -1.0f ? FloatComplex (logf (-(1.0f + x)), pi) - : FloatComplex (log1pf (x)); + return (x < -1.0f + ? FloatComplex (gnulib::logf (-(1.0f + x)), pi) + : FloatComplex (log1pf (x))); } // This algorithm is due to P. J. Acklam. @@ -3046,7 +3049,7 @@ else if (ax < 1.0) { // Tail region. - const double q = sqrt (-2*log (0.5*(1-ax))); + const double q = sqrt (-2*gnulib::log (0.5*(1-ax))); const double yn = ((((c[0]*q + c[1])*q + c[2])*q + c[3])*q + c[4])*q + c[5]; const double yd = (((d[0]*q + d[1])*q + d[2])*q + d[3])*q + 1.0; y = yn / yd * signum (-x); @@ -3124,10 +3127,16 @@ else if (x > 0.0 && x < 2.0) { // Tail region. - const double q = x < 1 ? sqrt (-2*log (0.5*x)) : sqrt (-2*log (0.5*(2-x))); + const double q = (x < 1 + ? sqrt (-2*gnulib::log (0.5*x)) + : sqrt (-2*gnulib::log (0.5*(2-x)))); + const double yn = ((((c[0]*q + c[1])*q + c[2])*q + c[3])*q + c[4])*q + c[5]; + const double yd = (((d[0]*q + d[1])*q + d[2])*q + d[3])*q + 1.0; + y = yn / yd; + if (x < pbreak_lo) y = -y; } @@ -3243,8 +3252,8 @@ if (temp <= acu && temp <= acu * value) { - value = value * exp (pp * log (xx) - + (qq - 1.0) * log (cx) - beta) / pp; + value = value * exp (pp * gnulib::log (xx) + + (qq - 1.0) * gnulib::log (cx) - beta) / pp; if (indx) { @@ -3342,7 +3351,7 @@ // Calculate the initial approximation. - r = sqrt (- log (a * a)); + r = sqrt (- gnulib::log (a * a)); ycur = r - (2.30753 + 0.27061 * r) / (1.0 + (0.99229 + 0.04481 * r) * r); @@ -3363,7 +3372,7 @@ if (t <= 0.0) { - value = 1.0 - exp ((log ((1.0 - a) * qq) + beta) / qq); + value = 1.0 - exp ((gnulib::log ((1.0 - a) * qq) + beta) / qq); } else { @@ -3371,7 +3380,7 @@ if (t <= 1.0) { - value = exp ((log (a * pp) + beta) / pp); + value = exp ((gnulib::log (a * pp) + beta) / pp); } else { @@ -3413,7 +3422,7 @@ } xin = value; - ycur = (ycur - a) * exp (beta + r * log (xin) + t * log (1.0 - xin)); + ycur = (ycur - a) * exp (beta + r * gnulib::log (xin) + t * gnulib::log (1.0 - xin)); if (ycur * yprev <= 0.0) { diff --git a/liboctave/system/oct-time.cc b/liboctave/system/oct-time.cc --- a/liboctave/system/oct-time.cc +++ b/liboctave/system/oct-time.cc @@ -235,7 +235,7 @@ time_t t = ot.unix_time (); - octave_base_tm::init (localtime (&t)); + octave_base_tm::init (gnulib::localtime (&t)); } void @@ -245,7 +245,7 @@ time_t t = ot.unix_time (); - octave_base_tm::init (gmtime (&t)); + octave_base_tm::init (gnulib::gmtime (&t)); } void