Changeset 1876 for trunk/lib


Ignore:
Timestamp:
Jan 24, 2012, 8:22:47 PM (7 years ago)
Author:
ksherdy
Message:

Added hash<1>, hash<8>, slice<1>, slice<8> 'tests'.

Location:
trunk/lib/test
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/lib/test/Makefile

    r1867 r1876  
    1919        $(CC) -o byte_compare_test byte_compare_test.cpp $(AFLAGS)
    2020
    21 byte_util_test: byte_util_test.cpp
    22         $(CC) -o byte_util_test byte_util_test.cpp $(AFLAGS)
     21hash_util_test: hash_util_test.cpp
     22        $(CC) -o hash_util_test hash_util_test.cpp $(AFLAGS)
    2323
    2424clean:
    25         rm -f byte_compare_generator byte_compare_test byte_compare_test.cpp byte_util_test
     25        rm -f byte_compare_generator byte_compare_test byte_compare_test.cpp hash_util_test
  • trunk/lib/test/hash_util_test.cpp

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