#include <config.h>
#include <assert.h>
+#include <data/category.h>
+#include <data/value.h>
+#include <data/variable.h>
+#include <gl/xalloc.h>
+#include <libpspp/message.h>
#include <stdlib.h>
#include <string.h>
-#include <libpspp/message.h>
-#include "category.h"
-#include "value.h"
-#include "variable.h"
-
-#include "xalloc.h"
-
#define CAT_VALUE_NOT_FOUND -1
#define N_INITIAL_CATEGORIES 1
return var_get_obs_vals (v)->n_categories;
}
+/*
+ If VAR is categorical with d categories, its first category should
+ correspond to the origin in d-dimensional Euclidean space.
+ */
+bool
+cat_is_origin (const struct variable *var, const union value *val)
+{
+ if (var_is_numeric (var))
+ {
+ return false;
+ }
+ if (cat_value_find (var, val) == 0)
+ {
+ return true;
+ }
+ return false;
+}
#ifndef CATEGORY_H
#define CATEGORY_H
-
+#include <stdbool.h>
#include <stddef.h>
struct cat_vals;
*/
size_t cat_get_n_categories (const struct variable *v);
-
+/*
+ If VAR is categorical with d categories, its first category should
+ correspond to the origin in d-dimensional Euclidean space.
+ */
+bool cat_is_origin (const struct variable *, const union value *);
#endif
{
gsl_matrix_set (d->m, row, col, x);
}
-/*
- If VAR is categorical with d categories, its first category should
- correspond to the origin in d-dimensional Euclidean space.
- */
-static bool
-is_origin (const struct variable *var, const union value *val)
-{
- if (var_is_numeric (var))
- {
- return false;
- }
- if (cat_value_find (var, val) == 0)
- {
- return true;
- }
- return false;
-}
/*
Return the subscript of the column of the design matrix
result = design_matrix_var_to_column (dm, var);
if (var_is_alpha (var))
{
- if (is_origin (var, val))
+ if (cat_is_origin (var, val))
{
return -1u;
}