5#ifndef OAKFIELD_SIM_SEED_H
6#define OAKFIELD_SIM_SEED_H
15#define SIM_SEED_DEFAULT 0xA5A5A5A5A5A5A5A5ULL
60void sim_seed_stream(uint64_t base_seed,
const char *tag, uint64_t index, uint64_t *out_state,
uint64_t sim_seed_derive(uint64_t base_seed, uint64_t tag_hash, uint64_t index)
Derive a deterministic seed from a base seed, tag hash, and index.
uint64_t sim_seed_normalize(uint64_t seed)
Normalize a seed (zero maps to SIM_SEED_DEFAULT).
uint64_t sim_seed_mix64(uint64_t value)
Mix a 64-bit value into a high-quality hash.
uint64_t sim_seed_tag(const char *tag)
Hash a domain tag into a 64-bit value.
void sim_seed_stream(uint64_t base_seed, const char *tag, uint64_t index, uint64_t *out_state, uint64_t *out_inc)
Derive a PCG32 stream (state + increment) from a base seed and domain tag.