mirror of
https://github.com/facebook/zstd.git
synced 2025-08-05 19:15:58 +03:00
[FSE] Add division by zero test
This commit is contained in:
@@ -27,6 +27,7 @@
|
|||||||
#include <string.h> /* strcmp */
|
#include <string.h> /* strcmp */
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#define ZSTD_STATIC_LINKING_ONLY /* ZSTD_compressContinue, ZSTD_compressBlock */
|
#define ZSTD_STATIC_LINKING_ONLY /* ZSTD_compressContinue, ZSTD_compressBlock */
|
||||||
|
#include "fse.h"
|
||||||
#include "zstd.h" /* ZSTD_VERSION_STRING */
|
#include "zstd.h" /* ZSTD_VERSION_STRING */
|
||||||
#include "zstd_errors.h" /* ZSTD_getErrorCode */
|
#include "zstd_errors.h" /* ZSTD_getErrorCode */
|
||||||
#include "zstdmt_compress.h"
|
#include "zstdmt_compress.h"
|
||||||
@@ -1423,6 +1424,24 @@ static int basicUnitTests(U32 seed, double compressibility)
|
|||||||
}
|
}
|
||||||
DISPLAYLEVEL(3, "OK \n");
|
DISPLAYLEVEL(3, "OK \n");
|
||||||
|
|
||||||
|
DISPLAYLEVEL(3, "test%3i : testing FSE_normalizeCount() PR#1255: ", testNb++);
|
||||||
|
{
|
||||||
|
short norm[32];
|
||||||
|
unsigned count[32];
|
||||||
|
unsigned const tableLog = 5;
|
||||||
|
size_t const nbSeq = 32;
|
||||||
|
unsigned const maxSymbolValue = 31;
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
for (i = 0; i < 32; ++i)
|
||||||
|
count[i] = 1;
|
||||||
|
/* Calling FSE_normalizeCount() on a uniform distribution should not
|
||||||
|
* cause a division by zero.
|
||||||
|
*/
|
||||||
|
FSE_normalizeCount(norm, tableLog, count, nbSeq, maxSymbolValue);
|
||||||
|
}
|
||||||
|
DISPLAYLEVEL(3, "OK \n");
|
||||||
|
|
||||||
_end:
|
_end:
|
||||||
free(CNBuffer);
|
free(CNBuffer);
|
||||||
free(compressedBuffer);
|
free(compressedBuffer);
|
||||||
|
Reference in New Issue
Block a user