22#ifndef XTC_DIO_SCHED_H
23#define XTC_DIO_SCHED_H
29#define XTC_DIO_SCHED_MAX_GENES 8
31typedef struct xtc_dio_sched xtc_dio_sched_t;
33typedef struct xtc_dio_sched_spec {
35 int min[XTC_DIO_SCHED_MAX_GENES];
36 int max[XTC_DIO_SCHED_MAX_GENES];
37 int init[XTC_DIO_SCHED_MAX_GENES];
49 int gene_pheno[XTC_DIO_SCHED_MAX_GENES];
62void xtc_dio_sched_destroy(xtc_dio_sched_t *g);
66void xtc_dio_sched_current(
const xtc_dio_sched_t *g,
int *out_genes);
72void xtc_dio_sched_report(xtc_dio_sched_t *g,
double fitness);
78void xtc_dio_sched_report_multi(xtc_dio_sched_t *g,
const double *fitness,
83void xtc_dio_sched_best(
const xtc_dio_sched_t *g,
int *out_genes,
double *out_fitness);
85double xtc_dio_sched_mutation_rate(
const xtc_dio_sched_t *g);
86uint64_t xtc_dio_sched_generation(
const xtc_dio_sched_t *g);