[gnumeric] Compilation: move stuff around.
- From: Morten Welinder <mortenw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] Compilation: move stuff around.
- Date: Tue, 26 Nov 2013 01:09:10 +0000 (UTC)
commit 3ca7f2b1658813418a075f0e7fc7f2454b82c92f
Author: Morten Welinder <terra gnome org>
Date: Mon Nov 25 20:08:51 2013 -0500
Compilation: move stuff around.
ChangeLog | 5 +++++
src/mathfunc.c | 45 ---------------------------------------------
src/sf-gamma.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 50 insertions(+), 45 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index aac44be..6dfa45c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-11-25 Morten Welinder <terra gnome org>
+
+ * src/sf-gamma.c: Move lgamma_r and lgamma fallbacks to here from
+ mathfunc.c
+
2013-11-19 Morten Welinder <terra gnome org>
* src/print.c (print_page): Fix check for missing object. Fixes
diff --git a/src/mathfunc.c b/src/mathfunc.c
index 436b5be..6cff799 100644
--- a/src/mathfunc.c
+++ b/src/mathfunc.c
@@ -5607,51 +5607,6 @@ erfcl (long double x)
/* ------------------------------------------------------------------------- */
-#ifdef GNM_SUPPLIES_LGAMMA
-/* Avoid using signgam. It may be missing in system libraries. */
-int signgam;
-
-double
-lgamma (double x)
-{
- return lgamma_r (x, &signgam);
-}
-#endif
-
-#ifdef GNM_SUPPLIES_LGAMMA_R
-double
-lgamma_r (double x, int *signp)
-{
- *signp = +1;
-
- if (gnm_isnan (x))
- return gnm_nan;
-
- if (x > 0) {
- gnm_float f = 1;
-
- while (x < 10) {
- f *= x;
- x++;
- }
-
- return (M_LN_SQRT_2PI + (x - 0.5) * gnm_log(x) -
- x + lgammacor(x)) - gnm_log (f);
- } else {
- gnm_float axm2 = gnm_fmod (-x, 2.0);
- gnm_float y = gnm_sinpi (axm2) / M_PIgnum;
-
- *signp = axm2 > 1.0 ? +1 : -1;
-
- return y == 0
- ? gnm_nan
- : - gnm_log (gnm_abs (y)) - lgamma1p (-x);
- }
-}
-#endif
-
-/* ------------------------------------------------------------------------- */
-
static gnm_float
gnm_owent_T1 (gnm_float h, gnm_float a, int order)
{
diff --git a/src/sf-gamma.c b/src/sf-gamma.c
index bf7fb5a..1c759d5 100644
--- a/src/sf-gamma.c
+++ b/src/sf-gamma.c
@@ -1018,3 +1018,48 @@ permut (gnm_float n, gnm_float k)
}
/* ------------------------------------------------------------------------- */
+
+#ifdef GNM_SUPPLIES_LGAMMA
+/* Avoid using signgam. It may be missing in system libraries. */
+int signgam;
+
+double
+lgamma (double x)
+{
+ return lgamma_r (x, &signgam);
+}
+#endif
+
+#ifdef GNM_SUPPLIES_LGAMMA_R
+double
+lgamma_r (double x, int *signp)
+{
+ *signp = +1;
+
+ if (gnm_isnan (x))
+ return gnm_nan;
+
+ if (x > 0) {
+ gnm_float f = 1;
+
+ while (x < 10) {
+ f *= x;
+ x++;
+ }
+
+ return (M_LN_SQRT_2PI + (x - 0.5) * gnm_log(x) -
+ x + lgammacor(x)) - gnm_log (f);
+ } else {
+ gnm_float axm2 = gnm_fmod (-x, 2.0);
+ gnm_float y = gnm_sinpi (axm2) / M_PIgnum;
+
+ *signp = axm2 > 1.0 ? +1 : -1;
+
+ return y == 0
+ ? gnm_nan
+ : - gnm_log (gnm_abs (y)) - lgamma1p (-x);
+ }
+}
+#endif
+
+/* ------------------------------------------------------------------------- */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]