Die Klasse cUnderFunction
ist die Basisklasse aller Unterfunktionen. Aus Unterfunktionen werden Funktionen (mit der Struktur von Bäumen) zusammengestellt. (siehe Abschnitt 12.7 auf Seite )
Die Klasse cUnderFunction
dient als Basisklasse aller Unterfunktionen. Von der Klasse cUnderFunction
können keine Instanzen erzeugt werden.
Bei der Auswertung von Unterfunktionen ist für den erzeugten Wert der Definitionsbereich für Unterfunktionenen nicht relevant. Wenn also beispielsweise der Definitionsbereich für Unterfunktionenen nur Ganzzahlen enthält und eine Unterfunktionen zu ausgewertet wird, wird dieser Wert sowohl von anderen Unterfunktionen direkt (ohne Rundung) verwendet werden, als auch die definierte Variable eines Funktionselements den Wert annehemen.
Der Definitionsbereich für Unterfunktionenen kommt nur zur Anwendung, wenn die Unterfunktion einen Wert enthält (also wenn die Unterfunktion cFunctionValue
ist), oder wenn eine Unterfunktion fehlt und desshalb anstatt ihr der Nullwert des Definitionsbereichs eingesetzt werden soll.
In Abbildung 19 ist ein Klassendiagramm der Unterfunktionen zu sehen.
Es gibt drei Arten von Unterfunktionen:
Die Klassen für die nullstelligen Funktionen sind:
cFunctionValue
: Für einen Wert bzw. eine Konstante.
cFunctionVariable
: Für eine Variable, die über dem Fib-Element, welches die Unterfunktion enthält, definiert wird.
Die Klassen, welche die einstelligen Funktionen implementieren, werden von der Basisklasse cFunctionOneValue
abgeleitet.
Zu diesen einstelligen Funktionen gehören:
cFunctionLog
: Logarithmus
cFunctionSin
: Sinusfunktion
cFunctionArcsin
: Arkussinusfunktion
cFunctionAbs
: Absolutwert
cFunctionRound
: Runden
Die Klassen, welche die zweistelligen Funktionen implementieren, werden von der Basisklasse cFunctionTwoValue
abgeleitet.
Zu diesen zweistelligen Funktionen gehören:
cFunctionAdd
: Addition
cFunctionSub
: Subtraktion
cFunctionMult
: Multiplikation
cFunctionDiv
: Division
cFunctionExp
: Exponent
cFunctionMin
: Minimum
cFunctionMax
: Maximum
cFunctionIf
: If-Funktion
cFunctionDelay
: Delay-Funktion