110#define InitSampleSearch(S, C) (((C) == nullptr) ? (S = NIL_LIST) : (S = push(NIL_LIST, (C))))
116CLUSTERER *
MakeClusterer(int16_t SampleSize,
const PARAM_DESC ParamDesc[]);
119SAMPLE *
MakeSample(CLUSTERER *Clusterer,
const float *Feature, uint32_t CharID);
134float Mean(PROTOTYPE *Proto, uint16_t Dimension);
139int32_t
MergeClusters(int16_t N, PARAM_DESC ParamDesc[], int32_t n1, int32_t n2,
float m[],
140 float m1[],
float m2[]);
int32_t MergeClusters(int16_t N, PARAM_DESC ParamDesc[], int32_t n1, int32_t n2, float m[], float m1[], float m2[])
float Mean(PROTOTYPE *Proto, uint16_t Dimension)
CLUSTER * NextSample(LIST *SearchState)
void FreeProtoList(LIST *ProtoList)
void FreePrototype(void *arg)
CLUSTERER * MakeClusterer(int16_t SampleSize, const PARAM_DESC ParamDesc[])
float StandardDeviation(PROTOTYPE *Proto, uint16_t Dimension)
void FreeClusterer(CLUSTERER *Clusterer)
SAMPLE * MakeSample(CLUSTERER *Clusterer, const float *Feature, uint32_t CharID)
LIST ClusterSamples(CLUSTERER *Clusterer, CLUSTERCONFIG *Config)
std::vector< float > Mean
std::vector< float > Mean
std::vector< DISTRIBUTION > Distrib
BUCKETS * bucket_cache[DISTRIBUTION_COUNT][MAXBUCKETS+1 - MINBUCKETS]