Mathematische Funktionen
TwinCAT hat eigene mathematische Funktionen implementiert, weil die math.h Implementierung von Microsoft nicht echtzeitfähig ist.
Diese Funktionen sind in TcMath.h deklariert, einem Teil von TwinCAT SDK. Die Operationen werden für x64 mittels SSE ausgeführt; auf x86 Sytemen wird die FPU verwendet.
TwinCAT 3.1 4018 und früher TwinCAT 3.1 4018 stellte eine fpu87.h mit den gleichen Methoden bereit. Diese existiert weiterhin, und leitet auf die TcMath.h um. |
Bereitgestellte Methoden
Name | Beschreibung |
---|---|
sqr_ | Quadriert. |
sqrt_ | Berechnet die Quadratwurzel. |
sin_ | Berechnet den Sinus. |
cos_ | Berechnet den Kosinus. |
tan_ | Berechnet den Tangens. |
atan_ | Berechnet den Winkel, dessen Tangens der angegebene Wert ist. |
atan2_ | Berechnet den Winkel, dessen Tangens der Quotient zweier angegebener Werte ist. |
asin_ | Berechnet den Winkel, dessen Sinus der angegebene Wert ist. |
acos_ | Berechnet den Winkel, dessen Kosinus der angegebene Wert ist. |
exp_ | Berechnet e hoch angegebene Potenz. |
log_ | Berechnet den Logarithmus eines angegebenen Werts. |
log10_ | Berechnet den Logarithmus zur Basis 10 eines angegebenen Werts. |
fabs_ | Berechnet den Absolutwert. |
fmod_ | Berechnet den Restbetrag. |
ceil_ | Berechnet die kleinste Integerzahl die größer oder gleich der angegebenen Zahl ist. |
floor_ | Berechnet die größte Integerzahl die kleiner oder gleich der angegebenen Zahl ist. |
pow_ | Berechnet eine angegebene Zahl hoch angegebener Potenz. |
sincos_ | Berechnet den Sinus und den Kosinus von x. |
fmodabs_ | Berechnet den Absolutbetrag, der die euklidische Definition der mod-Operation erfüllt. |
round_ | Berechnet einen Wert und rundet ihn auf den nächsten Integer. |
round_digits_ | Berechnet einen gerundeten Wert mit einer festgelegten Anzahl Dezimalstellen. |
coubic_ | Berechnet die Kubikzahl. |
ldexp_ | Berechnet eine reelle Zahl (double) aus Mantisse und Exponent. |
ldexpf_ | Berechnet eine reelle Zahl (float) aus Mantisse und Exponent. |
sinh_ | Berechnet den Hyperbelsinus des angegebenen Winkels. |
cosh_ | Berechnet den Hyperbelkosinus des angegebenen Winkels. |
tanh_ | Berechnet den Hyperbeltangens des angegebenen Winkels. |
finite_ | Ermittelt, ob der angegebene Wert endlich ist. |
isnan_ | Ermittelt, ob der gegebene Wert keine Zahl ist (NAN „not a number“). |
rands_ | Berechnet eine Pseudo-Zufallszahl zwischen 0 und 32767. Der Parameter holdrand wird zufällig gesetzt und bei jedem Aufruf geändert. |
Anmerkungen
Die Funktionen haben die Endung „_“ (Unterstrich), um sie als TwinCAT Implementierung zu kennzeichnen.
Die meisten sind analog math.h von Microsoft konzipiert, nur für den Datentyp Double.