File: approximate_tests

package info (click to toggle)
sphinxbase 0.8-6
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 9,932 kB
  • ctags: 4,006
  • sloc: ansic: 30,817; sh: 11,330; makefile: 706; cpp: 267; perl: 189; yacc: 93; python: 63; lex: 50
file content (67 lines) | stat: -rw-r--r-- 3,116 bytes parent folder | download
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);