@@ -39,6 +39,8 @@ static void test_top_k(const std::vector<float> & probs, const std::vector<float
39
39
for (size_t i = 0 ; i < candidates_p.size ; i++) {
40
40
GGML_ASSERT (fabs (candidates_p.data [i].p - expected_probs[i]) < 1e-5 );
41
41
}
42
+
43
+ llama_sampling_free (smpl);
42
44
}
43
45
44
46
static void test_top_p (const std::vector<float > & probs, const std::vector<float > & expected_probs, float p) {
@@ -62,6 +64,8 @@ static void test_top_p(const std::vector<float> & probs, const std::vector<float
62
64
for (size_t i = 0 ; i < candidates_p.size ; i++) {
63
65
GGML_ASSERT (fabs (candidates_p.data [i].p - expected_probs[i]) < 1e-3 );
64
66
}
67
+
68
+ llama_sampling_free (smpl);
65
69
}
66
70
67
71
static void test_tfs (const std::vector<float > & probs, const std::vector<float > & expected_probs, float z) {
@@ -84,6 +88,8 @@ static void test_tfs(const std::vector<float> & probs, const std::vector<float>
84
88
for (size_t i = 0 ; i < candidates_p.size ; i++) {
85
89
GGML_ASSERT (fabs (candidates_p.data [i].p - expected_probs[i]) < 1e-3 );
86
90
}
91
+
92
+ llama_sampling_free (smpl);
87
93
}
88
94
89
95
static void test_min_p (const std::vector<float > & probs, const std::vector<float > & expected_probs, float p) {
@@ -107,6 +113,8 @@ static void test_min_p(const std::vector<float> & probs, const std::vector<float
107
113
for (size_t i = 0 ; i < candidates_p.size ; i++) {
108
114
GGML_ASSERT (fabs (candidates_p.data [i].p - expected_probs[i]) < 1e-3 );
109
115
}
116
+
117
+ llama_sampling_free (smpl);
110
118
}
111
119
112
120
static void test_typical (const std::vector<float > & probs, const std::vector<float > & expected_probs, float p) {
@@ -129,6 +137,8 @@ static void test_typical(const std::vector<float> & probs, const std::vector<flo
129
137
for (size_t i = 0 ; i < candidates_p.size ; i++) {
130
138
GGML_ASSERT (fabs (candidates_p.data [i].p - expected_probs[i]) < 1e-3 );
131
139
}
140
+
141
+ llama_sampling_free (smpl);
132
142
}
133
143
134
144
static void test_repetition_penalties (
@@ -158,6 +168,8 @@ static void test_repetition_penalties(
158
168
for (size_t i = 0 ; i < candidates_p.size ; i++) {
159
169
GGML_ASSERT (fabs (candidates_p.data [i].p - expected_probs[i]) < 1e-3 );
160
170
}
171
+
172
+ llama_sampling_free (smpl);
161
173
}
162
174
163
175
static void test_sampler_queue (const size_t n_vocab, const std::string & samplers_sequence, const int top_k, const float top_p, const float min_p
@@ -241,6 +253,8 @@ static void test_sampler_queue(const size_t n_vocab, const std::string & sampler
241
253
242
254
printf (" Sampler queue %3s OK with n_vocab=%05ld top_k=%05d top_p=%f min_p=%f\n " ,
243
255
samplers_sequence.c_str (), n_vocab, top_k, top_p, min_p);
256
+
257
+ llama_sampling_free (smpl);
244
258
}
245
259
246
260
int main (void ) {
0 commit comments