8 * Callback function types
9 * (pi == population individual)
11 typedef int (*pi_rate_f) (const void *);
12 typedef void *(*pi_copy_f) (const void *);
13 typedef void (*pi_free_f) (void *);
19 typedef struct population_s population_t;
22 * Constructor and destructor
24 population_t *population_create (pi_rate_f rate, pi_copy_f copy, pi_free_f f);
25 void population_destroy (population_t *p);
28 * Object configuration
30 int population_set_size (population_t *p, size_t population_size);
35 /* iterations == 0 => infinite */
36 void *population_get_random (population_t *p);
37 void *population_get_fittest (population_t *p);
39 int population_insert (population_t *p, void *pi);
41 /* vim: set sw=2 sts=2 et : */
42 #endif /* POPULATION_H */