The World class manages the simulator environment.
Represents a timing source for simulation.
Global configuration file for the project.
double RealType
Type for real numbers.
void logSimulationMemoryProjection(const World &world)
Logs the projected simulation memory footprint for the provided world.
std::string memoryProjectionToJsonString(const SimulationMemoryProjection &projection)
Serializes a simulation memory projection as JSON.
std::vector< std::shared_ptr< timing::Timing > > collectCwPhaseNoiseTimings(const World &world)
Collects unique timing sources used by CW/FMCW transmitters and receivers.
SimulationMemoryProjection projectSimulationMemory(const World &world)
Projects startup memory and rendered-output sizes for a simulation world.
std::string formatByteSize(const std::uint64_t bytes)
Formats a byte count using binary units.
Describes a projected byte count and whether it saturated during arithmetic.
bool overflowed
True if any arithmetic used to produce bytes overflowed.
std::uint64_t bytes
Projected byte count, clamped to uint64_t max on overflow.
Captures startup memory and rendered-output projections for a simulation.
std::uint64_t streaming_receiver_count
Receivers that emit streaming output.
std::uint64_t streaming_sample_count
Internal samples produced for each full-duration stream.
std::uint64_t phase_noise_sample_count
Samples held by each enabled phase-noise lookup.
ByteProjection rendered_hdf5_payload
Projected raw I/Q dataset payload bytes written to HDF5.
unsigned oversample_ratio
Oversampling ratio applied to the configured output rate.
ByteProjection streaming_iq_buffers
Projected full-duration streaming output sink memory.
ByteProjection phase_noise_lookup
Projected memory for all enabled timing-source lookup tables.
std::uint64_t enabled_phase_noise_timing_count
Unique timing sources with phase noise enabled.
std::uint64_t pulsed_receiver_count
Receivers that render finite pulsed receive windows.
std::optional< ByteProjection > projected_total_footprint
Projected total resident footprint at peak.
std::uint64_t pulsed_window_count
Projected count of pulsed receive windows.
std::uint64_t rendered_hdf5_sample_count
Projected IQ samples written to HDF5 datasets.
RealType duration_seconds
Simulated duration covered by the projection.
std::uint64_t phase_noise_timing_count
Unique streaming timing sources considered.
std::optional< std::uint64_t > current_resident_set
Process RSS at projection time, when available.
std::optional< ByteProjection > resident_baseline
Startup RSS observed before projected run allocations.
RealType simulation_sample_rate_hz
Oversampled simulation rate used for sample counts.