dictionary: New function var_force_valid_weight().
[pspp] / src / data / dictionary.h
index d1f7f2828bc1b902603dc93d749c26dcbda0f0f1..abc00062f198033f80555fe3fd0a229413af6a75 100644 (file)
@@ -98,6 +98,8 @@ void dict_set_names_must_be_ids (struct dictionary *, bool);
 /* Weight variable. */
 double dict_get_case_weight (const struct dictionary *,
                             const struct ccase *, bool *);
+double dict_get_rounded_case_weight (const struct dictionary *,
+                                     const struct ccase *, bool *);
 struct variable *dict_get_weight (const struct dictionary *);
 void dict_set_weight (struct dictionary *, struct variable *);
 const struct fmt_spec *dict_get_weight_format (const struct dictionary *);
@@ -124,10 +126,18 @@ struct caseproto *dict_get_compacted_proto (const struct dictionary *,
                                             unsigned int exclude_classes);
 
 /* SPLIT FILE variables. */
+enum split_type
+  {
+    SPLIT_SEPARATE,             /* Produce separate output for each split. */
+    SPLIT_LAYERED,              /* Output splits in same table.  */
+  };
 const struct variable *const *dict_get_split_vars (const struct dictionary *);
 size_t dict_get_n_splits (const struct dictionary *);
+enum split_type dict_get_split_type (const struct dictionary *);
 void dict_set_split_vars (struct dictionary *,
-                          struct variable *const *, size_t n);
+                          struct variable *const *, size_t n,
+                          enum split_type);
+void dict_clear_split_vars (struct dictionary *);
 
 /* File label. */
 const char *dict_get_label (const struct dictionary *);