31 const med_size profilearraysize,
const med_int *
const profilearray,
unsigned int seed,
36 med_int _nentitiesfiltered=0,_maxfilternentities=0;
41 if ( profilearraysize ) {
42 _maxfilternentities = profilearraysize;
44 _maxfilternentities = nentities;
50 _nentitiesfiltered = 1 + (int) ((
float)(_maxfilternentities) * (random() / (RAND_MAX + 1.0)));
53 (*filterarray) = malloc(_nentitiesfiltered*
sizeof(
med_int));
61 _indexarray=(*filterarray);
63 for (_i=0; _i < _nentitiesfiltered; ++_i ) {
64 _indexarray[_i] = 1 + (int) ((
double)(_maxfilternentities) * (random() / (RAND_MAX + 1.0)));
68 qsort(_indexarray, _nentitiesfiltered,
sizeof(
med_int), (
int(*)(
const void *,
const void *) )
cmp);
81 *nentitiesfiltered=_nentitiesfiltered;
static int cmp(const med_int *p1, const med_int *p2)
med_err generateFilterArray(const med_int nentities, const med_size nvaluesperentity, const med_size nconstituentpervalue, const med_size profilearraysize, const med_int *const profilearray, unsigned int seed, med_int *const nentitiesfiltered, med_int **filterarray)