STORM_PRINT(std::endl<<"Type 'storm --help modulename' to display all options of a specific module or 'storm --help all' for a complete list of options."<<std::endl);
STORM_LOG_WARN_COND(!this->getOption(precisionOptionName).getHasOptionBeenSetWithModulePrefix(),"Setting the precision option with module prefix does not effect all solvers. Consider setting --"<<precisionOptionName<<" instead of --"<<moduleName<<":"<<precisionOptionName<<".");
this->addOption(storm::settings::OptionBuilder(moduleName,restartOptionName,true,"The number of iteration until restarted methods are actually restarted.").setIsAdvanced().addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("count","The number of iterations.").setDefaultValueUnsignedInteger(50).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,maximalIterationsOptionName,false,"The maximal number of iterations to perform before iterative solving is aborted.").setShortName(maximalIterationsOptionShortName).addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("count","The maximal iteration count.").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,maximalIterationsOptionName,false,"The maximal number of iterations to perform before iterative solving is aborted.").setShortName(maximalIterationsOptionShortName).setIsAdvanced().addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("count","The maximal iteration count.").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,precisionOptionName,false,"The precision used for detecting convergence of iterative methods.").addArgument(storm::settings::ArgumentBuilder::createDoubleArgument("value","The precision to achieve.").setDefaultValueDouble(1e-06).addValidatorDouble(ArgumentValidatorFactory::createDoubleRangeValidatorExcluding(0.0,1.0)).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,precisionOptionName,false,"The precision used for detecting convergence of iterative methods.").setIsAdvanced().addArgument(storm::settings::ArgumentBuilder::createDoubleArgument("value","The precision to achieve.").setDefaultValueDouble(1e-06).addValidatorDouble(ArgumentValidatorFactory::createDoubleRangeValidatorExcluding(0.0,1.0)).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,underlyingEquationSolverOptionName,true,"Sets which solver is considered for solving the underlying equation systems.")
this->addOption(storm::settings::OptionBuilder(moduleName,underlyingEquationSolverOptionName,true,"Sets which solver is considered for solving the underlying equation systems.").setIsAdvanced()
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("name","The name of the used solver.").addValidatorString(ArgumentValidatorFactory::createMultipleChoiceValidator(linearEquationSolver)).setDefaultValueString("gmm++").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,underlyingMinMaxMethodOptionName,true,"Sets which minmax method is considered for solving the underlying minmax equation systems.")
this->addOption(storm::settings::OptionBuilder(moduleName,underlyingMinMaxMethodOptionName,true,"Sets which minmax method is considered for solving the underlying minmax equation systems.").setIsAdvanced()
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("name","The name of the used min max method.").addValidatorString(ArgumentValidatorFactory::createMultipleChoiceValidator(minMaxSolvingTechniques)).setDefaultValueString("value-iteration").build()).build());