/
verify.c
51 lines (42 loc) · 1.13 KB
/
verify.c
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
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <strings.h>
#include "procedures.c"
void progress(float x) {
printf("veryfing %5.2f\r", x * 100);
fflush(stdout);
}
void verify32() {
char expected[32];
char* result;
for (uint32_t x=0; x <= 99999999; x++) {
sprintf(expected, "%u", x);
if (x % 10000 == 0) {
progress(x/99999999.0);
}
result = utoa32_sse(x);
if (strcmp(expected, result) != 0) {
printf("utoa32_sse failed, expected = '%s', result = '%s'\n", expected, result);
exit(1);
}
result = utoa32_sse_2(x);
if (strcmp(expected, result) != 0) {
printf("utoa32_sse_2 failed, expected = '%s', result = '%s'\n", expected, result);
exit(1);
}
result = utoa64_sse(x);
if (strcmp(expected, result) != 0) {
printf("utoa64_sse failed, expected = '%s', result = '%s'\n", expected, result);
exit(1);
}
}
progress(1.0);
putchar('\n');
}
int main() {
verify32();
puts("All OK");
return 0;
}