![]() |
ProvSQL C/C++ API
Adding support for provenance and uncertainty management to PostgreSQL databases
|
Continuous random-variable helpers (distribution parsing, moments). More...
#include <optional>#include <string>

Go to the source code of this file.
Classes | |
| struct | provsql::DistributionSpec |
| Parsed distribution spec (kind + up to two parameters). More... | |
Namespaces | |
| namespace | provsql |
Enumerations | |
| enum class | provsql::DistKind { provsql::Normal , provsql::Uniform , provsql::Exponential , provsql::Erlang } |
Continuous distribution kinds supported by gate_rv. More... | |
Functions | |
| std::optional< DistributionSpec > | provsql::parse_distribution_spec (const std::string &s) |
Parse the on-disk text encoding of a gate_rv distribution. | |
| std::string | provsql::format_distribution_spec (const DistributionSpec &d) |
| Format a spec back into its on-disk text encoding. | |
| double | provsql::parseDoubleStrict (const std::string &s) |
Strictly parse s as a double. | |
| double | provsql::analytical_mean (const DistributionSpec &d) |
| Closed-form expectation E[X] for a basic distribution. | |
| double | provsql::analytical_variance (const DistributionSpec &d) |
| Closed-form variance Var(X) for a basic distribution. | |
| double | provsql::analytical_raw_moment (const DistributionSpec &d, unsigned k) |
| Closed-form raw moment \(E[X^k]\) for a basic distribution. | |
Continuous random-variable helpers (distribution parsing, moments).
Helpers for the gate_rv leaf introduced for continuous probabilistic c-tables. A gate_rv stores its distribution name and parameters in the gate's extra byte string using a small text encoding (e.g. "normal:2.5,0.5"); these helpers parse and format that encoding, and provide closed-form moments where they exist. Arithmetic over RV expressions is built on the generic gate_arith gate (see provsql_utils.h), which is shared with non-RV scalar arithmetic.
Sampling itself lives in BooleanCircuit::monteCarlo and MonteCarloSampler; this header only exposes what is needed for parsing and analytical moment computation.
Definition in file RandomVariable.h.