23#ifndef XTC_DIO_SCHED_H
24#define XTC_DIO_SCHED_H
26#include "xtc_export.h"
32#define XTC_DIO_SCHED_MAX_GENES 8
34typedef struct xtc_dio_sched xtc_dio_sched_t;
36typedef struct xtc_dio_sched_spec {
38 int min[XTC_DIO_SCHED_MAX_GENES];
39 int max[XTC_DIO_SCHED_MAX_GENES];
40 int init[XTC_DIO_SCHED_MAX_GENES];
52 int gene_pheno[XTC_DIO_SCHED_MAX_GENES];
65XTC_API
void xtc_dio_sched_destroy(xtc_dio_sched_t *g);
69XTC_API
void xtc_dio_sched_current(
const xtc_dio_sched_t *g,
int *out_genes);
75XTC_API
void xtc_dio_sched_report(xtc_dio_sched_t *g,
double fitness);
81void xtc_dio_sched_report_multi(xtc_dio_sched_t *g,
const double *fitness,
86XTC_API
void xtc_dio_sched_best(
const xtc_dio_sched_t *g,
int *out_genes,
double *out_fitness);
88XTC_API
double xtc_dio_sched_mutation_rate(
const xtc_dio_sched_t *g);
89XTC_API uint64_t xtc_dio_sched_generation(
const xtc_dio_sched_t *g);