[fix] don't compare a double to 0
This commit is contained in:
@@ -351,7 +351,7 @@ void crf_context_alpha_score(crf_context_t *self) {
|
|||||||
state = exp_state_score(self, 0);
|
state = exp_state_score(self, 0);
|
||||||
double_array_raw_copy(cur, state, L);
|
double_array_raw_copy(cur, state, L);
|
||||||
double sum = double_array_sum(cur, L);
|
double sum = double_array_sum(cur, L);
|
||||||
double scale_t = (sum != 0.) ? 1. / sum : 1.;
|
double scale_t = !double_equals(sum, 0.) ? 1. / sum : 1.;
|
||||||
scale[0] = scale_t;
|
scale[0] = scale_t;
|
||||||
double_array_mul(cur, scale[0], L);
|
double_array_mul(cur, scale[0], L);
|
||||||
|
|
||||||
@@ -374,7 +374,7 @@ void crf_context_alpha_score(crf_context_t *self) {
|
|||||||
|
|
||||||
double_array_mul_array(cur, state, L);
|
double_array_mul_array(cur, state, L);
|
||||||
sum = double_array_sum(cur, L);
|
sum = double_array_sum(cur, L);
|
||||||
scale[t] = scale_t = (sum != 0.) ? 1. / sum : 1.;
|
scale[t] = scale_t = !double_equals(sum, 0.) ? 1. / sum : 1.;
|
||||||
double_array_mul(cur, scale_t, L);
|
double_array_mul(cur, scale_t, L);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
#include "greatest.h"
|
#include "greatest.h"
|
||||||
|
#include "../src/float_utils.c"
|
||||||
#include "../src/crf_context.c"
|
#include "../src/crf_context.c"
|
||||||
|
|
||||||
SUITE(libpostal_crf_context_tests);
|
SUITE(libpostal_crf_context_tests);
|
||||||
|
|||||||
Reference in New Issue
Block a user