[parser] using new zeros API in averaged_perceptron.c

This commit is contained in:
Al
2017-02-19 14:02:54 -08:00
parent 5444b722cb
commit 715520f681

View File

@@ -9,7 +9,7 @@ static inline bool averaged_perceptron_get_feature_id(averaged_perceptron_t *sel
inline double_array *averaged_perceptron_predict_scores(averaged_perceptron_t *self, cstring_array *features) { inline double_array *averaged_perceptron_predict_scores(averaged_perceptron_t *self, cstring_array *features) {
if (self->scores == NULL || self->scores->n == 0) self->scores = double_array_new_zeros((size_t)self->num_classes); if (self->scores == NULL || self->scores->n == 0) self->scores = double_array_new_zeros((size_t)self->num_classes);
double_array_set(self->scores->a, self->scores->n, 0.0); double_array_zero(self->scores->a, self->scores->n);
double *scores = self->scores->a; double *scores = self->scores->a;
@@ -30,7 +30,6 @@ inline double_array *averaged_perceptron_predict_scores(averaged_perceptron_t *s
uint32_t class_id = indices[col]; uint32_t class_id = indices[col];
scores[class_id] += data[col]; scores[class_id] += data[col];
} }
}) })
return self->scores; return self->scores;
@@ -39,7 +38,7 @@ inline double_array *averaged_perceptron_predict_scores(averaged_perceptron_t *s
inline double_array *averaged_perceptron_predict_scores_counts(averaged_perceptron_t *self, khash_t(str_uint32) *feature_counts) { inline double_array *averaged_perceptron_predict_scores_counts(averaged_perceptron_t *self, khash_t(str_uint32) *feature_counts) {
if (self->scores == NULL || self->scores->n == 0) self->scores = double_array_new_zeros((size_t)self->num_classes); if (self->scores == NULL || self->scores->n == 0) self->scores = double_array_new_zeros((size_t)self->num_classes);
double_array_set(self->scores->a, self->scores->n, 0.0); double_array_zero(self->scores->a, self->scores->n);
double *scores = self->scores->a; double *scores = self->scores->a;
@@ -108,6 +107,10 @@ averaged_perceptron_t *averaged_perceptron_read(FILE *f) {
perceptron->scores = double_array_new_zeros((size_t)perceptron->num_classes); perceptron->scores = double_array_new_zeros((size_t)perceptron->num_classes);
if (perceptron->scores == NULL) {
goto exit_perceptron_created;
}
uint64_t classes_str_len; uint64_t classes_str_len;
if (!file_read_uint64(f, &classes_str_len)) { if (!file_read_uint64(f, &classes_str_len)) {