projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
subcase
[pspp]
/
src
/
data
/
subcase.c
diff --git
a/src/data/subcase.c
b/src/data/subcase.c
index bac32ddefb21eb0fc2e1fde395c08bfc0575e188..36ee9bf32758177ce79b37994058db5a53ed8e61 100644
(file)
--- a/
src/data/subcase.c
+++ b/
src/data/subcase.c
@@
-163,6
+163,17
@@
subcase_add_var_always (struct subcase *sc, const struct variable *var,
var_get_width (var), direction);
}
var_get_width (var), direction);
}
+void
+subcase_add_vars_always (struct subcase *sc,
+ const struct variable *const *vars, size_t n_vars,
+ enum subcase_direction direction)
+{
+ size_t i;
+
+ for (i = 0; i < n_vars; i++)
+ subcase_add_var_always (sc, vars[i], direction);
+}
+
/* Add a field for CASE_INDEX, WIDTH to SC, with DIRECTION as the
sort order, regardless of whether CASE_INDEX already has a
field in SC. */
/* Add a field for CASE_INDEX, WIDTH to SC, with DIRECTION as the
sort order, regardless of whether CASE_INDEX already has a
field in SC. */
@@
-225,6
+236,15
@@
subcase_concat_always (struct subcase *sc, const struct subcase *other)
}
}
}
}
+void
+subcase_project (struct subcase *sc, size_t offset)
+{
+ size_t i;
+
+ for (i = 0; i < sc->n_fields; i++)
+ sc->fields[i].case_index = i + offset;
+}
+
/* Obtains a caseproto for a case described by SC. The caller
must not modify or unref the returned case prototype. */
const struct caseproto *
/* Obtains a caseproto for a case described by SC. The caller
must not modify or unref the returned case prototype. */
const struct caseproto *