// // MPSumFunction.h // MathPad // // Created by Kim Wittenburg on 22.04.14. // Copyright (c) 2014 Kim Wittenburg. All rights reserved. // /*! @header This is a description of the MPFunction class. It has multiple lines. */ #import "MPFunction.h" @class MPSumFunction, MPExpression; /*! @class MPSumFunction @brief This class represents a sum function (generally noted using a capital sigma). @discussion A sum function has a start and a target expression indicating how often the sum expression should be evaluated. Both the value of the start expression and the target expressions are included in the iterations. Each iteration the sum value is incremented by @c 1. If the start and target expression evaluate to the same value the sum is evaluated once. */ @interface MPSumFunction : MPFunction /*! @property startExpression @brief The value of the first iteration. @discussion The start expression must define a variable that may be used in the sum expression. If the start expression does not define a variable the sum function will fail on validation. @code Some samples */ @property (nonatomic, strong) MPExpression *startExpression; /* Index 0 */ /*! @property targetExpression @brief The value if the last iteration. @discussion The target expression must not define a variable. */ @property (nonatomic, strong) MPExpression *targetExpression; /* Index 1 */ /*! @property sumExpression @brief The sum expression evaluated multiple times. @discussion During evaluation of the sum expression the variable defined in the start expression is available. That variable always contains the value of the current iteration. The sum expression itself must not define a variable. */ @property (nonatomic, strong) MPExpression *sumExpression; /* Index 2 */ @end