1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
diff --git a/test/unit/test_ngram/test_lm_mmap.c b/test/unit/test_ngram/test_lm_mmap.c
index 968ad56..cbff5dd 100644
--- a/test/unit/test_ngram/test_lm_mmap.c
+++ b/test/unit/test_ngram/test_lm_mmap.c
@@ -16,6 +16,8 @@ static const arg_t defn[] = {
{ NULL, 0, NULL, NULL }
};
+#define TEST_ALMOST_EQUAL(val1, val2) (abs((val1) - (val2)) <= 1)
+
int
main(int argc, char *argv[])
{
@@ -36,12 +38,12 @@ main(int argc, char *argv[])
TEST_EQUAL(ngram_wid(model, "absolute"), 13);
TEST_EQUAL(strcmp(ngram_word(model, 13), "absolute"), 0);
/* Test unigrams. */
- TEST_EQUAL(ngram_score(model, "<UNK>", NULL), -75346);
- TEST_EQUAL(ngram_bg_score(model, ngram_wid(model, "<UNK>"),
+ TEST_ALMOST_EQUAL(ngram_score(model, "<UNK>", NULL), -75346);
+ TEST_ALMOST_EQUAL(ngram_bg_score(model, ngram_wid(model, "<UNK>"),
NGRAM_INVALID_WID, &n_used), -75346);
TEST_EQUAL(n_used, 1);
- TEST_EQUAL(ngram_score(model, "sphinxtrain", NULL), -64208);
- TEST_EQUAL(ngram_bg_score(model, ngram_wid(model, "sphinxtrain"),
+ TEST_ALMOST_EQUAL(ngram_score(model, "sphinxtrain", NULL), -64208);
+ TEST_ALMOST_EQUAL(ngram_bg_score(model, ngram_wid(model, "sphinxtrain"),
NGRAM_INVALID_WID, &n_used), -64208);
TEST_EQUAL(n_used, 1);
/* Test bigrams. */
@@ -59,12 +61,12 @@ main(int argc, char *argv[])
TEST_EQUAL(ngram_wid(model, "absolute"), 13);
TEST_EQUAL(strcmp(ngram_word(model, 13), "absolute"), 0);
/* Test unigrams. */
- TEST_EQUAL(ngram_score(model, "<UNK>", NULL), -75346);
- TEST_EQUAL(ngram_bg_score(model, ngram_wid(model, "<UNK>"),
+ TEST_ALMOST_EQUAL(ngram_score(model, "<UNK>", NULL), -75346);
+ TEST_ALMOST_EQUAL(ngram_bg_score(model, ngram_wid(model, "<UNK>"),
NGRAM_INVALID_WID, &n_used), -75346);
TEST_EQUAL(n_used, 1);
- TEST_EQUAL(ngram_score(model, "sphinxtrain", NULL), -64208);
- TEST_EQUAL(ngram_bg_score(model, ngram_wid(model, "sphinxtrain"),
+ TEST_ALMOST_EQUAL(ngram_score(model, "sphinxtrain", NULL), -64208);
+ TEST_ALMOST_EQUAL(ngram_bg_score(model, ngram_wid(model, "sphinxtrain"),
NGRAM_INVALID_WID, &n_used), -64208);
TEST_EQUAL(n_used, 1);
/* Test bigrams. */
@@ -83,15 +85,15 @@ main(int argc, char *argv[])
TEST_EQUAL(ngram_wid(model, "absolute"), 13);
TEST_EQUAL(strcmp(ngram_word(model, 13), "absolute"), 0);
/* Test unigrams. */
- TEST_EQUAL(ngram_score(model, "<UNK>", NULL), -75346
+ TEST_ALMOST_EQUAL(ngram_score(model, "<UNK>", NULL), -75346
* 2 + logmath_log(lmath, 0.5));
- TEST_EQUAL(ngram_bg_score(model, ngram_wid(model, "<UNK>"),
+ TEST_ALMOST_EQUAL(ngram_bg_score(model, ngram_wid(model, "<UNK>"),
NGRAM_INVALID_WID, &n_used), -75346
* 2 + logmath_log(lmath, 0.5));
TEST_EQUAL(n_used, 1);
- TEST_EQUAL(ngram_score(model, "sphinxtrain", NULL), -64208
+ TEST_ALMOST_EQUAL(ngram_score(model, "sphinxtrain", NULL), -64208
* 2 + logmath_log(lmath, 0.5));
- TEST_EQUAL(ngram_bg_score(model, ngram_wid(model, "sphinxtrain"),
+ TEST_ALMOST_EQUAL(ngram_bg_score(model, ngram_wid(model, "sphinxtrain"),
NGRAM_INVALID_WID, &n_used), -64208
* 2 + logmath_log(lmath, 0.5));
TEST_EQUAL(n_used, 1);
|