source: trunk/lib/test/hash_util_test.cpp @ 1896

Last change on this file since 1896 was 1886, checked in by ksherdy, 7 years ago

Updated test cases.

File size: 3.8 KB
Line 
1#include "../hash_util.hpp"
2#include <iostream>
3using namespace std;
4
5int main() {
6
7    char b0[] = {"abcdefgh"};
8    char b1[] = {"ABCDEFGH"};
9    char b2[] = {"AAAAAAAA"};
10
11    uint64_t r = 0;
12    uint32_t hash_size = 0;
13
14    print_register("b0", *(uint64_t *) b0);
15    print_register("b1", *(uint64_t *) b1);
16    print_register("b2", *(uint64_t *) b2);
17
18    // Length 8 (bits), Expect 41
19    /*
20    for(uint32_t idx=0;idx<64;idx+=8) {
21        r = slice<1>((uint8_t *) &b2,idx,8);
22        print_register("r", r);
23    }
24    */
25
26    // Length 16 (bits), Expect 4141
27    /*
28    for(uint32_t idx=0;idx<64-8;idx+=8) {
29        r = slice<1>((uint8_t *) &b2,idx,16);
30        print_register("r", r);
31    }
32    */
33
34    // Length 8 (bits), idx 1,9,..., Expect A0
35    /*
36    for(uint32_t idx=1;idx<64-8;idx+=8) {
37        r = slice<1>((uint8_t *) &b2,idx,8);
38        print_register("r", r);
39    }
40    */
41
42    // Length 16 (bits), idx 1,9,..., Expect A0A0
43    /*
44    for(uint32_t idx=1;idx<64-16;idx+=8) {
45        r = slice<1>((uint8_t *) &b2,idx,16);
46        print_register("r", r);
47    }
48    */
49
50    // Length 8 (bits), idx 2,10,..., Expect 50
51    /*
52    for(uint32_t idx=2;idx<64-8;idx+=8) {
53        r = slice<1>((uint8_t *) &b2,idx,8);
54        print_register("r", r);
55    }
56    */
57
58    // Length 16 (bits), idx 2,10,..., Expect 5050
59    /*
60    for(uint32_t idx=2;idx<64-16;idx+=8) {
61        r = slice<1>((uint8_t *) &b2,idx,16);
62        print_register("r", r);
63    }
64    */
65
66    // Length 8 (bits), idx 3,11,..., Expect 28
67    /*
68    for(uint32_t idx=3;idx<64-8;idx+=8) {
69        r = slice<1>((uint8_t *) &b2,idx,8);
70        print_register("r", r);
71    }
72    */
73
74    // Length 16 (bits), idx 3,11,..., Expect 2828
75    /*
76    for(uint32_t idx=3;idx<64-16;idx+=8) {
77        r = slice<1>((uint8_t *) &b2,idx,16);
78        print_register("r", r);
79    }
80    */
81
82    // Length 8 (bits), idx 3,11,..., Expect 05
83    /*
84    for(uint32_t idx=6;idx<64-8;idx+=8) {
85        r = slice<1>((uint8_t *) &b2,idx,8);
86        print_register("r", r);
87    }
88    */
89
90    // Length 16 (bits), idx 3,11,..., Expect 0505
91    /*
92    for(uint32_t idx=6;idx<64-16;idx+=8) {
93        r = slice<1>((uint8_t *) &b2,idx,16);
94        print_register("r", r);
95    }
96    */
97
98    // Length 8 (bits), Expect stream_hash<8>, stream_hash<1> to return equal values.
99    /*
100    hash_size = 8;
101    for(uint32_t idx=0;idx<sizeof(uint64_t);idx++) {
102
103        // stream_hash<1>
104        r = stream_hash<1>((uint8_t *) &b0,(uint8_t *) &b2, idx*8, 8, hash_size);
105        cout << dec << "stream_hash<1> = " << r << endl << endl;
106        cout << endl << endl;
107
108        r = stream_hash<8>((uint8_t *) &b0,(uint8_t *) &b2, idx, 1, hash_size);
109        cout << dec << "stream_hash<8> = " << r << endl << endl;
110        cout << endl << endl;
111
112    }
113    */
114
115    // Length 16 (bits), Expect stream_hash<8>, stream_hash<1> to return equal values.
116    /*
117    hash_size = 16;
118    for(uint32_t idx=0;idx<sizeof(uint64_t)-1;idx++) {
119
120        // stream_hash<1>
121        r = stream_hash<1>((uint8_t *) &b1,(uint8_t *) &b2, idx*8, 16, hash_size);
122        cout << dec << "stream_hash<1> = " << r << endl << endl;
123        cout << endl << endl;
124
125        r = stream_hash<8>((uint8_t *) &b1,(uint8_t *) &b2, idx, 2, hash_size);
126        cout << dec << "stream_hash<8> = " << r << endl << endl;
127        cout << endl << endl;
128
129    }
130    */
131
132    // Some stream_hash<1> cases.
133    /*
134    hash_size = 9;
135    for(uint32_t lgth=16;lgth<sizeof(uint64_t)*8+1;lgth+=16) {
136        for(uint32_t idx=1;idx<sizeof(uint64_t)*8-lgth+1;idx++) {
137             r = stream_hash<1>((uint8_t *) &b0,(uint8_t *) &b1, idx, lgth, hash_size);
138             cout << dec << "stream_hash<1> = " << r << endl << endl;
139             cout  << endl;
140        }
141    }
142    */
143
144    // Some stream_hash<8> cases.
145    /*
146    hash_size = 8;
147    for(uint32_t lgth=2;lgth<sizeof(uint64_t)+1;lgth++) {
148        for(uint32_t idx=0;idx<sizeof(uint64_t)-lgth+1;idx++) {
149             r = stream_hash<8>((uint8_t *) &b0,(uint8_t *) &b1, idx, lgth, hash_size);
150             cout << dec << "stream_hash<8> = " << r << endl;
151             cout << endl << endl;
152        }
153    }
154    */
155
156    return 1;
157}
Note: See TracBrowser for help on using the repository browser.