From eaa56751946aff0514bfa12101dc87b0bc4441a4 Mon Sep 17 00:00:00 2001 From: Maxim Pimenov Date: Wed, 15 Jul 2015 21:19:37 +0300 Subject: [PATCH] [omim] Remove base/pseudo_random.hpp and add std/random.hpp instead. --- base/base.pro | 2 -- base/pseudo_random.cpp | 31 ----------------- base/pseudo_random.hpp | 33 ------------------- coding/coding_tests/arithmetic_codec_test.cpp | 8 ++--- .../coding_tests/base64_for_user_id_test.cpp | 12 ++++--- coding/coding_tests/bit_streams_test.cpp | 10 +++--- .../compressed_bit_vector_test.cpp | 33 ++++++++++--------- .../compressed_varnum_vector_test.cpp | 9 +++-- coding/coding_tests/file_sort_test.cpp | 8 +++-- coding/coding_tests/hex_test.cpp | 8 +++-- coding/coding_tests/reader_cache_test.cpp | 9 ++--- .../coding_tests/var_serial_vector_test.cpp | 10 ++++-- coding/coding_tests/varint_vector_test.cpp | 17 +++++----- indexer/indexer_tests/cell_id_test.cpp | 15 +++++---- map/map_tests/mwm_url_tests.cpp | 17 +++++----- std/random.hpp | 15 +++++++++ xcode/base/base.xcodeproj/project.pbxproj | 8 ----- 17 files changed, 101 insertions(+), 144 deletions(-) delete mode 100644 base/pseudo_random.cpp delete mode 100644 base/pseudo_random.hpp create mode 100644 std/random.hpp diff --git a/base/base.pro b/base/base.pro index 42e71abc2b..5709bcc700 100644 --- a/base/base.pro +++ b/base/base.pro @@ -19,7 +19,6 @@ SOURCES += \ lower_case.cpp \ normalize_unicode.cpp \ object_tracker.cpp \ - pseudo_random.cpp \ resource_pool.cpp \ runner.cpp \ shared_buffer_manager.cpp \ @@ -59,7 +58,6 @@ HEADERS += \ mutex.hpp \ object_tracker.hpp \ observer_list.hpp \ - pseudo_random.hpp \ regexp.hpp \ resource_pool.hpp \ rolling_hash.hpp \ diff --git a/base/pseudo_random.cpp b/base/pseudo_random.cpp deleted file mode 100644 index c26293e1d7..0000000000 --- a/base/pseudo_random.cpp +++ /dev/null @@ -1,31 +0,0 @@ -#include "base/pseudo_random.hpp" - - -namespace rnd -{ - -PseudoRNG32 & Instance() -{ - static PseudoRNG32 rng; - return rng; -} - -string GenerateString() -{ - size_t const size = Instance().Generate() % 20 + 1; - string result; - result.reserve(size); - - for (size_t i = 0; i < size; ++i) - result.append(1, static_cast(Instance().Generate() + 1)); - return result; -} - -uint64_t GetRand64() -{ - uint64_t result = Instance().Generate(); - result ^= uint64_t(Instance().Generate()) << 32; - return result; -} - -} diff --git a/base/pseudo_random.hpp b/base/pseudo_random.hpp deleted file mode 100644 index 751451af8f..0000000000 --- a/base/pseudo_random.hpp +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include "base/base.hpp" - -#include "std/string.hpp" - - -class LCG32 -{ -public: - LCG32() : m_seed(31) {} - LCG32(size_t seed) : m_seed(static_cast(seed)) {} - - size_t Generate() - { - m_seed = m_seed * 69069 + 1; - return m_seed; - } - -private: - uint32_t m_seed; -}; - -typedef LCG32 PseudoRNG32; - - -namespace rnd -{ - -string GenerateString(); -uint64_t GetRand64(); - -} diff --git a/coding/coding_tests/arithmetic_codec_test.cpp b/coding/coding_tests/arithmetic_codec_test.cpp index 27fbc83529..4ed548ebf8 100644 --- a/coding/coding_tests/arithmetic_codec_test.cpp +++ b/coding/coding_tests/arithmetic_codec_test.cpp @@ -3,12 +3,12 @@ #include "coding/arithmetic_codec.hpp" #include "coding/reader.hpp" -#include "base/pseudo_random.hpp" +#include "std/random.hpp" UNIT_TEST(ArithmeticCodec) { - PseudoRNG32 rng; + mt19937 rng(0); uint32_t const MAX_FREQ = 2048; uint32_t const ALPHABET_SIZE = 256; @@ -16,7 +16,7 @@ UNIT_TEST(ArithmeticCodec) vector freqs; // Generate random freqs. for (uint32_t i = 0; i < ALPHABET_SIZE; ++i) { - uint32_t freq = rng.Generate() % MAX_FREQ; + uint32_t freq = rng() % MAX_FREQ; freqs.push_back(freq); } // Make at least one frequency zero for corner cases. @@ -25,7 +25,7 @@ UNIT_TEST(ArithmeticCodec) for (uint32_t i = 0; i < freqs.size(); ++i) { uint32_t freq = freqs[i]; for (uint32_t j = 0; j < freq; ++j) { - uint32_t pos = rng.Generate() % (symbols.size() + 1); + uint32_t pos = rng() % (symbols.size() + 1); symbols.insert(symbols.begin() + pos, 1, i); } } diff --git a/coding/coding_tests/base64_for_user_id_test.cpp b/coding/coding_tests/base64_for_user_id_test.cpp index 5bf9c3e40b..527c7f91e6 100644 --- a/coding/coding_tests/base64_for_user_id_test.cpp +++ b/coding/coding_tests/base64_for_user_id_test.cpp @@ -1,10 +1,12 @@ #include "testing/testing.hpp" -#include "base/logging.hpp" -#include "base/pseudo_random.hpp" - #include "coding/base64.hpp" +#include "base/logging.hpp" + +#include "std/random.hpp" + + using namespace base64_for_user_ids; UNIT_TEST(Base64_Encode_User_Ids) @@ -23,7 +25,7 @@ UNIT_TEST(Base64_Encode_User_Ids) UNIT_TEST(Base64_QualityTest_User_Ids) { size_t const NUMBER_OF_TESTS = 10000; - LCG32 generator(NUMBER_OF_TESTS); + mt19937 rng(0); for (size_t i = 0; i < NUMBER_OF_TESTS; ++i) { string randomBytes; @@ -34,7 +36,7 @@ UNIT_TEST(Base64_QualityTest_User_Ids) randomBytes.push_back('\0'); continue; } - randomBytes.push_back(static_cast(generator.Generate())); + randomBytes.push_back(static_cast(rng())); } string const result = encode(randomBytes); TEST_GREATER_OR_EQUAL(result.size(), randomBytes.size(), diff --git a/coding/coding_tests/bit_streams_test.cpp b/coding/coding_tests/bit_streams_test.cpp index c7a15ec1d9..f9ad0d23ed 100644 --- a/coding/coding_tests/bit_streams_test.cpp +++ b/coding/coding_tests/bit_streams_test.cpp @@ -4,22 +4,20 @@ #include "coding/reader.hpp" #include "coding/writer.hpp" -#include "base/pseudo_random.hpp" - +#include "std/random.hpp" #include "std/utility.hpp" #include "std/vector.hpp" -using namespace rnd; - UNIT_TEST(BitStream_ReadWrite) { + mt19937 rng(0); uint32_t const NUMS_CNT = 1000; vector< pair > nums; for (uint32_t i = 0; i < NUMS_CNT; ++i) { - uint32_t numBits = GetRand64() % 65; - uint64_t num = GetRand64() & ((uint64_t(1) << numBits) - 1); + uint32_t numBits = rng() % 65; + uint64_t num = rng() & ((uint64_t(1) << numBits) - 1); nums.push_back(make_pair(num, numBits)); } diff --git a/coding/coding_tests/compressed_bit_vector_test.cpp b/coding/coding_tests/compressed_bit_vector_test.cpp index 026abe1a8d..70e4892388 100644 --- a/coding/coding_tests/compressed_bit_vector_test.cpp +++ b/coding/coding_tests/compressed_bit_vector_test.cpp @@ -4,21 +4,20 @@ #include "coding/reader.hpp" #include "coding/writer.hpp" -#include "base/pseudo_random.hpp" +#include "std/random.hpp" -using namespace rnd; - uint32_t const NUMS_COUNT = 12345; UNIT_TEST(CompressedBitVector_Sparse) { + mt19937 rng(0); vector posOnes; uint32_t sum = 0; for (uint32_t i = 0; i < NUMS_COUNT; ++i) { - uint32_t byteSize = GetRand64() % 2 + 1; - uint64_t num = GetRand64() & ((uint64_t(1) << (byteSize * 7)) - 1); + uint32_t byteSize = rng() % 2 + 1; + uint64_t num = rng() & ((uint64_t(1) << (byteSize * 7)) - 1); if (num == 0) num = 1; sum += num; posOnes.push_back(sum); @@ -43,16 +42,17 @@ UNIT_TEST(CompressedBitVector_Sparse) UNIT_TEST(CompressedBitVector_Dense) { + mt19937 rng(0); vector posOnes; //uint32_t prevPos = 0; uint32_t sum = 0; for (uint32_t i = 0; i < NUMS_COUNT; ++i) { - uint32_t zeroesByteSize = GetRand64() % 2 + 1; - uint64_t zeroesRangeSize = (GetRand64() & ((uint64_t(1) << (zeroesByteSize * 7)) - 1)) + 1; + uint32_t zeroesByteSize = rng() % 2 + 1; + uint64_t zeroesRangeSize = (rng() & ((uint64_t(1) << (zeroesByteSize * 7)) - 1)) + 1; sum += zeroesRangeSize; - uint32_t onesByteSize = GetRand64() % 1 + 1; - uint64_t onesRangeSize = (GetRand64() & ((uint64_t(1) << (onesByteSize * 7)) - 1)) + 1; + uint32_t onesByteSize = rng() % 1 + 1; + uint64_t onesRangeSize = (rng() & ((uint64_t(1) << (onesByteSize * 7)) - 1)) + 1; for (uint32_t j = 0; j < onesRangeSize; ++j) posOnes.push_back(sum + j); sum += onesRangeSize; } @@ -76,11 +76,12 @@ UNIT_TEST(CompressedBitVector_Dense) UNIT_TEST(BitVectors_And) { + mt19937 rng(0); vector v1(NUMS_COUNT * 2, false), v2(NUMS_COUNT * 2, false); for (uint32_t i = 0; i < NUMS_COUNT; ++i) { - v1[GetRand64() % v1.size()] = true; - v2[GetRand64() % v2.size()] = true; + v1[rng() % v1.size()] = true; + v2[rng() % v2.size()] = true; } vector posOnes1, posOnes2, andPos; for (uint32_t i = 0; i < v1.size(); ++i) @@ -95,11 +96,12 @@ UNIT_TEST(BitVectors_And) UNIT_TEST(BitVectors_Or) { + mt19937 rng(0); vector v1(NUMS_COUNT * 2, false), v2(NUMS_COUNT * 2, false); for (uint32_t i = 0; i < NUMS_COUNT; ++i) { - v1[GetRand64() % v1.size()] = true; - v2[GetRand64() % v2.size()] = true; + v1[rng() % v1.size()] = true; + v2[rng() % v2.size()] = true; } vector posOnes1, posOnes2, orPos; for (uint32_t i = 0; i < v1.size(); ++i) @@ -114,13 +116,14 @@ UNIT_TEST(BitVectors_Or) UNIT_TEST(BitVectors_SubAnd) { + mt19937 rng(0); vector v1(NUMS_COUNT * 2, false); //uint64_t numV1Ones = 0; - for (uint32_t i = 0; i < v1.size(); ++i) v1[i] = (GetRand64() % 2) == 0; + for (uint32_t i = 0; i < v1.size(); ++i) v1[i] = (rng() % 2) == 0; vector posOnes1; for (uint32_t i = 0; i < v1.size(); ++i) if (v1[i]) posOnes1.push_back(i); vector v2(posOnes1.size(), false); - for (uint32_t i = 0; i < v2.size(); ++i) v2[i] = (GetRand64() % 2) == 0; + for (uint32_t i = 0; i < v2.size(); ++i) v2[i] = (rng() % 2) == 0; vector posOnes2, subandPos; for (uint32_t i = 0; i < v2.size(); ++i) if (v2[i]) posOnes2.push_back(i); for (uint32_t i = 0, j = 0; i < v1.size(); ++i) diff --git a/coding/coding_tests/compressed_varnum_vector_test.cpp b/coding/coding_tests/compressed_varnum_vector_test.cpp index a696f4c8a3..fdeb353fcb 100644 --- a/coding/coding_tests/compressed_varnum_vector_test.cpp +++ b/coding/coding_tests/compressed_varnum_vector_test.cpp @@ -6,11 +6,9 @@ #include "coding/reader.hpp" #include "coding/writer.hpp" -#include "base/pseudo_random.hpp" +#include "std/random.hpp" -using namespace rnd; - struct NumsSource { NumsSource(vector const & v) : m_v(v) {} @@ -21,14 +19,15 @@ struct NumsSource UNIT_TEST(CompressedVarnumVector) { + mt19937 rng(0); uint32_t const NUMS_CNT = 5000; uint32_t const MAX_NUM_BYTESIZE = 5; vector nums, sums(1, 0); uint64_t sum = 0; for (uint32_t i = 0; i < NUMS_CNT; ++i) { - uint32_t byteSize = GetRand64() % MAX_NUM_BYTESIZE + 1; - uint64_t num = GetRand64() & ((uint64_t(1) << (byteSize * 8)) - 1); + uint32_t byteSize = rng() % MAX_NUM_BYTESIZE + 1; + uint64_t num = rng() & ((uint64_t(1) << (byteSize * 8)) - 1); nums.push_back(num); sum += num; sums.push_back(sum); diff --git a/coding/coding_tests/file_sort_test.cpp b/coding/coding_tests/file_sort_test.cpp index 0c4751c445..4a9feecac4 100644 --- a/coding/coding_tests/file_sort_test.cpp +++ b/coding/coding_tests/file_sort_test.cpp @@ -1,8 +1,10 @@ #include "testing/testing.hpp" + #include "coding/file_sort.hpp" #include "coding/write_to_sink.hpp" #include "coding/reader.hpp" -#include "base/pseudo_random.hpp" + +#include "std/random.hpp" namespace { @@ -40,10 +42,10 @@ UNIT_TEST(FileSorter_Smoke) UNIT_TEST(FileSorter_Random) { - PseudoRNG32 rng; + mt19937 rng(0); vector data(1000); for (size_t i = 0; i < data.size(); ++i) - data[i] = ((i+1 % 100) ? rng.Generate() : data[i - 20]); + data[i] = ((i+1 % 100) ? rng() : data[i - 20]); TestFileSorter(data, "file_sorter_test_random.tmp", data.size() / 10); } diff --git a/coding/coding_tests/hex_test.cpp b/coding/coding_tests/hex_test.cpp index 2b9993c59d..aabc66f4fc 100644 --- a/coding/coding_tests/hex_test.cpp +++ b/coding/coding_tests/hex_test.cpp @@ -2,8 +2,7 @@ #include "coding/hex.hpp" -#include "base/pseudo_random.hpp" - +#include "std/random.hpp" #include "std/string.hpp" @@ -18,9 +17,12 @@ UNIT_TEST(GoldenRecode) UNIT_TEST(RandomRecode) { + mt19937 rng(0); for (size_t i = 0; i < 256; ++i) { - string const data = rnd::GenerateString(); + string data(1 + (rng() % 20), 0); + for (size_t j = 0; j < data.size(); ++j) + data[j] = static_cast(rng() % 26) + 'A'; TEST_EQUAL(data, FromHex(ToHex(data)), ()); } } diff --git a/coding/coding_tests/reader_cache_test.cpp b/coding/coding_tests/reader_cache_test.cpp index 11969a6370..66079d7034 100644 --- a/coding/coding_tests/reader_cache_test.cpp +++ b/coding/coding_tests/reader_cache_test.cpp @@ -3,7 +3,8 @@ #include "coding/reader_cache.hpp" #include "coding/reader.hpp" -#include "base/pseudo_random.hpp" +#include "std/algorithm.hpp" +#include "std/random.hpp" namespace @@ -31,11 +32,11 @@ UNIT_TEST(CacheReaderRandomTest) data[i] = static_cast(i % 253); MemReader memReader(&data[0], data.size()); CacheReader cacheReader(MemReader(&data[0], data.size()), 10, 5); - PseudoRNG32 rng; + mt19937 rng(0); for (size_t i = 0; i < 100000; ++i) { - size_t pos = rng.Generate() % data.size(); - size_t len = min(1 + (rng.Generate() % 127), data.size() - pos); + size_t pos = rng() % data.size(); + size_t len = min(static_cast(1 + (rng() % 127)), data.size() - pos); string readMem(len, '0'), readCache(len, '0'); memReader.Read(pos, &readMem[0], len); cacheReader.Read(pos, &readCache[0], len); diff --git a/coding/coding_tests/var_serial_vector_test.cpp b/coding/coding_tests/var_serial_vector_test.cpp index 911b82dee6..b2152ffe98 100644 --- a/coding/coding_tests/var_serial_vector_test.cpp +++ b/coding/coding_tests/var_serial_vector_test.cpp @@ -8,8 +8,8 @@ #include "coding/writer.hpp" #include "base/macros.hpp" -#include "base/pseudo_random.hpp" +#include "std/random.hpp" #include "std/string.hpp" #include "std/vector.hpp" @@ -87,10 +87,16 @@ UNIT_TEST(ReadSerial) UNIT_TEST(EncodeDecode) { + mt19937 rng(0); vector elements; for (size_t i = 0; i < 1024; ++i) - elements.push_back(rnd::GenerateString()); + { + string s(1 + (rng() % 20), 0); + for (size_t j = 0; j < s.size(); ++j) + s[j] = static_cast(rng() % 26) + 'a'; + elements.push_back(s); + } string serial; PushBackByteSink sink(serial); diff --git a/coding/coding_tests/varint_vector_test.cpp b/coding/coding_tests/varint_vector_test.cpp index b5090b8ccb..be0aa896df 100644 --- a/coding/coding_tests/varint_vector_test.cpp +++ b/coding/coding_tests/varint_vector_test.cpp @@ -1,12 +1,11 @@ #include "testing/testing.hpp" /* +#include "coding/reader.hpp" #include "coding/varint_vector.hpp" #include "coding/writer.hpp" -#include "coding/reader.hpp" - -#include "base/pseudo_random.hpp" +#include "std/random.hpp" using namespace varint; @@ -23,7 +22,7 @@ UNIT_TEST(VarintVector_Use) uint32_t const c_index_tests_count = 50000; uint32_t const c_sum_tests_count = 20000; - PseudoRNG32 rnd; + mt19937 rng(0); // Generate vector. { @@ -32,8 +31,8 @@ UNIT_TEST(VarintVector_Use) for (uint32_t i = 0; i < c_nums_count; ++i) { g_nums_sums.push_back(sum); - uint8_t const byte_size = rnd.Generate() % 6 + 1; - uint64_t const num = rnd.Generate() & ((uint64_t(1) << (byte_size * 7)) - 1); + uint8_t const byte_size = rng() % 6 + 1; + uint64_t const num = rng() & ((uint64_t(1) << (byte_size * 7)) - 1); g_nums.push_back(num); builder.AddNum(num); @@ -70,7 +69,7 @@ UNIT_TEST(VarintVector_Use) Vector v(&reader); for (uint32_t i = 0; i < c_index_tests_count; ++i) { - uint64_t const index = rnd.Generate() % g_nums.size(); + uint64_t const index = rng() % g_nums.size(); uint32_t serial_pos = 0; uint64_t sum_before = 0; @@ -113,7 +112,7 @@ UNIT_TEST(VarintVector_Use) Vector v(&reader); for (uint32_t i = 0; i < c_sum_tests_count; ++i) { - uint64_t index = rnd.Generate() % (g_nums_sums.size() - 2); + uint64_t index = rng() % (g_nums_sums.size() - 2); while (g_nums_sums[index] == g_nums_sums[index + 1]) { ++index; @@ -141,7 +140,7 @@ UNIT_TEST(VarintVector_Use) Vector v(&reader); for (uint32_t i = 0; i < c_sum_tests_count; ++i) { - uint64_t index = rnd.Generate() % (g_nums_sums.size() - 2); + uint64_t index = rng() % (g_nums_sums.size() - 2); while (g_nums_sums[index] + 1 >= g_nums_sums[index + 1]) { ++index; diff --git a/indexer/indexer_tests/cell_id_test.cpp b/indexer/indexer_tests/cell_id_test.cpp index e3e37d2dfb..10f0a29100 100644 --- a/indexer/indexer_tests/cell_id_test.cpp +++ b/indexer/indexer_tests/cell_id_test.cpp @@ -1,10 +1,13 @@ -#include "indexer/cell_id.hpp" #include "testing/testing.hpp" + +#include "indexer/cell_id.hpp" + #include "coding/hex.hpp" -#include "base/pseudo_random.hpp" + #include "std/cmath.hpp" +#include "std/random.hpp" #include "std/string.hpp" -#include "std/cmath.hpp" + typedef m2::CellId<30> CellIdT; @@ -39,11 +42,11 @@ namespace UNIT_TEST(CellId_RandomRecode) { - PseudoRNG32 rng; + mt19937 rng(0); for (size_t i = 0; i < 1000; ++i) { - uint32_t const x = rng.Generate() % 2000; - uint32_t const y = rng.Generate() % 1000; + uint32_t const x = rng() % 2000; + uint32_t const y = rng() % 1000; m2::PointD const pt = CellIdConverter, CellIdT>::FromCellId( CellIdConverter, CellIdT>::ToCellId(x, y)); diff --git a/map/map_tests/mwm_url_tests.cpp b/map/map_tests/mwm_url_tests.cpp index d6df81e8d7..21a9b63d19 100644 --- a/map/map_tests/mwm_url_tests.cpp +++ b/map/map_tests/mwm_url_tests.cpp @@ -6,7 +6,8 @@ #include "coding/uri.hpp" #include "base/string_format.hpp" -#include "base/pseudo_random.hpp" + +#include "std/random.hpp" using namespace url_scheme; @@ -262,9 +263,9 @@ string generatePartOfUrl(url_scheme::ApiPoint const & point) string randomString(size_t size, size_t seed) { string result(size, '0'); - LCG32 random(seed); + mt19937 rng(seed); for (size_t i = 0; i < size; ++i) - result[i] = 'a' + random.Generate() % 26; + result[i] = 'a' + rng() % 26; return result; } @@ -274,11 +275,11 @@ void generateRandomTest(size_t numberOfPoints, size_t stringLength) for (size_t i = 0; i < numberOfPoints; ++i) { url_scheme::ApiPoint point; - LCG32 random(i); - point.m_lat = random.Generate() % 90; - point.m_lat *= random.Generate() % 2 == 0 ? 1 : -1; - point.m_lon = random.Generate() % 180; - point.m_lon *= random.Generate() % 2 == 0 ? 1 : -1; + mt19937 rng(i); + point.m_lat = rng() % 90; + point.m_lat *= rng() % 2 == 0 ? 1 : -1; + point.m_lon = rng() % 180; + point.m_lon *= rng() % 2 == 0 ? 1 : -1; point.m_name = randomString(stringLength, i); point.m_id = randomString(stringLength, i); vect[i] = point; diff --git a/std/random.hpp b/std/random.hpp new file mode 100644 index 0000000000..6b792f0f3d --- /dev/null +++ b/std/random.hpp @@ -0,0 +1,15 @@ +#pragma once + +#ifdef new +#undef new +#endif + +#include + +using std::mt19937; +using std::uniform_int_distribution; + +#ifdef DEBUG_NEW +#define new DEBUG_NEW +#endif + diff --git a/xcode/base/base.xcodeproj/project.pbxproj b/xcode/base/base.xcodeproj/project.pbxproj index d1a4b06f30..3dd0ab1315 100644 --- a/xcode/base/base.xcodeproj/project.pbxproj +++ b/xcode/base/base.xcodeproj/project.pbxproj @@ -39,8 +39,6 @@ 675341E71A3F57E400A0A8C3 /* normalize_unicode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675341A21A3F57E400A0A8C3 /* normalize_unicode.cpp */; }; 675341E81A3F57E400A0A8C3 /* object_tracker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675341A31A3F57E400A0A8C3 /* object_tracker.cpp */; }; 675341E91A3F57E400A0A8C3 /* object_tracker.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 675341A41A3F57E400A0A8C3 /* object_tracker.hpp */; }; - 675341EA1A3F57E400A0A8C3 /* pseudo_random.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675341A51A3F57E400A0A8C3 /* pseudo_random.cpp */; }; - 675341EB1A3F57E400A0A8C3 /* pseudo_random.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 675341A61A3F57E400A0A8C3 /* pseudo_random.hpp */; }; 675341EC1A3F57E400A0A8C3 /* regexp.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 675341A71A3F57E400A0A8C3 /* regexp.hpp */; }; 675341ED1A3F57E400A0A8C3 /* resource_pool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675341A81A3F57E400A0A8C3 /* resource_pool.cpp */; }; 675341EE1A3F57E400A0A8C3 /* resource_pool.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 675341A91A3F57E400A0A8C3 /* resource_pool.hpp */; }; @@ -116,8 +114,6 @@ 675341A21A3F57E400A0A8C3 /* normalize_unicode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = normalize_unicode.cpp; sourceTree = ""; }; 675341A31A3F57E400A0A8C3 /* object_tracker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = object_tracker.cpp; sourceTree = ""; }; 675341A41A3F57E400A0A8C3 /* object_tracker.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = object_tracker.hpp; sourceTree = ""; }; - 675341A51A3F57E400A0A8C3 /* pseudo_random.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pseudo_random.cpp; sourceTree = ""; }; - 675341A61A3F57E400A0A8C3 /* pseudo_random.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = pseudo_random.hpp; sourceTree = ""; }; 675341A71A3F57E400A0A8C3 /* regexp.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = regexp.hpp; sourceTree = ""; }; 675341A81A3F57E400A0A8C3 /* resource_pool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = resource_pool.cpp; sourceTree = ""; }; 675341A91A3F57E400A0A8C3 /* resource_pool.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = resource_pool.hpp; sourceTree = ""; }; @@ -224,8 +220,6 @@ 675341A21A3F57E400A0A8C3 /* normalize_unicode.cpp */, 675341A31A3F57E400A0A8C3 /* object_tracker.cpp */, 675341A41A3F57E400A0A8C3 /* object_tracker.hpp */, - 675341A51A3F57E400A0A8C3 /* pseudo_random.cpp */, - 675341A61A3F57E400A0A8C3 /* pseudo_random.hpp */, 675341A71A3F57E400A0A8C3 /* regexp.hpp */, 675341A81A3F57E400A0A8C3 /* resource_pool.cpp */, 675341A91A3F57E400A0A8C3 /* resource_pool.hpp */, @@ -325,7 +319,6 @@ 675341CB1A3F57E400A0A8C3 /* array_adapters.hpp in Headers */, 6753420B1A3F57E400A0A8C3 /* threaded_container.hpp in Headers */, 675342051A3F57E400A0A8C3 /* swap.hpp in Headers */, - 675341EB1A3F57E400A0A8C3 /* pseudo_random.hpp in Headers */, 675341FD1A3F57E400A0A8C3 /* stl_add.hpp in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -395,7 +388,6 @@ 675341F01A3F57E400A0A8C3 /* runner.cpp in Sources */, 675341D41A3F57E400A0A8C3 /* condition_bada.cpp in Sources */, 6753420E1A3F57E400A0A8C3 /* timer.cpp in Sources */, - 675341EA1A3F57E400A0A8C3 /* pseudo_random.cpp in Sources */, 675341F61A3F57E400A0A8C3 /* shared_buffer_manager.cpp in Sources */, 675341DA1A3F57E400A0A8C3 /* exception.cpp in Sources */, 675341F91A3F57E400A0A8C3 /* src_point.cpp in Sources */,