@ -18,7 +18,7 @@ TEST(SparseMdpPrctlModelCheckerTest, Dice) {
std : : shared_ptr < storm : : models : : sparse : : Model < double > > abstractModel = storm : : parser : : AutoParser : : parseModel ( STORM_CPP_BASE_PATH " /examples/mdp/two_dice/two_dice.tra " , STORM_CPP_BASE_PATH " /examples/mdp/two_dice/two_dice.lab " , " " , STORM_CPP_BASE_PATH " /examples/mdp/two_dice/two_dice.flip.trans.rew " ) ;
// A parser that we use for conveniently constructing the formulas.
storm : : parser : : FormulaParser p arser;
storm : : parser : : FormulaParser formulaP arser;
ASSERT_EQ ( abstractModel - > getType ( ) , storm : : models : : ModelType : : Mdp ) ;
@ -29,56 +29,56 @@ TEST(SparseMdpPrctlModelCheckerTest, Dice) {
storm : : modelchecker : : SparseMdpPrctlModelChecker < storm : : models : : sparse : : Mdp < double > > checker ( * mdp , std : : unique_ptr < storm : : utility : : solver : : MinMaxLinearEquationSolverFactory < double > > ( new storm : : utility : : solver : : NativeMinMaxLinearEquationSolverFactory < double > ( ) ) ) ;
std : : shared_ptr < storm : : logic : : Formula > formula = p arser. parseFromString ( " Pmin=? [F \" two \" ] " ) ;
std : : shared_ptr < storm : : logic : : Formula > formula = formulaP arser. parseSingleFormula FromString ( " Pmin=? [F \" two \" ] " ) ;
std : : unique_ptr < storm : : modelchecker : : CheckResult > result = checker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult1 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
EXPECT_NEAR ( 0.0277777612209320068 , quantitativeResult1 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " Pmax=? [F \" two \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Pmax=? [F \" two \" ] " ) ;
result = checker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult2 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
EXPECT_NEAR ( 0.0277777612209320068 , quantitativeResult2 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " Pmin=? [F \" three \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Pmin=? [F \" three \" ] " ) ;
result = checker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult3 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
EXPECT_NEAR ( 0.0555555224418640136 , quantitativeResult3 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " Pmax=? [F \" three \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Pmax=? [F \" three \" ] " ) ;
result = checker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult4 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
EXPECT_NEAR ( 0.0555555224418640136 , quantitativeResult4 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " Pmin=? [F \" four \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Pmin=? [F \" four \" ] " ) ;
result = checker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult5 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
EXPECT_NEAR ( 0.083333283662796020508 , quantitativeResult5 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " Pmax=? [F \" four \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Pmax=? [F \" four \" ] " ) ;
result = checker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult6 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
EXPECT_NEAR ( 0.083333283662796020508 , quantitativeResult6 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " Rmin=? [F \" done \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Rmin=? [F \" done \" ] " ) ;
result = checker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult7 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
EXPECT_NEAR ( 7.333329499 , quantitativeResult7 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " Rmax=? [F \" done \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Rmax=? [F \" done \" ] " ) ;
result = checker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult8 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -93,14 +93,14 @@ TEST(SparseMdpPrctlModelCheckerTest, Dice) {
storm : : modelchecker : : SparseMdpPrctlModelChecker < storm : : models : : sparse : : Mdp < double > > stateRewardModelChecker ( * stateRewardMdp , std : : unique_ptr < storm : : utility : : solver : : MinMaxLinearEquationSolverFactory < double > > ( new storm : : utility : : solver : : NativeMinMaxLinearEquationSolverFactory < double > ( ) ) ) ;
formula = p arser. parseFromString ( " Rmin=? [F \" done \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Rmin=? [F \" done \" ] " ) ;
result = stateRewardModelChecker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult9 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
EXPECT_NEAR ( 7.333329499 , quantitativeResult9 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " Rmax=? [F \" done \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Rmax=? [F \" done \" ] " ) ;
result = stateRewardModelChecker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult10 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -115,14 +115,14 @@ TEST(SparseMdpPrctlModelCheckerTest, Dice) {
storm : : modelchecker : : SparseMdpPrctlModelChecker < storm : : models : : sparse : : Mdp < double > > stateAndTransitionRewardModelChecker ( * stateAndTransitionRewardMdp , std : : unique_ptr < storm : : utility : : solver : : MinMaxLinearEquationSolverFactory < double > > ( new storm : : utility : : solver : : NativeMinMaxLinearEquationSolverFactory < double > ( ) ) ) ;
formula = p arser. parseFromString ( " Rmin=? [F \" done \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Rmin=? [F \" done \" ] " ) ;
result = stateAndTransitionRewardModelChecker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult11 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
EXPECT_NEAR ( 14.666658998 , quantitativeResult11 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " Rmax=? [F \" done \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Rmax=? [F \" done \" ] " ) ;
result = stateAndTransitionRewardModelChecker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult12 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -134,7 +134,7 @@ TEST(SparseMdpPrctlModelCheckerTest, AsynchronousLeader) {
std : : shared_ptr < storm : : models : : sparse : : Model < double > > abstractModel = storm : : parser : : AutoParser : : parseModel ( STORM_CPP_BASE_PATH " /examples/mdp/asynchronous_leader/leader4.tra " , STORM_CPP_BASE_PATH " /examples/mdp/asynchronous_leader/leader4.lab " , " " , STORM_CPP_BASE_PATH " /examples/mdp/asynchronous_leader/leader4.trans.rew " ) ;
// A parser that we use for conveniently constructing the formulas.
storm : : parser : : FormulaParser p arser;
storm : : parser : : FormulaParser formulaP arser;
ASSERT_EQ ( storm : : models : : ModelType : : Mdp , abstractModel - > getType ( ) ) ;
@ -145,42 +145,42 @@ TEST(SparseMdpPrctlModelCheckerTest, AsynchronousLeader) {
storm : : modelchecker : : SparseMdpPrctlModelChecker < storm : : models : : sparse : : Mdp < double > > checker ( * mdp , std : : unique_ptr < storm : : utility : : solver : : MinMaxLinearEquationSolverFactory < double > > ( new storm : : utility : : solver : : NativeMinMaxLinearEquationSolverFactory < double > ( ) ) ) ;
std : : shared_ptr < storm : : logic : : Formula > formula = p arser. parseFromString ( " Pmin=? [F \" elected \" ] " ) ;
std : : shared_ptr < storm : : logic : : Formula > formula = formulaP arser. parseSingleFormula FromString ( " Pmin=? [F \" elected \" ] " ) ;
std : : unique_ptr < storm : : modelchecker : : CheckResult > result = checker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult1 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
EXPECT_NEAR ( 1 , quantitativeResult1 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " Pmax=? [F \" elected \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Pmax=? [F \" elected \" ] " ) ;
result = checker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult2 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
EXPECT_NEAR ( 1 , quantitativeResult2 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " Pmin=? [F<=25 \" elected \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Pmin=? [F<=25 \" elected \" ] " ) ;
result = checker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult3 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
EXPECT_NEAR ( 0.0625 , quantitativeResult3 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " Pmax=? [F<=25 \" elected \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Pmax=? [F<=25 \" elected \" ] " ) ;
result = checker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult4 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
EXPECT_NEAR ( 0.0625 , quantitativeResult4 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " Rmin=? [F \" elected \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Rmin=? [F \" elected \" ] " ) ;
result = checker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult5 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
EXPECT_NEAR ( 4.285689611 , quantitativeResult5 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " Rmax=? [F \" elected \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " Rmax=? [F \" elected \" ] " ) ;
result = checker . check ( * formula ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult6 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -193,7 +193,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA_SingleMec) {
std : : shared_ptr < storm : : models : : sparse : : Mdp < double > > mdp ;
// A parser that we use for conveniently constructing the formulas.
storm : : parser : : FormulaParser p arser;
storm : : parser : : FormulaParser formulaP arser;
{
matrixBuilder = storm : : storage : : SparseMatrixBuilder < double > ( 2 , 2 , 2 ) ;
@ -209,7 +209,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA_SingleMec) {
storm : : modelchecker : : SparseMdpPrctlModelChecker < storm : : models : : sparse : : Mdp < double > > checker ( * mdp , std : : unique_ptr < storm : : utility : : solver : : MinMaxLinearEquationSolverFactory < double > > ( new storm : : utility : : solver : : NativeMinMaxLinearEquationSolverFactory < double > ( ) ) ) ;
std : : shared_ptr < storm : : logic : : Formula > formula = p arser. parseFromString ( " LRAmax=? [ \" a \" ] " ) ;
std : : shared_ptr < storm : : logic : : Formula > formula = formulaP arser. parseSingleFormula FromString ( " LRAmax=? [ \" a \" ] " ) ;
std : : unique_ptr < storm : : modelchecker : : CheckResult > result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult1 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -217,7 +217,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA_SingleMec) {
EXPECT_NEAR ( .5 , quantitativeResult1 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
EXPECT_NEAR ( .5 , quantitativeResult1 [ 1 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " LRAmin=? [ \" a \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " LRAmin=? [ \" a \" ] " ) ;
result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult2 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -241,7 +241,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA_SingleMec) {
storm : : modelchecker : : SparseMdpPrctlModelChecker < storm : : models : : sparse : : Mdp < double > > checker ( * mdp , std : : unique_ptr < storm : : utility : : solver : : MinMaxLinearEquationSolverFactory < double > > ( new storm : : utility : : solver : : NativeMinMaxLinearEquationSolverFactory < double > ( ) ) ) ;
std : : shared_ptr < storm : : logic : : Formula > formula = p arser. parseFromString ( " LRAmax=? [ \" a \" ] " ) ;
std : : shared_ptr < storm : : logic : : Formula > formula = formulaP arser. parseSingleFormula FromString ( " LRAmax=? [ \" a \" ] " ) ;
std : : unique_ptr < storm : : modelchecker : : CheckResult > result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult1 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -249,7 +249,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA_SingleMec) {
EXPECT_NEAR ( .5 , quantitativeResult1 [ 0 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
EXPECT_NEAR ( .5 , quantitativeResult1 [ 1 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " LRAmin=? [ \" a \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " LRAmin=? [ \" a \" ] " ) ;
result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult2 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -282,7 +282,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA_SingleMec) {
storm : : modelchecker : : SparseMdpPrctlModelChecker < storm : : models : : sparse : : Mdp < double > > checker ( * mdp , std : : unique_ptr < storm : : utility : : solver : : MinMaxLinearEquationSolverFactory < double > > ( new storm : : utility : : solver : : NativeMinMaxLinearEquationSolverFactory < double > ( ) ) ) ;
std : : shared_ptr < storm : : logic : : Formula > formula = p arser. parseFromString ( " LRAmax=? [ \" a \" ] " ) ;
std : : shared_ptr < storm : : logic : : Formula > formula = formulaP arser. parseSingleFormula FromString ( " LRAmax=? [ \" a \" ] " ) ;
std : : unique_ptr < storm : : modelchecker : : CheckResult > result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult1 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -291,7 +291,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA_SingleMec) {
EXPECT_NEAR ( 1. / 3. , quantitativeResult1 [ 1 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
EXPECT_NEAR ( 1. / 3. , quantitativeResult1 [ 2 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " LRAmin=? [ \" a \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " LRAmin=? [ \" a \" ] " ) ;
result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult2 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -300,7 +300,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA_SingleMec) {
EXPECT_NEAR ( 0.0 , quantitativeResult2 [ 1 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
EXPECT_NEAR ( 0.0 , quantitativeResult2 [ 2 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " LRAmax=? [ \" b \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " LRAmax=? [ \" b \" ] " ) ;
result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult3 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -309,7 +309,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA_SingleMec) {
EXPECT_NEAR ( 0.5 , quantitativeResult3 [ 1 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
EXPECT_NEAR ( 0.5 , quantitativeResult3 [ 2 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " LRAmin=? [ \" b \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " LRAmin=? [ \" b \" ] " ) ;
result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult4 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -318,7 +318,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA_SingleMec) {
EXPECT_NEAR ( 1. / 3. , quantitativeResult4 [ 1 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
EXPECT_NEAR ( 1. / 3. , quantitativeResult4 [ 2 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " LRAmax=? [ \" c \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " LRAmax=? [ \" c \" ] " ) ;
result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult5 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -327,7 +327,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA_SingleMec) {
EXPECT_NEAR ( 2. / 3. , quantitativeResult5 [ 1 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
EXPECT_NEAR ( 2. / 3. , quantitativeResult5 [ 2 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " LRAmin=? [ \" c \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " LRAmin=? [ \" c \" ] " ) ;
result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult6 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -343,7 +343,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA) {
std : : shared_ptr < storm : : models : : sparse : : Mdp < double > > mdp ;
// A parser that we use for conveniently constructing the formulas.
storm : : parser : : FormulaParser p arser;
storm : : parser : : FormulaParser formulaP arser;
{
matrixBuilder = storm : : storage : : SparseMatrixBuilder < double > ( 4 , 3 , 4 , true , true , 3 ) ;
@ -368,7 +368,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA) {
storm : : modelchecker : : SparseMdpPrctlModelChecker < storm : : models : : sparse : : Mdp < double > > checker ( * mdp , std : : unique_ptr < storm : : utility : : solver : : MinMaxLinearEquationSolverFactory < double > > ( new storm : : utility : : solver : : NativeMinMaxLinearEquationSolverFactory < double > ( ) ) ) ;
std : : shared_ptr < storm : : logic : : Formula > formula = p arser. parseFromString ( " LRAmax=? [ \" a \" ] " ) ;
std : : shared_ptr < storm : : logic : : Formula > formula = formulaP arser. parseSingleFormula FromString ( " LRAmax=? [ \" a \" ] " ) ;
std : : unique_ptr < storm : : modelchecker : : CheckResult > result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult1 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -377,7 +377,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA) {
EXPECT_NEAR ( 0.0 , quantitativeResult1 [ 1 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
EXPECT_NEAR ( 0.0 , quantitativeResult1 [ 2 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " LRAmin=? [ \" a \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " LRAmin=? [ \" a \" ] " ) ;
result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult2 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -386,7 +386,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA) {
EXPECT_NEAR ( 0.0 , quantitativeResult2 [ 1 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
EXPECT_NEAR ( 0.0 , quantitativeResult2 [ 2 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " LRAmax=? [ \" b \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " LRAmax=? [ \" b \" ] " ) ;
result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult3 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -395,7 +395,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA) {
EXPECT_NEAR ( 1.0 , quantitativeResult3 [ 1 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
EXPECT_NEAR ( 0.0 , quantitativeResult3 [ 2 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " LRAmin=? [ \" b \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " LRAmin=? [ \" b \" ] " ) ;
result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult4 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -404,7 +404,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA) {
EXPECT_NEAR ( 0.0 , quantitativeResult4 [ 1 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
EXPECT_NEAR ( 0.0 , quantitativeResult4 [ 2 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " LRAmax=? [ \" c \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " LRAmax=? [ \" c \" ] " ) ;
result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult5 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -413,7 +413,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA) {
EXPECT_NEAR ( 1.0 , quantitativeResult5 [ 1 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
EXPECT_NEAR ( 1.0 , quantitativeResult5 [ 2 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " LRAmin=? [ \" c \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " LRAmin=? [ \" c \" ] " ) ;
result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult6 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -490,7 +490,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA) {
storm : : modelchecker : : SparseMdpPrctlModelChecker < storm : : models : : sparse : : Mdp < double > > checker ( * mdp , std : : unique_ptr < storm : : utility : : solver : : MinMaxLinearEquationSolverFactory < double > > ( new storm : : utility : : solver : : NativeMinMaxLinearEquationSolverFactory < double > ( ) ) ) ;
std : : shared_ptr < storm : : logic : : Formula > formula = p arser. parseFromString ( " LRAmax=? [ \" a \" ] " ) ;
std : : shared_ptr < storm : : logic : : Formula > formula = formulaP arser. parseSingleFormula FromString ( " LRAmax=? [ \" a \" ] " ) ;
std : : unique_ptr < storm : : modelchecker : : CheckResult > result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult1 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;
@ -503,7 +503,7 @@ TEST(SparseMdpPrctlModelCheckerTest, LRA) {
EXPECT_NEAR ( 101. / 200. , quantitativeResult1 [ 13 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
EXPECT_NEAR ( 31. / 60. , quantitativeResult1 [ 14 ] , storm : : settings : : nativeEquationSolverSettings ( ) . getPrecision ( ) ) ;
formula = p arser. parseFromString ( " LRAmin=? [ \" a \" ] " ) ;
formula = formulaP arser. parseSingleFormula FromString ( " LRAmin=? [ \" a \" ] " ) ;
result = std : : move ( checker . check ( * formula ) ) ;
storm : : modelchecker : : ExplicitQuantitativeCheckResult < double > & quantitativeResult2 = result - > asExplicitQuantitativeCheckResult < double > ( ) ;