Bicameral Engine
GPU-resident engine for a magic-research open-world game
Loading...
Searching...
No Matches
reaction_table.h File Reference
#include <cstdint>
#include <expected>
#include <optional>
#include <span>
#include <string>
#include <string_view>
#include <vector>
#include "common/reaction.hlsli"
#include "sim/reaction_wide_cell.h"
Include dependency graph for reaction_table.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  bicameral::sim::ElementDefinition
struct  bicameral::sim::ElementCount
struct  bicameral::sim::SpeciesDefinition
struct  bicameral::sim::RuleTerm
struct  bicameral::sim::ArrheniusRate
struct  bicameral::sim::RuleDefinition
struct  bicameral::sim::ReactionTableDefinition
struct  bicameral::sim::ReactionTableView
struct  bicameral::sim::BakedReactionTable
struct  bicameral::sim::SpeciesAmount

Namespaces

namespace  bicameral
namespace  bicameral::sim

Functions

std::expected< BakedReactionTable, std::string > bicameral::sim::BakeReactionTable (const ReactionTableDefinition &definition)
RxCell bicameral::sim::MakeReactionCell (const BakedReactionTable &table, std::span< const SpeciesAmount > amounts, int32_t temperatureMilliKelvin)
RxWideCell bicameral::sim::MakeWideReactionCell (const BakedReactionTable &table, std::span< const SpeciesAmount > amounts, int32_t temperatureMilliKelvin)
std::vector< uint64_t > bicameral::sim::CountElements (const BakedReactionTable &table, const reaction::RxCell &cell)
std::vector< uint64_t > bicameral::sim::CountElements (const BakedReactionTable &table, const RxWideCell &cell)
uint64_t bicameral::sim::HashReactionCell (const reaction::RxCell &cell)
uint64_t bicameral::sim::HashReactionCell (const RxWideCell &cell)
reaction::RxWaitStep bicameral::sim::StepReactionCellWait (const BakedReactionTable &table, const reaction::RxCell &cell, uint64_t worldSeed, uint64_t tick, uint64_t changedTick, uint64_t cellId)
RxWideWaitStep bicameral::sim::StepReactionCellWait (const BakedReactionTable &table, const RxWideCell &cell, uint64_t worldSeed, uint64_t tick, uint64_t changedTick, uint64_t cellId)
reaction::RxLoneCell bicameral::sim::AdvanceLoneReactionCell (const BakedReactionTable &table, const reaction::RxLoneCell &lone, uint64_t worldSeed, uint64_t tickBegin, uint32_t tickCount, uint64_t cellId)