Math387 function list
Delphi math unit has been extended with many new routines
All listed functions from Math387 unit support real and complex numbers (where appropriate). Most functions for math in Delphi are now overloaded, to minimize the number of parameters required and function names to remember. All functions are capable of handling NAN and INF values and use of FWAIT instruction is therefore omitted, thus providing further performance gains. The unit also declares a large subset of typed constants for real and complex arithmetics. It supports both double and single floating point precision. Most of the function's were rewritten in assembly language (as the name 387 suggests). The performance gains are especially large for functions taking complex arguments. This unit does not provide any vector/matrix arithmetics (routines working on arrays of elements) and therefore can not make use of MMX/MMX2/SSE/SSE2/3DNOW. Some of the routines do not save intermediate results to memory, thus preserving full 80 bit (20 decimal places) precision. This improves the precision accuracy of the final result by up to 5 decimal places with double precision. (for example from 10 to 15).
For comprehensive help file please see the online documentation of MtxVec for Delphi/C++ Builder or MtxVec for Visual Studio .NET
Function | Description |
---|---|
ArcCos | Inverse cosine. |
ArcCosh | The inverse hyperbolic cosine. |
ArcCot | Inverse cotangent. |
ArcCoth | Inverse hyperbolic cotangent. |
ArcCsc | Inverse cosecant. |
ArcCsch | Inverse hyperbolic cosecant. |
ArcSec | Inverse secant. |
ArcSech | Inverse hyperbolic secant. |
ArcSin | Inverse sine. |
ArcSinh | The inverse hyperbolic sine. |
ArcTan | Inverse tangens. |
ArcTan2 | Inverse tangens of Y/X. |
ArcTanh | The inverse hyperbolic tangens. |
Arg | The argument of Z. |
BesselI0 | Modified bessel function of the first kind. |
BesselJ0 | Bessel function of the first kind. |
Bigger | Compares two numbers. |
BiggerOrEqual | Compares two numbers. |
CAbs | The norm of Z. |
CAbs1 | Returns the approximation of the norm of Z. |
CAdd | Complex addition. |
CAddI | Add imaginary value BI to complex number A. |
CartToPolar | Cartesian to polar coordinate transformation. |
CDiv | Complex division. |
Ceil | Round towards positive infinity. |
CFrac | Complex frac function. |
CheckRange | Check the value. |
CInv | The 1/Z. |
ClearFPU | Clears pending FPU exceptions. |
CMul | Complex multipliction. |
CMulI | Multiply two complex numbers. |
Conj | Conjugate complex number. |
Cos | Cosine. |
Cosh | Hyperbolic cosine. |
Cot | Cotangent. |
Coth | Hyperbolic cotangent. |
Cplx | Converts two real numbers to complex number. |
CplxToStr | Converts complex number to a string. |
CRound | Complex round function. |
Csc | Cosecant. |
Csch | Hyperbolic cosecant. |
CSqr | The square of complex number. |
CSqrt | Square root of a complex number. |
CSub | Complex subtraction. |
CSubI | Subtract imaginary value BI from complex number A. |
CTrunc | Complex truncate function. |
DegToRad | Returns the value of a degree measurement expressed in radians. |
EInvalidArgumentRaise | Procedure raises EMtxVecInvalidArgument exception. |
EnsureRange | Limits the value. |
Equal | Compares two numbers. |
ERaise | Procedure raises MtxVecException exception. |
ERangeErrorRaise | Procedure raises EMtxVecRangeError exception. |
Exp | e^x function. |
Exp10 | 10^x function. |
Exp2 | 2^x function. |
Expj | Euler formula for complex number. |
ExtractCplx | A complex number, extracted from string source. |
ExtractSample | A TSample number, extracted from string source. |
Fact | Factorial N!. |
FixAngle | Sets angle in [-2p,2p] . |
Flip | Swaps real and imaginary part. |
FlipConj | Swaps real and imaginary part and conjugates the result. |
Floor | Round towards negative infinity. |
FormatCplx | The complex number Z formated as a string. |
FormatSample | The TSample number X formated as string. |
Gamma | Gamma function. |
Gcd | Greatest common divisor. |
Imag | Imaginary part of complex number. |
IntPower | Power function (integer power). |
IsInf | Checks if number is INF. |
IsInfNan | Checks if number is INF or NAN. |
IsNan | Checks if number is NAN. |
IsNanInf | Checks if number is INF or NAN. |
LargestExp2 | Returns first number being power of two that is equal or greater than n. |
LargestLog2 | Returns power of two which gives the first number that is equal or greater then n. |
Lcm | Smallest common multiplier. |
LimitRange | Limit the range X. |
Ln | Natural logarithm. |
LnGamma | Natural logarithm of the gamma function. |
Log10 | Log base 10. |
Log2 | Log base 2. |
LogN | Log base N. |
Max | Maximum of two numbers. |
Min | Minimum of two numbers. |
MulI | Multiplies complex number with I. |
Neg | Changes the sign of Z. |
Norm | The ||Z||^2. |
PolarToCart | Polar to cartesian coordinate transformation. |
Power | Power function. |
Pythag | The Pythagora formula. |
RadToDeg | Converts radians to degrees. |
Real | Real part of complex number. |
Rem | The reminder after division. |
RestoreRound | Restores FPU round flags. |
Root | The root of complex number. |
SampleToStr | Converts TSample value to a string. |
Sec | Secant. |
Sech | Hyperbolic secant. |
SetRoundToTrunc | Sets FPU rounding flags. |
Sgn | Signum. |
Sign | Fortran sign function. |
Sin | Sine. |
SinCos | Sine and cosine in single pass. |
Sinh | Hyperbolic sine. |
SinhCosh | The hyperbolic sine and cosine. |
Smaller | Compares two numbers. |
SmallerOrEqual | Compares two numbers. |
StrToCplx | Converts a string to complex number. |
StrToSample | Converts string to a TSample (double) value. |
StrToVal | Converts string to a value. |
Swap | Exchange two numbers. |
Tan | Tangens. |
Tanh | Hyperbolic tangens. |
TruncAndFrac | Splits the floating point number to integer and fractional parts. |