| 74 | } |
| 75 | |
| 76 | void demonstrateSeedVariation() |
| 77 | { |
| 78 | std::cout << "\n=== Seed Variation Demo ===\n\n"; |
| 79 | |
| 80 | std::string testData = "Same data, different seeds"; |
| 81 | std::vector<uint32_t> seeds = {0, 1, 42, 12345, 0xDEADBEEF}; |
| 82 | |
| 83 | std::cout << "How different seeds affect the same input:\n"; |
| 84 | std::cout << "Input: \"" << testData << "\"\n\n"; |
| 85 | |
| 86 | for (auto seed : seeds) |
| 87 | { |
| 88 | choc::hash::xxHash32 hasher32 (seed); |
| 89 | hasher32.addInput (testData.data(), testData.length()); |
| 90 | uint32_t hash32 = hasher32.getHash(); |
| 91 | |
| 92 | choc::hash::xxHash64 hasher64 (seed); |
| 93 | hasher64.addInput (testData.data(), testData.length()); |
| 94 | uint64_t hash64 = hasher64.getHash(); |
| 95 | |
| 96 | std::cout << "Seed 0x" << std::hex << std::setw (8) << std::setfill ('0') << seed |
| 97 | << " -> 32-bit: 0x" << std::setw (8) << hash32 |
| 98 | << ", 64-bit: 0x" << std::setw (16) << hash64 << std::dec << "\n"; |
| 99 | } |
| 100 | } |
| 101 | |
| 102 | void demonstrateStreamingHash() |
| 103 | { |