/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2009, 2010, 2011, 2012, 2013,
+ 2014, 2020 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "data/dict-class.h"
#include "data/missing-values.h"
#include "data/val-type.h"
+#include "data/settings.h"
/* Bitfields to identify traits of a variable */
instead. */
struct variable *var_create (const char *name, int width);
struct variable *var_clone (const struct variable *);
-void var_destroy (struct variable *);
+struct variable * var_ref (struct variable *) WARN_UNUSED_RESULT;
+void var_unref (struct variable *);
/* Variable names. */
const char *var_get_name (const struct variable *);
void var_clear_missing_values (struct variable *);
bool var_has_missing_values (const struct variable *);
-bool var_is_value_missing (const struct variable *, const union value *,
- enum mv_class);
-bool var_is_num_missing (const struct variable *, double, enum mv_class);
-bool var_is_str_missing (const struct variable *, const uint8_t[], enum mv_class);
+enum mv_class var_is_value_missing (const struct variable *, const union value *);
+enum mv_class var_is_num_missing (const struct variable *, double);
+enum mv_class var_is_str_missing (const struct variable *, const uint8_t[]);
/* Value labels. */
const char *var_lookup_value_label (const struct variable *,
struct string;
void var_append_value_name (const struct variable *, const union value *,
struct string *);
-
-const char *
-var_get_value_name (const struct variable *v, const union value *value);
-
+void var_append_value_name__ (const struct variable *, const union value *,
+ enum settings_value_show, struct string *);
bool var_has_value_labels (const struct variable *);
const struct val_labs *var_get_value_labels (const struct variable *);
/* Variable labels. */
const char *var_to_string (const struct variable *);
const char *var_get_label (const struct variable *);
-bool var_set_label (struct variable *, const char *label, bool issue_warning);
+void var_set_label (struct variable *, const char *label);
void var_clear_label (struct variable *);
bool var_has_label (const struct variable *);
/* Intended usage of a variable, for populating dialogs. */
enum var_role
{
- ROLE_NONE,
ROLE_INPUT,
- ROLE_OUTPUT,
+ ROLE_TARGET,
ROLE_BOTH,
+ ROLE_NONE,
ROLE_PARTITION,
ROLE_SPLIT
};
bool var_must_leave (const struct variable *);
/* Short names. */
-size_t var_get_short_name_cnt (const struct variable *);
+size_t var_get_n_short_names (const struct variable *);
const char *var_get_short_name (const struct variable *, size_t idx);
void var_set_short_name (struct variable *, size_t, const char *);
void var_clear_short_names (struct variable *);
/* Function types. */
typedef bool var_predicate_func (const struct variable *);
+double var_force_valid_weight (const struct variable *wv, double w,
+ bool *warn_on_invalid);
+
#endif /* data/variable.h */