uncertain_value.h Source File
|
CPP API
|
uncertain_value.h
Go to the documentation of this file.
272 // TODO: should be extended when UncertainValue gets operator== that compares distributions as well
Definition: parameter_distributions.h:75
virtual ParameterDistribution * clone() const =0
The UncertainValue class consists of a scalar value and a Distribution object.
Definition: uncertain_value.h:46
FP & operator*=(FP &lhs, const UncertainValue< FP > &rhs)
Print statement for UncertainValue<FP> (required for AD types)
Definition: uncertain_value.h:487
std::unique_ptr< ParameterDistribution > m_dist
Definition: uncertain_value.h:258
FP operator*(const UncertainValue< FP > &lhs, const UncertainValue< FP > &rhs)
Definition: uncertain_value.h:403
requires std::is_convertible_v< T, FP > UncertainValue(T v)
Create an UncertainValue from a scalar of any type convertible to FP.
Definition: uncertain_value.h:96
UncertainValue & operator=(FP v)
Set an UncertainValue from a scalar, distribution remains unchanged.
Definition: uncertain_value.h:138
FP & operator+=(FP &lhs, const UncertainValue< FP > &rhs)
Print statement for UncertainValue<FP> (required for AD types)
Definition: uncertain_value.h:475
bool operator>=(const UncertainValue< FP > &lhs, const T &rhs)
Definition: uncertain_value.h:311
UncertainValue & operator=(const UncertainValue &other)
Set an UncertainValue from another UncertainValue containing a scalar and a distribution.
Definition: uncertain_value.h:79
UncertainValue(FP v, const ParameterDistribution &dist)
Definition: uncertain_value.h:50
FP operator/(const UncertainValue< FP > &lhs, const UncertainValue< FP > &rhs)
Definition: uncertain_value.h:408
void set_distribution(const ParameterDistribution &dist)
Sets the distribution of the value.
Definition: uncertain_value.h:150
static IOResult< UncertainValue > deserialize(IOContext &io)
deserialize an object of this class.
Definition: uncertain_value.h:211
FP value() const
Conversion to scalar by returning the scalar contained in UncertainValue.
Definition: uncertain_value.h:118
bool operator>(const UncertainValue< FP > &lhs, const T &rhs)
Definition: uncertain_value.h:301
FP operator+(const UncertainValue< FP > &lhs, const UncertainValue< FP > &rhs)
Definition: uncertain_value.h:413
FP draw_sample()
Sets the value by sampling from the distribution and returns the new value.
Definition: uncertain_value.h:181
FP & operator/=(FP &lhs, const UncertainValue< FP > &rhs)
Print statement for UncertainValue<FP> (required for AD types)
Definition: uncertain_value.h:493
FP & operator-=(FP &lhs, const UncertainValue< FP > &rhs)
Print statement for UncertainValue<FP> (required for AD types)
Definition: uncertain_value.h:481
FP operator-(const UncertainValue< FP > &lhs, const UncertainValue< FP > &rhs)
Definition: uncertain_value.h:418
observer_ptr< const ParameterDistribution > get_distribution() const
Returns the parameter distribution.
Definition: uncertain_value.h:160
bool operator<=(const UncertainValue< FP > &lhs, const T &rhs)
Definition: uncertain_value.h:316
observer_ptr< ParameterDistribution > get_distribution()
Returns the parameter distribution.
Definition: uncertain_value.h:170
void serialize(IOContext &io) const
serialize this.
Definition: uncertain_value.h:195
UncertainValue(UncertainValue &&other)=default
UncertainValue(const UncertainValue &other)
Create an UncertainValue by cloning scalar value and distribution of another UncertainValue.
Definition: uncertain_value.h:67
bool operator<(const UncertainValue< FP > &lhs, const T &rhs)
Definition: uncertain_value.h:306
UncertainValue(FP v=static_cast< FP >(0.0))
Definition: uncertain_value.h:56
requires std::is_convertible_v< T, FP > UncertainValue< FP > & operator=(T v)
Assign a scalar of any type convertible to FP to this UncertainValue.
Definition: uncertain_value.h:109
A collection of classes to simplify handling of matrix shapes in meta programming.
Definition: models/abm/analyze_result.h:30
requires HasOstreamOperator< T > std::ostream & operator<<(std::ostream &os, const Edge< T > &e)
out stream operator for edges if edge property type has stream operator defined
Definition: graph.h:129
auto failure(const IOStatus &s)
Create an object that is implicitly convertible to an error IOResult<T>.
Definition: io.h:380
@ InvalidValue
bool operator==(const Node< T > &n1, const Node< T > &n2)
comparison operator if node property type is equality comparable
Definition: graph.h:100
boost::outcome_v2::in_place_type_t< T > Tag
Type that is used for overload resolution.
Definition: io.h:407
details::ApplyResultT< F, T... > apply(IOContext &io, F f, const IOResult< T > &... rs)
Evaluate a function with zero or more unpacked IOResults as arguments.
Definition: io.h:481
requires(!std::is_trivial_v< T >) void BinarySerializerObject
Definition: binary_serializer.h:333
std::string format_as(const mio::Date &d)
Format date objects using the ISO notation for logging with spdlog.
Definition: date.h:180
RandomNumberGenerator & thread_local_rng()
Definition: random_number_generator.cpp:25
@ IOF_OmitDistributions
Don't serialize distributions for types that contain both a specific value and a distribution from wh...
Definition: io.h:76
@ IOF_OmitValues
Don't serialize the current value for types that contain both a specific value and a distribution fro...
Definition: io.h:82
void PrintTo(const IOStatus &status, std::ostream *os)
gtest printer for IOStatus.
Definition: io.h:290
constexpr std::tuple_element< I, std::tuple< Index< CategoryTags >... > >::type & get(Index< CategoryTags... > &i) noexcept
Retrieves the Index (by reference) at the Ith position of a MultiIndex.
Definition: index.h:294
boost::outcome_v2::unchecked< T, IOStatus > IOResult
Value-or-error type for operations that return a value but can fail.
Definition: io.h:353
Generated by