X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fmath%2Fcoefficient.c;h=fe0cd43877f3ab57c71f95b8a4b43d30b63098ee;hb=a562c53c0d7c632ee68d789fca8a31a0cbd88a59;hp=eb2ee3174e42721e9b74147807453dc09f64caab;hpb=b57bac17a6057cc0642e6ecea792e058596f92bb;p=pspp diff --git a/src/math/coefficient.c b/src/math/coefficient.c index eb2ee3174e..fe0cd43877 100644 --- a/src/math/coefficient.c +++ b/src/math/coefficient.c @@ -21,6 +21,7 @@ /* Accessor functions for matching coefficients and variables. */ +#include #include #include #include "src/math/design-matrix.h" @@ -71,7 +72,7 @@ pspp_coeff_init (struct pspp_coeff ** c, const struct design_matrix *X) c[i]->v_info->v = (const struct variable *) design_matrix_col_to_var (X, i); - if (c[i]->v_info->v->type == ALPHA) + if (var_is_alpha (c[i]->v_info->v)) { size_t k; k = design_matrix_var_to_column (X, c[i]->v_info->v); @@ -162,14 +163,14 @@ pspp_coeff_get_value (struct pspp_coeff *c, { return NULL; } - if (v->type == NUMERIC) + if (var_is_numeric (v)) { return NULL; } while (i < c->n_vars) { candidate = pspp_coeff_get_var (c, i); - if (v->index == candidate->index) + if (v == candidate) { return (c->v_info + i)->val; } @@ -201,7 +202,7 @@ pspp_linreg_get_coeff (const pspp_linreg_cache * c, result = c->coeff[i]; tmp = pspp_coeff_get_var (result, 0); - while (tmp->index != v->index && i < c->n_coeffs) + while (tmp != v && i < c->n_coeffs) { result = c->coeff[i]; tmp = pspp_coeff_get_var (result, 0); @@ -211,7 +212,7 @@ pspp_linreg_get_coeff (const pspp_linreg_cache * c, { return NULL; } - if (v->type == NUMERIC) + if (var_is_numeric (v)) { return result; } @@ -221,9 +222,9 @@ pspp_linreg_get_coeff (const pspp_linreg_cache * c, If v is categorical, we need to ensure the coefficient matches the VAL. */ - while (tmp->index != v->index && i < c->n_coeffs + while (tmp != v && i < c->n_coeffs && compare_values (pspp_coeff_get_value (result, tmp), - val, v->width)) + val, var_get_width (v))) { /* FIX THIS */ i++; result = c->coeff[i];