Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

100 lines
1.3 KiB

/*++
Copyright (c) 1998 Microsoft Corporation
Module Name:
meancomp.h
Abstract:
SIS Groveler mean comparitor headers
Authors:
John Douceur, 1998
Environment:
User Mode
Revision History:
--*/
#ifndef _INC_MEANCOMP
#define _INC_MEANCOMP
class MeanComparator
{
public:
MeanComparator(
int num_clans,
int sample_group_size,
double acceptance_p_value,
double rejection_p_value,
double tolerance);
~MeanComparator();
void reset();
void sample(
int clan,
double value);
bool within(
double compare_value,
...);
bool exceeds(
double compare_value,
...);
private:
struct PTableDescriptor
{
double p_value;
int table_size;
int *p_table;
PTableDescriptor *next;
PTableDescriptor *prev;
int ref_count;
};
struct Sample
{
int clan;
double value;
};
static PTableDescriptor *add_p_value(
double p_value,
int sample_table_size);
static bool remove_p_value(
PTableDescriptor *ptd);
static const int max_sample_table_size;
static PTableDescriptor p_list;
int num_clans;
int sample_group_size;
int sample_table_size;
PTableDescriptor *acceptance_table;
PTableDescriptor *rejection_table;
double tolerance;
Sample *samples;
double *compare_values;
int current_offset;
int current_group_size;
};
#endif /* _INC_MEANCOMP */