Categorical dependent variables for EXPORTed models
[pspp] / src / missing-values.h
index 710fc05e1b2ae9b3e118be2d603ff08a106da152..b2e004c7146f46f052fdad2c32fe4e98b519be56 100644 (file)
@@ -44,20 +44,30 @@ struct missing_values
     union value values[3];      /* Missing values.  [y,z] are the range. */
   };
 
+
 void mv_init (struct missing_values *, int width);
+void mv_set_type(struct missing_values *mv, enum mv_type type);
+
 void mv_copy (struct missing_values *, const struct missing_values *);
 bool mv_is_empty (const struct missing_values *);
 int mv_get_width (const struct missing_values *);
 
 bool mv_add_value (struct missing_values *, const union value *);
-bool mv_add_str (struct missing_values *, const unsigned char[]);
+bool mv_add_str (struct missing_values *, const char[]);
 bool mv_add_num (struct missing_values *, double);
 bool mv_add_num_range (struct missing_values *, double low, double high);
 
-bool mv_has_value (struct missing_values *);
+bool mv_has_value (const struct missing_values *);
 void mv_pop_value (struct missing_values *, union value *);
-bool mv_has_range (struct missing_values *);
+void mv_peek_value (const struct missing_values *mv, union value *v, int idx);
+void mv_replace_value (struct missing_values *mv, const union value *v, int idx);
+
+int  mv_n_values (const struct missing_values *mv);
+
+
+bool mv_has_range (const struct missing_values *);
 void mv_pop_range (struct missing_values *, double *low, double *high);
+void mv_peek_range (const struct missing_values *, double *low, double *high);
 
 bool mv_is_resizable (struct missing_values *, int width);
 void mv_resize (struct missing_values *, int width);
@@ -68,17 +78,16 @@ typedef bool is_missing_func (const struct missing_values *,
 /* Is a value system or user missing? */
 bool mv_is_value_missing (const struct missing_values *, const union value *);
 bool mv_is_num_missing (const struct missing_values *, double);
-bool mv_is_str_missing (const struct missing_values *, const unsigned char[]);
+bool mv_is_str_missing (const struct missing_values *, const char[]);
 
 /* Is a value user missing? */
 bool mv_is_value_user_missing (const struct missing_values *,
                                const union value *);
 bool mv_is_num_user_missing (const struct missing_values *, double);
-bool mv_is_str_user_missing (const struct missing_values *,
-                             const unsigned char[]);
+bool mv_is_str_user_missing (const struct missing_values *, const char[]);
 
 /* Is a value system missing? */
 bool mv_is_value_system_missing (const struct missing_values *,
-                               const union value *);
+                                 const union value *);
 
 #endif /* missing-values.h */