98 explicit Chiffre(
double initial = 0.0);
109 void spend(
double amount);
146 [[nodiscard]] State
state()
const noexcept;
149 [[nodiscard]]
double total()
const noexcept;
188 State state_ = State::Circulation;
197 static inline std::mt19937_64 rng{std::random_device{}()};
Chiffre(double initial=0.0)
Construct a wallet with an initial amount.
Definition Chiffre.cpp:23
const Memory & memory() const noexcept
Access memory snapshot (read-only).
Definition Chiffre.cpp:19
void set_state(State state) noexcept
Set the current wallet state (Circulation or Rest).
Definition Chiffre.cpp:90
double total() const noexcept
Get current balance.
Definition Chiffre.cpp:15
State state() const noexcept
Get current state.
Definition Chiffre.cpp:27
void record_flow(double amount, bool incoming)
Record a deterministic flow (called internally by spend/receive).
Definition Chiffre.cpp:32
void receive(double amount)
Receive into the wallet (deterministic).
Definition Chiffre.cpp:46
double mutate(const EthicsScore ðics, const CyclePhase &cycle)
Trigger a mutation when the wallet is at rest.
Definition Chiffre.cpp:75
void spend(double amount)
Spend from the wallet (deterministic).
Definition Chiffre.cpp:40
Position within a natural or symbolic cycle.
Definition Chiffre.h:67
double phase
< Normalized cycle position, [0,1].
Definition Chiffre.h:69
Ethical score associated with an actor or portfolio.
Definition Chiffre.h:32
double score
< Range expected in [-1.0, +1.0].
Definition Chiffre.h:34
Memory of past wallet behavior.
Definition Chiffre.h:45
double volatility_bias
amplifies variance in future mutations.
Definition Chiffre.h:47
double stability_bias
damps shocks, makes mutations gentler.
Definition Chiffre.h:49
std::uint64_t events
counts the numbers of recorded events.
Definition Chiffre.h:51