* variable.h: (struct variable) Rename `reinit' member as `leave' and
authorBen Pfaff <blp@gnu.org>
Thu, 27 Apr 2006 03:01:57 +0000 (03:01 +0000)
committerBen Pfaff <blp@gnu.org>
Thu, 27 Apr 2006 03:01:57 +0000 (03:01 +0000)
invert sense.  Fix up all references.

src/ChangeLog
src/data/ChangeLog
src/data/dictionary.c
src/data/variable.h
src/language/data-io/inpt-pgm.c
src/language/dictionary/numeric.c
src/language/xforms/compute.c
src/procedure.c

index beadbd2c4564ae491c6227a86880d8a780bbd444..604fb254d9229e299d19e7461fb69418dafa22bc 100644 (file)
@@ -1,3 +1,8 @@
+Wed Apr 26 20:00:00 2006  Ben Pfaff  <blp@gnu.org>
+
+       * procedure.c (create_trns_case): Fix inverted decision on whether
+       numeric values should be initialized to 0 or SYSMIS.
+
 Wed Apr 26 19:48:52 2006  Ben Pfaff  <blp@gnu.org>
 
        Continue reforming procedure execution.  In this phase, assert
index 07df9af0c00033d33c8897b4b5d48d1e0fe55e1c..3d8e910e8e061c11ca54eda0e5d840423c88c2e0 100644 (file)
@@ -1,3 +1,8 @@
+Wed Apr 26 20:01:19 2006  Ben Pfaff  <blp@gnu.org>
+
+       * variable.h: (struct variable) Rename `reinit' member as `leave'
+       and invert sense.  Fix up all references.
+
 Wed Apr 26 19:39:28 2006  Ben Pfaff  <blp@gnu.org>
 
        Continue reforming procedure execution.  In this phase, break
index b2fe10cfc4c091e2a726635cc20a03192c802120..ad5b50671fa6f2a9d138d064adb3ac2c40944ed8 100644 (file)
@@ -282,7 +282,7 @@ dict_create_var (struct dictionary *d, const char *name, int width)
   v->width = width;
   v->fv = d->next_value_idx;
   v->nv = width == 0 ? 1 : DIV_RND_UP (width, 8);
-  v->reinit = dict_class_from_id (v->name) != DC_SCRATCH;
+  v->leave = dict_class_from_id (v->name) == DC_SCRATCH;
   v->index = d->var_cnt;
   mv_init (&v->miss, width);
   if (v->type == NUMERIC)
@@ -358,7 +358,7 @@ dict_clone_var (struct dictionary *d, const struct variable *ov,
      short_name[] is intentionally not copied, because there is
      no reason to give a new variable with potentially a new name
      the same short name. */
-  nv->reinit = ov->reinit;
+  nv->leave = ov->leave;
   mv_copy (&nv->miss, &ov->miss);
   nv->print = ov->print;
   nv->write = ov->write;
index 3a5015be5dedb6c2a92c98bfa75168e570c0c6fd..fa7c0d6df0dff6410e1e7f0d0aece0c959171a96 100644 (file)
@@ -64,7 +64,7 @@ struct variable
 
     /* Case information. */
     int fv, nv;                        /* Index into `value's, number of values. */
-    bool reinit;                /* True: reinitialize; false: leave. */
+    bool leave;                 /* Leave value from case to case? */
 
     /* Data for use by containing dictionary. */
     int index;                 /* Dictionary index. */
index abda6c930691ce1ddfec33447149d154200e8b56..e24c89b599c081f7f37b68239950eea82972d536 100644 (file)
@@ -124,7 +124,7 @@ cmd_input_program (void)
       size_t j;
       
       value_init = var->type == NUMERIC ? INP_NUMERIC : INP_STRING;
-      value_init |= var->reinit ? INP_REINIT : INP_INIT_ONCE;
+      value_init |= var->leave ? INP_INIT_ONCE : INP_REINIT;
 
       for (j = 0; j < var->nv; j++)
         inp->init[j + var->fv] = value_init;
index 826f0ebfaad1db44f0ae1a206b5394b88df5edbd..9d94cf3f7e45350ae49b3e4092d7e0c7f350d359 100644 (file)
@@ -192,11 +192,7 @@ cmd_leave (void)
   if (!parse_variables (default_dict, &v, &nv, PV_NONE))
     return CMD_CASCADING_FAILURE;
   for (i = 0; i < nv; i++)
-    {
-      if (!v[i]->reinit)
-       continue;
-      v[i]->reinit = 0;
-    }
+    v[i]->leave = true;
   free (v);
 
   return lex_end_of_command ();
index ae2ceaf50a51eaeb7eb05aaa397eb0fdd7df2b3d..e6a17553377703096ecdb5b0ca57a59c52c909c6 100644 (file)
@@ -392,7 +392,7 @@ lvalue_finalize (struct lvalue *lvalue, struct compute_trns *compute)
 
       /* Goofy behavior, but compatible: Turn off LEAVE. */
       if (dict_class_from_id (compute->variable->name) != DC_SCRATCH)
-        compute->variable->reinit = 1;
+        compute->variable->leave = false;
     }
   else 
     {
index 725e8ec5846cfe5a9a8b7f5321febf67357663fa..7dcd37ba6d8c4374c79ff00745a4c0c08519cab1 100644 (file)
@@ -227,7 +227,7 @@ create_trns_case (struct ccase *trns_case, struct dictionary *dict)
       union value *value = case_data_rw (trns_case, v->fv);
 
       if (v->type == NUMERIC)
-        value->f = v->reinit ? 0.0 : SYSMIS;
+        value->f = v->leave ? 0.0 : SYSMIS;
       else
         memset (value->s, ' ', v->width);
     }
@@ -428,7 +428,7 @@ clear_case (struct ccase *c)
   for (i = 0; i < var_cnt; i++) 
     {
       struct variable *v = dict_get_var (default_dict, i);
-      if (v->reinit
+      if (!v->leave
         {
           if (v->type == NUMERIC)
             case_data_rw (c, v->fv)->f = SYSMIS;