2025-02-06 01:05:44 +01:00

51 lines
748 B
C++

#include "values/Dna.hpp"
#include <list>
#include <vector>
#define NUM_PER_GEN 16
#define NUM_OF_MUT 3
enum Liked
{
tbd,
yes,
no
};
struct UiUnit
{
Dna *dna;
Liked liked;
int index;
};
struct NetUnit
{
uint32_t hash;
uint32_t index;
Liked liked;
};
static_assert(12 == sizeof(NetUnit));
struct DnaManagerData
{
int generation;
uint128 randSeed;
int64_t id;
int queued;
int showed;
std::vector<Dna> vector;
std::vector<int> liked;
std::vector<int> disliked;
};
namespace DnaManager
{
UiUnit next(DnaManagerData *data);
bool like(UiUnit unit, DnaManagerData *data);
void newGen(DnaManagerData *data);
void setUp(DnaManagerData *data, int64_t id);
void cleanUp(DnaManagerData *data, int64_t id);
};