// // Created by dukantic on 29/09/2026. // #ifndef SIMULATIONRABBIT_RABBIT_HOLE_H #define SIMULATIONRABBIT_RABBIT_HOLE_H #include #define N_MATURE (16) #define N_KITTEN (8) #define CLAMP(x,y) (x >= y? y :x) #define CLAMP_BTW(a, lo, hi) ((a) < (lo) ? (lo) : ((a) > (hi) ? (hi) : (a))) typedef struct rabbit_hole_s { __uint128_t male_mature[N_MATURE]; __uint128_t female_mature[N_MATURE]; __uint128_t female_litter; __uint128_t kitten_male[N_KITTEN]; __uint128_t kitten_female[N_KITTEN]; } rabbit_hole_t; void init_rabbits(rabbit_hole_t *rabbits); char process_month(rabbit_hole_t *rabbits,__uint128_t *month); void set_csv_enabled(int enabled); void csv_header(); char print_rabbits(rabbit_hole_t *rabbits, __uint128_t *month); char total_rabbits(rabbit_hole_t *rabbits, __uint128_t *total); #endif //SIMULATIONRABBIT_RABBIT_HOLE_H