pspp-cvs
[Top][All Lists]
Advanced

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

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


From: Jason H Stover
Subject: [Pspp-cvs] pspp/src/language/stats ChangeLog regression.q
Date: Fri, 21 Apr 2006 20:48:56 +0000

CVSROOT:        /sources/pspp
Module name:    pspp
Branch:         
Changes by:     Jason H Stover <address@hidden> 06/04/21 20:48:56

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

Log message:
        choose residual variable names correctly

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/pspp/src/language/stats/ChangeLog.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/pspp/pspp/src/language/stats/regression.q.diff?tr1=1.16&tr2=1.17&r1=text&r2=text

Patches:
Index: pspp/src/language/stats/ChangeLog
diff -u pspp/src/language/stats/ChangeLog:1.11 
pspp/src/language/stats/ChangeLog:1.12
--- pspp/src/language/stats/ChangeLog:1.11      Thu Apr 20 22:38:32 2006
+++ pspp/src/language/stats/ChangeLog   Fri Apr 21 20:48:56 2006
@@ -1,3 +1,11 @@
+2006-04-21  Jason Stover  <address@hidden>
+
+       * regression.q (try_name): New function. (Partly copied from
+       try_name in descriptives.c.)
+
+       * regression.q (subcommand_save): Choose residual variable names
+       correctly. 
+
 2006-04-20  Jason Stover  <address@hidden>
 
        * regression.q (cmd_regression): Moved call to subcommand_save()
Index: pspp/src/language/stats/regression.q
diff -u pspp/src/language/stats/regression.q:1.16 
pspp/src/language/stats/regression.q:1.17
--- pspp/src/language/stats/regression.q:1.16   Thu Apr 20 22:38:32 2006
+++ pspp/src/language/stats/regression.q        Fri Apr 21 20:48:56 2006
@@ -549,9 +549,23 @@
   free (vals);
   return TRNS_CONTINUE;
 }
+/* 
+   Returns 0 if NAME is a duplicate of any existing variable name.
+*/
+static int
+try_name (char *name)
+{
+  if (dict_lookup_var (default_dict, name) != NULL)
+    return 0;
+
+  return 1;
+}
+
 static void
 subcommand_save (int save, pspp_linreg_cache **models)
 {
+  int i;
+  char name[LONG_NAME_LEN + 1];
   struct variable *residuals = NULL;
   pspp_linreg_cache **lc;
 
@@ -559,11 +573,18 @@
 
   if (save)
     {
+      i = 1;
+      snprintf (name, LONG_NAME_LEN, "RES%d", i);
       for (lc = models; lc < models + cmd.n_dependent; lc++)
        {
          assert (*lc != NULL);
          assert ((*lc)->depvar != NULL);
-         residuals = dict_create_var (default_dict, "residuals", 0);
+         while (!try_name (name))
+           {
+             i++;
+             snprintf (name, LONG_NAME_LEN, "RES%d", i);
+           }
+         residuals = dict_create_var (default_dict, name, 0);
          assert (residuals != NULL);
          (*lc)->resid = residuals;
          add_transformation (regression_trns_proc, pspp_linreg_cache_free, 
*lc);




reply via email to

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