source: trunk/libtest/hash_test.cpp @ 1920

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

Migrated test files to libtest.

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