From fbe31ada800b3417d10a24f6c0481d3cb6b161e4 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Thu, 9 Feb 2023 13:16:30 +0800 Subject: Use stable sort in generation of lookup tables (#2638) * Add Slang::List::stableSort * Use stable sort in generation of lookup tables * Disable newline translation when writing lookup tables --- tools/slang-lookup-generator/lookup-generator-main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tools') diff --git a/tools/slang-lookup-generator/lookup-generator-main.cpp b/tools/slang-lookup-generator/lookup-generator-main.cpp index 27dae8e54..882563767 100644 --- a/tools/slang-lookup-generator/lookup-generator-main.cpp +++ b/tools/slang-lookup-generator/lookup-generator-main.cpp @@ -128,7 +128,7 @@ static HashFindResult minimalPerfectHash(const List& ss, HashParams& has { initialBuckets[hash(s)].add(s); } - initialBuckets.sort([](const List& a, const List& b) { return a.getCount() > b.getCount(); }); + initialBuckets.stableSort([](const List& a, const List& b) { return a.getCount() > b.getCount(); }); // These are our outputs, the salts are calculated such that for all input // word, x, hash(x, salt[hash(x, 0)]) is unique @@ -211,7 +211,7 @@ void writeHashFile( const HashParams& hashParams) { FILE* f = nullptr; - fopen_s(&f, outCppPath, "w"); + fopen_s(&f, outCppPath, "wb"); if (!f) { return; -- cgit v1.2.3