Storm 1.13.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
storm::transformer::AddUncertainty< ValueType > Class Template Reference

This class is a convenience transformer to add uncertainty. More...

#include <AddUncertainty.h>

Public Types

using IntervalType = std::conditional_t<std::is_same_v<ValueType, storm::RationalNumber>, storm::RationalInterval, storm::Interval>

Public Member Functions

 AddUncertainty (std::shared_ptr< storm::models::sparse::Model< ValueType > > const &originalModel)
std::shared_ptr< storm::models::sparse::Model< IntervalType > > transform (ValueType additiveUncertainty, ValueType minimalValue=storm::utility::convertNumber< ValueType >(0.0001), std::optional< uint64_t > maxSuccessors={})

Detailed Description

template<typename ValueType>
class storm::transformer::AddUncertainty< ValueType >

This class is a convenience transformer to add uncertainty.

We currently support only one type of self-defined uncertainty, although additional types of uncertainty are imaginable. The transformer does maintain reward models, state labels, state valuations, choice labels and choice origins.

When ValueType is storm::RationalNumber the output model uses storm::RationalInterval (exact arithmetic). For all other ValueTypes (e.g. double) the output uses storm::Interval (double-precision).

Template Parameters
ValueTypeThe value type of the input model.

Definition at line 23 of file AddUncertainty.h.

Member Typedef Documentation

◆ IntervalType

template<typename ValueType>
using storm::transformer::AddUncertainty< ValueType >::IntervalType = std::conditional_t<std::is_same_v<ValueType, storm::RationalNumber>, storm::RationalInterval, storm::Interval>

Definition at line 25 of file AddUncertainty.h.

Constructor & Destructor Documentation

◆ AddUncertainty()

template<typename ValueType>
storm::transformer::AddUncertainty< ValueType >::AddUncertainty ( std::shared_ptr< storm::models::sparse::Model< ValueType > > const & originalModel)

Definition at line 18 of file AddUncertainty.cpp.

Member Function Documentation

◆ transform()

template<typename ValueType>
std::shared_ptr< storm::models::sparse::Model< typename AddUncertainty< ValueType >::IntervalType > > storm::transformer::AddUncertainty< ValueType >::transform ( ValueType additiveUncertainty,
ValueType minimalValue = storm::utility::convertNumber<ValueType>(0.0001),
std::optional< uint64_t > maxSuccessors = {} )

Definition at line 21 of file AddUncertainty.cpp.


The documentation for this class was generated from the following files: