|
|
@ -449,6 +449,10 @@ namespace storm { |
|
|
|
Expression sum(std::vector<storm::expressions::Expression> const& expressions) { |
|
|
|
return applyAssociative(expressions, [] (Expression const& e1, Expression const& e2) { return e1 + e2; }); |
|
|
|
} |
|
|
|
|
|
|
|
Expression modulo(Expression const& first, Expression const& second) { |
|
|
|
return Expression(std::shared_ptr<BaseExpression>(new BinaryNumericalFunctionExpression(first.getBaseExpression().getManager(), first.getType().minimumMaximum(second.getType()), first.getBaseExpressionPointer(), second.getBaseExpressionPointer(), BinaryNumericalFunctionExpression::OperatorType::Modulo))); |
|
|
|
} |
|
|
|
|
|
|
|
Expression apply(std::vector<storm::expressions::Expression> const& expressions, std::function<Expression (Expression const&, Expression const&)> const& function) { |
|
|
|
STORM_LOG_THROW(!expressions.empty(), storm::exceptions::InvalidArgumentException, "Cannot build function application of empty expression list."); |
|
|
|