|  | @ -49,25 +49,25 @@ TEST(FullySymbolicGameSolverTest, Solve_Cudd) { | 
		
	
		
			
				|  |  |     storm::dd::Add<storm::dd::DdType::CUDD, double> b = manager->getEncoding(state.first, 2).template toAdd<double>() + manager->getEncoding(state.first, 4).template toAdd<double>(); |  |  |     storm::dd::Add<storm::dd::DdType::CUDD, double> b = manager->getEncoding(state.first, 2).template toAdd<double>() + manager->getEncoding(state.first, 4).template toAdd<double>(); | 
		
	
		
			
				|  |  |      |  |  |      | 
		
	
		
			
				|  |  |     // Now solve the game with different strategies for the players.
 |  |  |     // Now solve the game with different strategies for the players.
 | 
		
	
		
			
				|  |  |     storm::dd::Add<storm::dd::DdType::CUDD> result = solver->solveGame(storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Minimize, x, b); |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     storm::dd::Add<storm::dd::DdType::CUDD> result = solver->solveGame(storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Minimize, x, b, manager->getBddZero(), manager->getBddZero()); | 
		
	
		
			
				|  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); |  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); | 
		
	
		
			
				|  |  |     result = result.sumAbstract({state.first}); |  |  |     result = result.sumAbstract({state.first}); | 
		
	
		
			
				|  |  |     EXPECT_NEAR(0, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); |  |  |     EXPECT_NEAR(0, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); | 
		
	
		
			
				|  |  |      |  |  |      | 
		
	
		
			
				|  |  |     x = manager->getAddZero<double>(); |  |  |     x = manager->getAddZero<double>(); | 
		
	
		
			
				|  |  |     result = solver->solveGame(storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Maximize, x, b); |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     result = solver->solveGame(storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Maximize, x, b, manager->getBddZero(), manager->getBddZero()); | 
		
	
		
			
				|  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); |  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); | 
		
	
		
			
				|  |  |     result = result.sumAbstract({state.first}); |  |  |     result = result.sumAbstract({state.first}); | 
		
	
		
			
				|  |  |     EXPECT_NEAR(0.5, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); |  |  |     EXPECT_NEAR(0.5, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); | 
		
	
		
			
				|  |  |      |  |  |      | 
		
	
		
			
				|  |  |     x = manager->getAddZero<double>(); |  |  |     x = manager->getAddZero<double>(); | 
		
	
		
			
				|  |  |     result = solver->solveGame(storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Minimize, x, b); |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     result = solver->solveGame(storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Minimize, x, b, manager->getBddZero(), manager->getBddZero()); | 
		
	
		
			
				|  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); |  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); | 
		
	
		
			
				|  |  |     result = result.sumAbstract({state.first}); |  |  |     result = result.sumAbstract({state.first}); | 
		
	
		
			
				|  |  |     EXPECT_NEAR(0.2, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); |  |  |     EXPECT_NEAR(0.2, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |     x = manager->getAddZero<double>(); |  |  |     x = manager->getAddZero<double>(); | 
		
	
		
			
				|  |  |     result = solver->solveGame(storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Maximize, x, b); |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     result = solver->solveGame(storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Maximize, x, b, manager->getBddZero(), manager->getBddZero()); | 
		
	
		
			
				|  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); |  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); | 
		
	
		
			
				|  |  |     result = result.sumAbstract({state.first}); |  |  |     result = result.sumAbstract({state.first}); | 
		
	
		
			
				|  |  |     EXPECT_NEAR(0.99999892625817599, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); |  |  |     EXPECT_NEAR(0.99999892625817599, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); | 
		
	
	
		
			
				|  | @ -114,25 +114,25 @@ TEST(FullySymbolicGameSolverTest, Solve_Sylvan) { | 
		
	
		
			
				|  |  |     storm::dd::Add<storm::dd::DdType::Sylvan, double> b = manager->getEncoding(state.first, 2).template toAdd<double>() + manager->getEncoding(state.first, 4).template toAdd<double>(); |  |  |     storm::dd::Add<storm::dd::DdType::Sylvan, double> b = manager->getEncoding(state.first, 2).template toAdd<double>() + manager->getEncoding(state.first, 4).template toAdd<double>(); | 
		
	
		
			
				|  |  |      |  |  |      | 
		
	
		
			
				|  |  |     // Now solve the game with different strategies for the players.
 |  |  |     // Now solve the game with different strategies for the players.
 | 
		
	
		
			
				|  |  |     storm::dd::Add<storm::dd::DdType::Sylvan> result = solver->solveGame(storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Minimize, x, b); |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     storm::dd::Add<storm::dd::DdType::Sylvan> result = solver->solveGame(storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Minimize, x, b, manager->getBddZero(), manager->getBddZero()); | 
		
	
		
			
				|  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); |  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); | 
		
	
		
			
				|  |  |     result = result.sumAbstract({state.first}); |  |  |     result = result.sumAbstract({state.first}); | 
		
	
		
			
				|  |  |     EXPECT_NEAR(0, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); |  |  |     EXPECT_NEAR(0, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); | 
		
	
		
			
				|  |  |      |  |  |      | 
		
	
		
			
				|  |  |     x = manager->getAddZero<double>(); |  |  |     x = manager->getAddZero<double>(); | 
		
	
		
			
				|  |  |     result = solver->solveGame(storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Maximize, x, b); |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     result = solver->solveGame(storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Maximize, x, b, manager->getBddZero(), manager->getBddZero()); | 
		
	
		
			
				|  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); |  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); | 
		
	
		
			
				|  |  |     result = result.sumAbstract({state.first}); |  |  |     result = result.sumAbstract({state.first}); | 
		
	
		
			
				|  |  |     EXPECT_NEAR(0.5, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); |  |  |     EXPECT_NEAR(0.5, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); | 
		
	
		
			
				|  |  |      |  |  |      | 
		
	
		
			
				|  |  |     x = manager->getAddZero<double>(); |  |  |     x = manager->getAddZero<double>(); | 
		
	
		
			
				|  |  |     result = solver->solveGame(storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Minimize, x, b); |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     result = solver->solveGame(storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Minimize, x, b, manager->getBddZero(), manager->getBddZero()); | 
		
	
		
			
				|  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); |  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); | 
		
	
		
			
				|  |  |     result = result.sumAbstract({state.first}); |  |  |     result = result.sumAbstract({state.first}); | 
		
	
		
			
				|  |  |     EXPECT_NEAR(0.2, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); |  |  |     EXPECT_NEAR(0.2, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); | 
		
	
		
			
				|  |  |      |  |  |      | 
		
	
		
			
				|  |  |     x = manager->getAddZero<double>(); |  |  |     x = manager->getAddZero<double>(); | 
		
	
		
			
				|  |  |     result = solver->solveGame(storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Maximize, x, b); |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     result = solver->solveGame(storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Maximize, x, b, manager->getBddZero(), manager->getBddZero()); | 
		
	
		
			
				|  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); |  |  |     result *= manager->getEncoding(state.first, 1).template toAdd<double>(); | 
		
	
		
			
				|  |  |     result = result.sumAbstract({state.first}); |  |  |     result = result.sumAbstract({state.first}); | 
		
	
		
			
				|  |  |     EXPECT_NEAR(0.99999892625817599, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); |  |  |     EXPECT_NEAR(0.99999892625817599, result.getValue(), storm::settings::getModule<storm::settings::modules::NativeEquationSolverSettings>().getPrecision()); |