22#ifndef XTC_DIO_SCHED_H
23#define XTC_DIO_SCHED_H
25#include "xtc_export.h"
31#define XTC_DIO_SCHED_MAX_GENES 8
33typedef struct xtc_dio_sched xtc_dio_sched_t;
35typedef struct xtc_dio_sched_spec {
37 int min[XTC_DIO_SCHED_MAX_GENES];
38 int max[XTC_DIO_SCHED_MAX_GENES];
39 int init[XTC_DIO_SCHED_MAX_GENES];
51 int gene_pheno[XTC_DIO_SCHED_MAX_GENES];
64XTC_API
void xtc_dio_sched_destroy(xtc_dio_sched_t *g);
68XTC_API
void xtc_dio_sched_current(
const xtc_dio_sched_t *g,
int *out_genes);
74XTC_API
void xtc_dio_sched_report(xtc_dio_sched_t *g,
double fitness);
80void xtc_dio_sched_report_multi(xtc_dio_sched_t *g,
const double *fitness,
85XTC_API
void xtc_dio_sched_best(
const xtc_dio_sched_t *g,
int *out_genes,
double *out_fitness);
87XTC_API
double xtc_dio_sched_mutation_rate(
const xtc_dio_sched_t *g);
88XTC_API uint64_t xtc_dio_sched_generation(
const xtc_dio_sched_t *g);