[goffice] Make go_exponential_regression just wrap go_exponential_regression_as_log.
- From: Jean Bréfort <jbrefort src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [goffice] Make go_exponential_regression just wrap go_exponential_regression_as_log.
- Date: Tue, 2 Nov 2010 17:12:24 +0000 (UTC)
commit 93f0b61f7e77aaf8bf222ccdfe2543b0ae646bd6
Author: Jean Brefort <jean brefort normalesup org>
Date: Tue Nov 2 18:13:29 2010 +0100
Make go_exponential_regression just wrap go_exponential_regression_as_log.
ChangeLog | 5 +++++
goffice/math/go-regression.c | 38 +-------------------------------------
2 files changed, 6 insertions(+), 37 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index f761862..30e3b6b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-11-02 Jean Brefort <jean brefort normalesup org>
+
+ * goffice/math/go-regression.c (go_exponential_regression): make it just
+ wrap go_exponential_regression_as_log.
+
2010-11-01 Jean Brefort <jean brefort normalesup org>
* goffice/math/go-regression.c (go_exponential_regression_as_log): new
diff --git a/goffice/math/go-regression.c b/goffice/math/go-regression.c
index 4ca70f1..0675a37 100644
--- a/goffice/math/go-regression.c
+++ b/goffice/math/go-regression.c
@@ -1113,49 +1113,13 @@ SUFFIX(go_exponential_regression) (MATRIX xss, int dim,
DOUBLE *res,
SUFFIX(go_regression_stat_t) *stat_)
{
- DOUBLE *log_ys;
- GORegressionResult result;
+ GORegressionResult result = SUFFIX(go_exponential_regression_as_log) (xss, dim, ys, n, affine, res, stat_);
int i;
- g_return_val_if_fail (dim >= 1, GO_REG_invalid_dimensions);
- g_return_val_if_fail (n >= 1, GO_REG_invalid_dimensions);
-
- log_ys = g_new (DOUBLE, n);
- for (i = 0; i < n; i++)
- if (ys[i] > 0)
- log_ys[i] = SUFFIX(log) (ys[i]);
- else {
- result = GO_REG_invalid_data;
- goto out;
- }
-
- if (affine) {
- int i;
- DOUBLE **xss2 = g_new (DOUBLE *, dim + 1);
-
- xss2[0] = g_new (DOUBLE, n);
- for (i = 0; i < n; i++)
- xss2[0][i] = 1;
- memcpy (xss2 + 1, xss, dim * sizeof (DOUBLE *));
-
- result = SUFFIX(general_linear_regression)
- (xss2, dim + 1, log_ys,
- n, res, stat_, affine);
- g_free (xss2[0]);
- g_free (xss2);
- } else {
- res[0] = 0;
- result = SUFFIX(general_linear_regression)
- (xss, dim, log_ys, n,
- res + 1, stat_, affine);
- }
-
if (result == GO_REG_ok || result == GO_REG_near_singular_good)
for (i = 0; i < dim + 1; i++)
res[i] = SUFFIX(exp) (res[i]);
- out:
- g_free (log_ys);
return result;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]