44 double *values =
Malloc(
double, 1);
45 values[0] = 0.1368311165400936;
49 0.1368311165400936) < 1e-16,
50 "Incorrect percentile");
59 double *values =
Malloc(
double, 10);
60 values[0] = 0.1368311165400936;
61 values[1] = 0.0864373686918369;
62 values[2] = 0.9959483430066688;
63 values[3] = 0.2946638351338509;
64 values[4] = 0.3535927892606028;
65 values[5] = 0.5898175818278500;
66 values[6] = 0.1769525979717794;
67 values[7] = 0.3114487168265636;
68 values[8] = 0.3895012665017124;
69 values[9] = 0.3229492282960943;
73 0.176952597971779) < 1e-14,
74 "Incorrect 25th percentile");
76 0.317198972561329) < 1e-14,
77 "Incorrect 50th percentile");
79 0.389501266501712) < 1e-14,
80 "Incorrect 75th percentile");
82 0.792882962417259) < 1e-14,
83 "Incorrect 90th percentile");
116 mu_assert(nq->
N == 3,
"Incorrect size of top queue");
Minimal unit testing framework for C.
struct GenQueue * gensvm_init_queue(void)
Initialize a GenQueue structure.
long ID
numeric id of the task in the queue
#define mu_assert(test, message)
struct GenTask * gensvm_init_task(void)
Initialize a GenTask structure.
long i
index used for keeping track of the queue
double gensvm_percentile(double *values, long N, double p)
Calculate the percentile of an array of doubles.
double performance
performance after cross validation
struct GenQueue * gensvm_top_queue(struct GenQueue *q, double percentile)
Create GenQueue of tasks with performance above a given percentile.
#define Malloc(type, size)
#define mu_run_test(test)
char * test_consistency_repeats()
#define mu_test_missing()
char * test_percentile_1()
int gensvm_dsort(const void *elem1, const void *elem2)
Comparison function for doubl.
void gensvm_free_queue(struct GenQueue *q)
Free the GenQueue struct.
A structure for a single task in the queue.
Header file for gensvm_consistency.c.
struct GenTask ** tasks
array of pointers to Task structs