mirror of
https://github.com/zeek/zeek.git
synced 2025-10-06 16:48:19 +00:00
31 lines
844 B
C++
31 lines
844 B
C++
#pragma once
|
|
|
|
#include "zeek-config.h"
|
|
#include <stdint.h>
|
|
|
|
#define RT_MONTEN 6 /* Bytes used as Monte Carlo
|
|
co-ordinates. This should be no more
|
|
bits than the mantissa of your "double"
|
|
floating point type. */
|
|
|
|
ZEEK_FORWARD_DECLARE_NAMESPACED(EntropyVal, zeek);
|
|
|
|
class RandTest {
|
|
public:
|
|
RandTest();
|
|
void add(const void* buf, int bufl);
|
|
void end(double* r_ent, double* r_chisq, double* r_mean,
|
|
double* r_montepicalc, double* r_scc);
|
|
|
|
private:
|
|
friend class zeek::EntropyVal;
|
|
|
|
int64_t ccount[256]; /* Bins to count occurrences of values */
|
|
int64_t totalc; /* Total bytes counted */
|
|
int mp;
|
|
int sccfirst;
|
|
unsigned int monte[RT_MONTEN];
|
|
int64_t inmont, mcount;
|
|
double cexp, montex, montey, montepi,
|
|
sccu0, scclast, scct1, scct2, scct3;
|
|
};
|