From b6a0072699e5817ea510a73afecdab22a7ae71ec Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Sat, 4 Jul 2015 16:23:52 -0800 Subject: [PATCH] Updated Visual projects --- programs/datagen.c | 67 ++++++++++--------- visual/2012/fullbench/fullbench.vcxproj | 14 ++++ .../2012/fullbench/fullbench.vcxproj.filters | 6 ++ visual/2012/fuzzer/fuzzer.vcxproj | 12 ++++ visual/2012/zstd.sln | 0 visual/2012/zstd/zstd.vcxproj | 12 ++++ 6 files changed, 79 insertions(+), 32 deletions(-) mode change 100755 => 100644 visual/2012/zstd.sln diff --git a/programs/datagen.c b/programs/datagen.c index 20eb30e9..9df9da84 100644 --- a/programs/datagen.c +++ b/programs/datagen.c @@ -71,11 +71,22 @@ #define PRIME2 2246822519U +/************************************** +* Local types +**************************************/ +#define LTLOG 13 +#define LTSIZE (1<> (32 - r))) -static U32 RDG_rand(U32* src) +static unsigned int RDG_rand(U32* src) { U32 rand32 = *src; rand32 *= PRIME1; @@ -86,23 +97,19 @@ static U32 RDG_rand(U32* src) } -#define LTSIZE 8192 -#define LTMASK (LTSIZE-1) -static void* RDG_createLiteralDistrib(const double ld) +static void RDG_fillLiteralDistrib(litDistribTable lt, double ld) { - BYTE* lt = (BYTE*)malloc(LTSIZE); U32 i = 0; BYTE character = '0'; BYTE firstChar = '('; BYTE lastChar = '}'; - if (ld<=0.02) + if (ld==0.0) { + character = 0; firstChar = 0; - lastChar = 254; - character = firstChar; + lastChar =255; } - if (ld==0.0) lastChar = 255; while (i lastChar) character = firstChar; } - return lt; } -static char RDG_genChar(U32* seed, const void* ltctx) + +static BYTE RDG_genChar(U32* seed, const litDistribTable lt) { - const BYTE* lt = (const BYTE*)ltctx; U32 id = RDG_rand(seed) & LTMASK; - return lt[id]; + return (lt[id]); } + #define RDG_DICTSIZE (32 KB) #define RDG_RAND15BITS ((RDG_rand(seed) >> 3) & 32767) #define RDG_RANDLENGTH ( ((RDG_rand(seed) >> 7) & 7) ? (RDG_rand(seed) & 15) : (RDG_rand(seed) & 511) + 15) -void RDG_genBlock(void* buffer, size_t buffSize, size_t prefixSize, double matchProba, void* litTable, unsigned* seedPtr) +void RDG_genBlock(void* buffer, size_t buffSize, size_t prefixSize, double matchProba, litDistribTable lt, unsigned* seedPtr) { BYTE* buffPtr = (BYTE*)buffer; const U32 matchProba32 = (U32)(32768 * matchProba); size_t pos = prefixSize; - void* ldctx = litTable; U32* seed = seedPtr; /* special case */ while (matchProba >= 1.0) { size_t size0 = RDG_rand(seed) & 3; - size0 = 1U << (16 + size0 * 2); + size0 = (size_t)1 << (16 + size0 * 2); size0 += RDG_rand(seed) & (size0-1); /* because size0 is power of 2*/ if (buffSize < pos + size0) { @@ -147,11 +153,11 @@ void RDG_genBlock(void* buffer, size_t buffSize, size_t prefixSize, double match } memset(buffPtr+pos, 0, size0); pos += size0; - buffPtr[pos-1] = RDG_genChar(seed, ldctx); + buffPtr[pos-1] = RDG_genChar(seed, lt); } /* init */ - if (pos==0) buffPtr[0] = RDG_genChar(seed, ldctx), pos=1; + if (pos==0) buffPtr[0] = RDG_genChar(seed, lt), pos=1; /* Generate compressible data */ while (pos < buffSize) @@ -160,11 +166,11 @@ void RDG_genBlock(void* buffer, size_t buffSize, size_t prefixSize, double match if (RDG_RAND15BITS < matchProba32) { /* Copy (within 32K) */ - int match; - U32 d; + size_t match; + size_t d; int length = RDG_RANDLENGTH + 4; U32 offset = RDG_RAND15BITS + 1; - if (offset > pos) offset = pos; + if (offset > pos) offset = (U32)pos; match = pos - offset; d = pos + length; if (d > buffSize) d = buffSize; @@ -177,7 +183,7 @@ void RDG_genBlock(void* buffer, size_t buffSize, size_t prefixSize, double match size_t length = RDG_RANDLENGTH; d = pos + length; if (d > buffSize) d = buffSize; - while (pos < d) buffPtr[pos++] = RDG_genChar(seed, ldctx); + while (pos < d) buffPtr[pos++] = RDG_genChar(seed, lt); } } } @@ -185,11 +191,10 @@ void RDG_genBlock(void* buffer, size_t buffSize, size_t prefixSize, double match void RDG_genBuffer(void* buffer, size_t size, double matchProba, double litProba, unsigned seed) { - void* ldctx; + litDistribTable lt; if (litProba==0.0) litProba = matchProba / 4.5; - ldctx = RDG_createLiteralDistrib(litProba); - RDG_genBlock(buffer, size, 0, matchProba, ldctx, &seed); - free(ldctx); + RDG_fillLiteralDistrib(lt, litProba); + RDG_genBlock(buffer, size, 0, matchProba, lt, &seed); } @@ -199,26 +204,24 @@ void RDG_genOut(unsigned long long size, double matchProba, double litProba, uns BYTE buff[RDG_DICTSIZE + RDG_BLOCKSIZE]; U64 total = 0; size_t genBlockSize = RDG_BLOCKSIZE; - void* ldctx; + litDistribTable lt; /* init */ if (litProba==0.0) litProba = matchProba / 4.5; - ldctx = RDG_createLiteralDistrib(litProba); + RDG_fillLiteralDistrib(lt, litProba); SET_BINARY_MODE(stdout); /* Generate dict */ - RDG_genBlock(buff, RDG_DICTSIZE, 0, matchProba, ldctx, &seed); + RDG_genBlock(buff, RDG_DICTSIZE, 0, matchProba, lt, &seed); /* Generate compressible data */ while (total < size) { - RDG_genBlock(buff, RDG_DICTSIZE+RDG_BLOCKSIZE, RDG_DICTSIZE, matchProba, ldctx, &seed); + RDG_genBlock(buff, RDG_DICTSIZE+RDG_BLOCKSIZE, RDG_DICTSIZE, matchProba, lt, &seed); if (size-total < RDG_BLOCKSIZE) genBlockSize = (size_t)(size-total); total += genBlockSize; fwrite(buff, 1, genBlockSize, stdout); /* update dict */ memcpy(buff, buff + RDG_BLOCKSIZE, RDG_DICTSIZE); } - - free(ldctx); } diff --git a/visual/2012/fullbench/fullbench.vcxproj b/visual/2012/fullbench/fullbench.vcxproj index 4b6e0c35..5d47329f 100644 --- a/visual/2012/fullbench/fullbench.vcxproj +++ b/visual/2012/fullbench/fullbench.vcxproj @@ -69,18 +69,22 @@ true $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + true true $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + true false $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + true false $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + true @@ -89,6 +93,8 @@ Level4 Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + true Console @@ -102,6 +108,8 @@ Level4 Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + true Console @@ -117,6 +125,8 @@ true true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + true Console @@ -134,6 +144,8 @@ true true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + true Console @@ -145,6 +157,7 @@ + @@ -152,6 +165,7 @@ + diff --git a/visual/2012/fullbench/fullbench.vcxproj.filters b/visual/2012/fullbench/fullbench.vcxproj.filters index 35a89001..5890bd63 100644 --- a/visual/2012/fullbench/fullbench.vcxproj.filters +++ b/visual/2012/fullbench/fullbench.vcxproj.filters @@ -24,6 +24,9 @@ Fichiers sources + + Fichiers sources + @@ -38,5 +41,8 @@ Fichiers d%27en-tĂȘte + + Fichiers d%27en-tĂȘte + \ No newline at end of file diff --git a/visual/2012/fuzzer/fuzzer.vcxproj b/visual/2012/fuzzer/fuzzer.vcxproj index a0dc550c..68d5273f 100644 --- a/visual/2012/fuzzer/fuzzer.vcxproj +++ b/visual/2012/fuzzer/fuzzer.vcxproj @@ -69,18 +69,22 @@ true $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + true true $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + true false $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + true false $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + true @@ -89,6 +93,8 @@ Level4 Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + true Console @@ -102,6 +108,8 @@ Level4 Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + true Console @@ -117,6 +125,8 @@ true true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + true Console @@ -134,6 +144,8 @@ true true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + true Console diff --git a/visual/2012/zstd.sln b/visual/2012/zstd.sln old mode 100755 new mode 100644 diff --git a/visual/2012/zstd/zstd.vcxproj b/visual/2012/zstd/zstd.vcxproj index 45e4bc15..eb8289b4 100644 --- a/visual/2012/zstd/zstd.vcxproj +++ b/visual/2012/zstd/zstd.vcxproj @@ -86,18 +86,22 @@ true $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + true true $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + true false $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + true false $(SolutionDir)..\..\lib;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath); + true @@ -106,6 +110,8 @@ Level4 Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + true Console @@ -119,6 +125,8 @@ Level4 Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + true Console @@ -134,6 +142,8 @@ true true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + true Console @@ -151,6 +161,8 @@ true true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + true Console