dasmig-core 1.2.0
Shared random engine, distributions and data tiers for the dasmig generator libraries
Loading...
Searching...
No Matches
core.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
2// Copyright (c) 2020-2026 Diego Dasso Migotto
3
4#ifndef DASMIG_CORE_HPP
5#define DASMIG_CORE_HPP
6
7/// @file core.hpp
8/// @brief dasmig-core: the shared foundation of the dasmig generator
9/// libraries (random engine, distributions, data tables, JSON).
10/// @author Diego Dasso Migotto (diegomigotto at hotmail dot com)
11/// @see See doc/usage.md for the narrative tutorial.
12///
13/// Libraries vendor this header and the `core/` directory next to their own
14/// header, include it, and check compatibility with DASMIG_CORE_REQUIRE.
15
16#include "core/version.hpp"
17
18#include "core/batch.hpp"
19#include "core/country.hpp"
20#include "core/dataset.hpp"
22#include "core/json.hpp"
23#include "core/math.hpp"
24#include "core/resources.hpp"
25#include "core/rng.hpp"
27#include "core/sex.hpp"
28#include "core/sinks.hpp"
29#include "core/table.hpp"
30#include "core/tsv.hpp"
31#include "core/utf8.hpp"
33
34#endif // DASMIG_CORE_HPP
Batch generation: item seeds, parallel and streaming runs, and uniqueness, shared by every generator ...
Helpers for ISO 3166-1 alpha-2 country codes.
The data tier enum shared by every generator library.
Random distributions with output fixed by the core, not by the standard library.
A minimal, dependency-free JSON writer for to_json().
Floating-point functions that give bit-identical results on every compiler, standard library and plat...
Finding a library's data: compiled-in files, or a resources/ directory found on disk.
The random engine every generator library uses: xoshiro256** seeded through SplitMix64,...
The replay format of every generated result.
The sex enum shared by every generator library, and its text form.
Writers for batches: JSON Lines, and CSV flattened from a result's JSON. Both can be given to for_eac...
Data tables built from a base layer plus extension layers.
Tab-separated data files with typed access and located errors.
Conversion between UTF-8 and std::wstring.
dasmig-core version and the compatibility check used by libraries.
Weighted choice among values, with per-call conditional weights and exclusions.