Commit 19fd9833 by Paolo Carlini Committed by Paolo Carlini

dr1325-2.cc: Fix typo.

2010-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/bitset/cons/dr1325-2.cc: Fix typo.
	* testsuite/20_util/hash/quality.cc: Avoid -Wall warnings.
	* testsuite/20_util/hash/chi2_quality.cc: Likewise.

From-SVN: r166114
parent ac7513e1
2010-10-31 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/bitset/cons/dr1325-2.cc: Fix typo.
* testsuite/20_util/hash/quality.cc: Avoid -Wall warnings.
* testsuite/20_util/hash/chi2_quality.cc: Likewise.
2010-10-29 Paolo Carlini <paolo.carlini@oracle.com> 2010-10-29 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_function.h (_Select1st<>::operator()): Add * include/bits/stl_function.h (_Select1st<>::operator()): Add
......
...@@ -91,10 +91,8 @@ test_uniform_random() ...@@ -91,10 +91,8 @@ test_uniform_random()
while (set.size() < N) while (set.size() < N)
{ {
s.clear(); s.clear();
for (int i = 0; i < len; ++i) for (unsigned int i = 0; i < len; ++i)
{ s.push_back(rand() % 128);
s.push_back(rand() % 128);
}
set.insert(s); set.insert(s);
} }
...@@ -122,7 +120,7 @@ test_bit_flip_set() ...@@ -122,7 +120,7 @@ test_bit_flip_set()
while (set.size() < N) while (set.size() < N)
{ {
std::string s(base, base+len); std::string s(base, base+len);
for (int i = 0; i < bits_to_flip; ++i) for (unsigned int i = 0; i < bits_to_flip; ++i)
{ {
int bit = rand() % bitlen; int bit = rand() % bitlen;
s[bit/8] ^= (1 << (bit%8)); s[bit/8] ^= (1 << (bit%8));
...@@ -168,7 +166,7 @@ test_bit_string_set() ...@@ -168,7 +166,7 @@ test_bit_string_set()
for (unsigned long i = 0; i < N; ++i) for (unsigned long i = 0; i < N; ++i)
{ {
s.clear(); s.clear();
for (int j = 0; j < sizeof(unsigned long) * 8; ++j) for (unsigned int j = 0; j < sizeof(unsigned long) * 8; ++j)
{ {
const bool bit = (1UL << j) & i; const bool bit = (1UL << j) & i;
s.push_back(bit ? '1' : '0'); s.push_back(bit ? '1' : '0');
......
...@@ -37,12 +37,12 @@ using namespace std; ...@@ -37,12 +37,12 @@ using namespace std;
#define STRSIZE 42 #define STRSIZE 42
#endif #endif
const int num_quality_tests = NTESTS; const unsigned int num_quality_tests = NTESTS;
const int num_strings_for_quality_tests = NSTRINGS; const unsigned int num_strings_for_quality_tests = NSTRINGS;
const int string_size = STRSIZE; const unsigned int string_size = STRSIZE;
vector<string> vector<string>
random_strings(int n, int len) random_strings(unsigned int n, unsigned int len)
{ {
string s(len, '\0'); string s(len, '\0');
unordered_set<string> result_set; unordered_set<string> result_set;
...@@ -57,10 +57,10 @@ random_strings(int n, int len) ...@@ -57,10 +57,10 @@ random_strings(int n, int len)
} }
double double
score_from_varying_position(string s, int index) score_from_varying_position(string s, unsigned int index)
{ {
bool test __attribute__((unused)) = true; bool test __attribute__((unused)) = true;
int bits_in_hash_code = sizeof(size_t) * 8; unsigned int bits_in_hash_code = sizeof(size_t) * 8;
// We'll iterate through all 256 vals for s[index], leaving the rest // We'll iterate through all 256 vals for s[index], leaving the rest
// of s fixed. Then, for example, out of the 128 times that // of s fixed. Then, for example, out of the 128 times that
...@@ -71,9 +71,9 @@ score_from_varying_position(string s, int index) ...@@ -71,9 +71,9 @@ score_from_varying_position(string s, int index)
// count the number of times each output position (of which there are // count the number of times each output position (of which there are
// bits_in_hash_code) is 1 for each bit position within s[index] (of // bits_in_hash_code) is 1 for each bit position within s[index] (of
// which there are 8) and value of that bit (of which there are 2). // which there are 8) and value of that bit (of which there are 2).
const int jj = 2; const unsigned int jj = 2;
const int kk = jj * bits_in_hash_code; const unsigned int kk = jj * bits_in_hash_code;
const int array_size = 8 * kk; const unsigned int array_size = 8 * kk;
vector<int> ones(array_size, 0); vector<int> ones(array_size, 0);
for (int i = 0; i < 256; i++) for (int i = 0; i < 256; i++)
...@@ -99,7 +99,7 @@ score_from_varying_position(string s, int index) ...@@ -99,7 +99,7 @@ score_from_varying_position(string s, int index)
int good = 0, bad = 0; int good = 0, bad = 0;
for (int bit = 0; bit <= 1; bit++) for (int bit = 0; bit <= 1; bit++)
{ {
for (int j = 0; j < bits_in_hash_code; j++) for (unsigned int j = 0; j < bits_in_hash_code; j++)
{ {
for (int bitpos = 0; bitpos < 8; bitpos++) for (int bitpos = 0; bitpos < 8; bitpos++)
{ {
...@@ -121,21 +121,21 @@ score_from_varying_position(string s, int index) ...@@ -121,21 +121,21 @@ score_from_varying_position(string s, int index)
} }
double double
score_from_varying_position(const vector<string>& v, int index) score_from_varying_position(const vector<string>& v, unsigned int index)
{ {
double score = 0; double score = 0;
for (int i = 0; i < v.size(); i++) for (unsigned int i = 0; i < v.size(); i++)
score += score_from_varying_position(v[i], index); score += score_from_varying_position(v[i], index);
return score / v.size(); return score / v.size();
} }
double double
quality_test(int num_strings, int string_size) quality_test(unsigned int num_strings, unsigned int string_size)
{ {
// Construct random strings. // Construct random strings.
vector<string> v = random_strings(num_strings, string_size); vector<string> v = random_strings(num_strings, string_size);
double sum_of_scores = 0; double sum_of_scores = 0;
for (int i = 0; i < string_size; i++) for (unsigned int i = 0; i < string_size; i++)
sum_of_scores += score_from_varying_position(v, i); sum_of_scores += score_from_varying_position(v, i);
// A good hash function should have a score very close to 1, and a bad // A good hash function should have a score very close to 1, and a bad
...@@ -149,7 +149,7 @@ quality_test() ...@@ -149,7 +149,7 @@ quality_test()
bool test __attribute__((unused)) = true; bool test __attribute__((unused)) = true;
srand(137); srand(137);
double sum_of_scores = 0; double sum_of_scores = 0;
for (int i = 0; i < num_quality_tests; i++) for (unsigned int i = 0; i < num_quality_tests; i++)
{ {
double score = quality_test(num_strings_for_quality_tests, double score = quality_test(num_strings_for_quality_tests,
string_size); string_size);
......
...@@ -45,7 +45,7 @@ void test01() ...@@ -45,7 +45,7 @@ void test01()
VERIFY( bitset<4>(s1, 4) == test01_ref<4>(s1, 4) ); VERIFY( bitset<4>(s1, 4) == test01_ref<4>(s1, 4) );
const char s2[3] = { '1', '1', '0' }; const char s2[3] = { '1', '1', '0' };
VERIFY( bitset<6>(s1, 3) == test01_ref<6>(s1, 3) ); VERIFY( bitset<6>(s2, 3) == test01_ref<6>(s2, 3) );
const char* s3 = "1110110"; const char* s3 = "1110110";
VERIFY( bitset<7>(s3) == test01_ref<7>(s3) ); VERIFY( bitset<7>(s3) == test01_ref<7>(s3) );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment