#define MESGERR 1
#include <string.h>
#include <unistd.h>
#include <time.h>
#include <assert.h>
#include <stdlib.h>
med_int _nentitiesfiltered=0,_maxfilternentities=0;
int _i=0;
struct tm *_tm ;
time_t _tt=time(0);
_tm = localtime(&_tt);
if ( profilearraysize ) {
_maxfilternentities = profilearraysize;
} else {
_maxfilternentities = nentities;
}
srandom((*_tm).tm_sec * (*_tm).tm_min );
_nentitiesfiltered = 1 + (int) ((float)(_maxfilternentities) * (random() / (RAND_MAX + 1.0)));
(*filterarray) = malloc(_nentitiesfiltered*
sizeof(
med_int));
_indexarray=(*filterarray);
for (_i=0; _i < _nentitiesfiltered; ++_i ) {
_indexarray[_i] = 1 + (int) ((double)(_maxfilternentities) * (random() / (RAND_MAX + 1.0)));
}
qsort(_indexarray, _nentitiesfiltered,
sizeof(
med_int), (
int(*)(
const void *,
const void *) )
cmp);
*nentitiesfiltered=_nentitiesfiltered;
_ret=0;
ERROR:
return _ret;
}
med_err generateFilterArray(const med_size nentities, const med_size nvaluesperentity, const med_size nconstituentpervalue, const med_size profilearraysize, const med_int *const profilearray, med_int *const nentitiesfiltered, med_int **filterarray)