make PRS and BC0 compression deterministic across environments

This commit is contained in:
Martin Michelsen
2023-01-19 19:21:52 -08:00
parent a4f52b9b22
commit b02c82bb0d
2 changed files with 3 additions and 2 deletions
+1 -1
View File
@@ -394,7 +394,7 @@ string bc0_compress(
parray<uint8_t, 0x1000> memo;
uint16_t memo_offset = 0x0FEE;
vector<unordered_set<size_t>> memo_index(0x100);
vector<set<size_t>> memo_index(0x100);
auto write_memo = [&](uint8_t new_v) -> void {
uint8_t existing_v = memo[memo_offset];
if (existing_v != new_v) {
+2 -1
View File
@@ -4,6 +4,7 @@
#include <string>
#include <functional>
#include <set>
#include "Text.hh"
@@ -50,7 +51,7 @@ private:
parray<uint8_t, 0x100> forward_log;
size_t compression_offset;
parray<uint8_t, 0x2000> reverse_log;
std::vector<std::unordered_set<size_t>> reverse_log_index;
std::vector<std::set<size_t>> reverse_log_index;
StringWriter output;
};