diff --git a/src/averaged_perceptron.c b/src/averaged_perceptron.c index 59a58f2e..4570f73b 100644 --- a/src/averaged_perceptron.c +++ b/src/averaged_perceptron.c @@ -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) { 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; @@ -30,7 +30,6 @@ inline double_array *averaged_perceptron_predict_scores(averaged_perceptron_t *s uint32_t class_id = indices[col]; scores[class_id] += data[col]; } - }) 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) { 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; @@ -108,6 +107,10 @@ averaged_perceptron_t *averaged_perceptron_read(FILE *f) { perceptron->scores = double_array_new_zeros((size_t)perceptron->num_classes); + if (perceptron->scores == NULL) { + goto exit_perceptron_created; + } + uint64_t classes_str_len; if (!file_read_uint64(f, &classes_str_len)) {