pspp-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pspp-cvs] pspp/src/language/stats regression.q ChangeLog


From: Jason H Stover
Subject: [Pspp-cvs] pspp/src/language/stats regression.q ChangeLog
Date: Fri, 14 Sep 2007 01:39:35 +0000

CVSROOT:        /sources/pspp
Module name:    pspp
Changes by:     Jason H Stover <jstover>        07/09/14 01:39:35

Modified files:
        src/language/stats: regression.q ChangeLog 

Log message:
        Declare models in difinition of cmd_regression; free moment structure

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/regression.q?cvsroot=pspp&r1=1.61&r2=1.62
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/stats/ChangeLog?cvsroot=pspp&r1=1.64&r2=1.65

Patches:
Index: regression.q
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/regression.q,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -b -r1.61 -r1.62
--- regression.q        17 Aug 2007 14:10:05 -0000      1.61
+++ regression.q        14 Sep 2007 01:39:35 -0000      1.62
@@ -92,9 +92,6 @@
   const struct variable *v;
 };
 
-/* Linear regression models. */
-static pspp_linreg_cache **models = NULL;
-
 /*
   Transformations for saving predicted values
   and residuals, etc.
@@ -122,7 +119,7 @@
 static struct file_handle *model_file;
 
 static bool run_regression (struct casereader *, struct cmd_regression *,
-                           struct dataset *);
+                           struct dataset *, pspp_linreg_cache **);
 
 /*
    STATISTICS subcommand output functions.
@@ -948,6 +945,7 @@
 {
   struct casegrouper *grouper;
   struct casereader *group;
+  pspp_linreg_cache **models;
   bool ok;
   size_t i;
 
@@ -963,7 +961,7 @@
   /* Data pass. */
   grouper = casegrouper_create_splits (proc_open (ds), dataset_dict (ds));
   while (casegrouper_get_next_group (grouper, &group))
-    run_regression (group, &cmd, ds);
+    run_regression (group, &cmd, ds, models);
   ok = casegrouper_destroy (grouper);
   ok = proc_commit (ds) && ok;
 
@@ -1122,7 +1120,7 @@
 
 static bool
 run_regression (struct casereader *input, struct cmd_regression *cmd,
-               struct dataset *ds)
+               struct dataset *ds, pspp_linreg_cache **models)
 {
   size_t i;
   int n_indep = 0;
@@ -1255,6 +1253,11 @@
        }
       casereader_destroy (reader);
     }
+  for (i = 0; i < n_variables; i++)
+    {
+      moments1_destroy ((mom + i)->m);
+    }
+  free (mom);
   free (indep_vars);
   free (lopts.get_indep_mean_std);
   casereader_destroy (input);

Index: ChangeLog
===================================================================
RCS file: /sources/pspp/pspp/src/language/stats/ChangeLog,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -b -r1.64 -r1.65
--- ChangeLog   13 Sep 2007 04:23:15 -0000      1.64
+++ ChangeLog   14 Sep 2007 01:39:35 -0000      1.65
@@ -1,3 +1,10 @@
+2007-09-13  Jason Stover  <address@hidden>
+
+       * regression.q (cmd_regression): Move declaration of models in to
+       definition of cmd_regression.
+
+       * regression.q (run_regression): Free mom to fix memory leak.
+
 2007-09-12  Ben Pfaff  <address@hidden>
 
        * crosstabs.q (postcalc): Free sorted_tab and the structures that




reply via email to

[Prev in Thread] Current Thread [Next in Thread]