Files
treender/shared/inc/values/DnaManager.hpp
2026-02-16 23:07:22 +01:00

51 lines
761 B
C++

#include "values/Dna.hpp"
#include <list>
#include <vector>
#define NUM_PER_GEN 16
#define NUM_OF_MUT 3
enum Liked
{
tbd = 0,
yes = 1,
no = 2,
};
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);
};