Math387 Unit

Functions

NameDescription
Abs (5)
AbsfAbsolute value in single precision.
aGetLength (24)
AllignMem
AllignMemOffset (2)
AllignMemp
ArcCos (3)Inverse cosine of X.
ArcCosf
ArcCosh (3)Inverse hyperbolic cosine.
ArcCoshf
ArcCot (3)Inverse cotangent.
ArcCotf
ArcCoth (3)Inverse hyperbolic cotangent.
ArcCothf
ArcCsc (3)Inverse cosecant.
ArcCscf
ArcCsch (3)Inverse hyperbolic cosecant.
ArcCschf
ArcSec (3)Inverse secant.
ArcSecf
ArcSech (3)Inverse hyperbolic secant.
ArcSechf
ArcSin (3)Inverse sine.
ArcSinf
ArcSinh (3)Inverse hyperbolic sine.
ArcSinhf
ArcTan (6)Inverse tangens of X.
ArcTan2Inverse tangens of Y/X.
ArcTan2f
ArcTanf (3)Inverse tangens.
ArcTanh (3)Inverse hyperbolic tangens.
ArcTanhf
Arg (2)The argument of Z.
aSetLength (26)
BesselI0 (2)Modified bessel function of the first kind.
BesselJ0 (2)Bessel function of the first kind.
BesselMFirstChebChebyshev/Clenshaw recurrence initialiser, shared by the Bessel computations in Ippspl_core/_single.
BesselMNextChebChebyshev/Clenshaw recurrence step; see Math387.BesselMFirstCheb.
Bigger (7)Compares two complex numbers.
Bigger2 (2)
Biggerf
BiggerOrEqual (6)Compare two complex numbers.
BytesOfThe bytes of a string.
CAbs (2)The norm of z.
CAbs1 (2)Returns the approximation of the norm of Z.
CAdd (6)Complex addition.
CAddI (4)Add imaginary value BI to complex number A.
CartToPolar (2)Cartesian to polar coordinate transformation.
CDiv (6)Complex division.
Ceil (3)Round towards positive infinity.
Ceilf
CeilToIntRound towards positive infinity.
CeilToInt64Round towards positive infinity.
CeilToInt64f
CeilToIntf
CFrac (2)Complex frac function.
CheckRange (4)Check the value.
CheckRangef
CInv (4)The 1/Z.
CInvMulI (2)
ClearFPUClears pending FPU exceptions.
CMul (6)Complex multipliction.
CMulI (4)Multiply two complex numbers.
Conj (2)Conjugate complex number.
Cos (8)Cosine.
Cosf (3)Cosine function.
Cosh (5)Hyperbolic cosine.
Coshf
Cot (3)Cotangent.
Cotf
Coth (3)Hyperbolic cotangent.
Cothf
Cplx (2)Converts two real numbers to complex number.
CplxDouble
CplxSingle
CplxToStr (2)Converts complex number to a string.
CRound (2)Complex round function.
Csc (3)Cosecant.
Cscf
Csch (3)Hyperbolic cosecant.
Cschf
CSqr (2)The square of complex number.
CSqrt (2)Square root of a complex number.
CSub (10)Complex subtraction.
CSubI (4)Subtract imaginary value BI from complex number A.
CSubMulI (2)
CTrunc (2)Complex truncate function.
DegToRadReturns the value of a degree measurement expressed in radians.
DegToRadf
EInvalidArgumentRaiseRaises EMtxVecInvalidArgument exception.
EInvalidArgumentRaiseFmt
EnsureRange (3)Limits the value.
EnsureRangef
Equal (10)Compares two numbers.
Equalf (2)
ERaiseRaises EMtxVecException exception.
ERaiseFmt
ERangeErrorRaiseRaises EMtxVecRangeError exception.
ERangeErrorRaiseFmt
ErfError function.
ErfcComplement to the error function Erf.
ErfcInvInverse complementary error function.
ErfInvInverse error function.
Exp (6)e^x function.
Exp10 (3)10^x function.
Exp10f
Exp2 (3)2^x function.
Exp2f
Exp2Int2^x function.
Exp2Int642^x function.
Expf (3)e^x function.
ExpjEuler formula for complex number.
Expjf
ExtractCplxGets a complex number, extracted from string source.
ExtractCplxSingle
ExtractIntegerGets integer number, extracted from string source.
ExtractSampleGets double number, extracted from string source.
FactFactorial N!.
FixAngleFast angle reduction to [-Pi,Pi].
FixAnglef
Flip (2)Swaps real and imaginary part.
FlipConj (4)Swaps real and imaginary part and conjugates the result.
Floor (3)Round towards negative infinity.
Floorf
FloorToIntRound towards negative infinity.
FloorToInt64Round towards negative infinity.
FloorToInt64f
FloorToIntf
FormatCplx (2)The complex number Z formated as a string.
FormatFloatFormats a floating point value with the format string.
FormatSample (4)The double number X formated as string.
FormatSamplef (2)
FreeAndNil (2)
Gamma (2)Gamma function (complex).
GammaFrac (2)Incomplete Gamma function : continued fraction expansion.
GammaSer (2)Incomplete Gamma function : series expansion.
GcdGreatest common divisor.
GcdInt64Greatest common divisor.
GetDecimalSeparator
GetThousandSeparator
GlobalAllocUnmanaged
GlobalFreeUnmanaged (2)
IGamma (2)Incomplete gamma function.
Imag (2)Imaginary part of complex number.
IntGetCurrentThreadID
IntInterlockedDecrement
IntInterlockedExchange
IntInterlockedIncrement
IntPower (3)Power function (integer power).
IntPowerf
IntPrecisionToStrReturns the description of the Src.
IntToDoubleConverts an integer to double.
IntToSingleInteger to single conversion.
IsInf (3)Checks if number is INF.
IsInff
IsInfNan (3)Checks if number is INF 0r NAN.
IsInfNanf
IsNaN (3)Checks if number is NAN.
IsNanf
IsNanInf (3)Checks if number is INF or NAN.
IsNanInff
JGamma (2)Complement to the incomplete gamma function.
LargestExp2Returns first number being power of two that is equal or greater than n.
LargestLog2Power of two which gives the first number that is equal or greater than n.
LcmSmallest common multiplier.
LcmInt64Smallest common multiplier.
LimitRange (2)Limit the range X.
LimitRangef
Ln (6)Natural logarithm.
Lnf (3)e^x function.
LnGamma (2)Natural logarithm of the gamma function.
Log10 (3)Log base 10.
Log10f
Log2 (3)Log base 2.
Log2f
Log2Int
Log2Int64Log base 2.
LogN (7)Log base N.
LogNf
Max (10)Maximum of two numbers.
Maxf
Min (10)Minimum of two numbers.
Minf
MulI (4)Multiplies complex number with I.
Neg (2)Changes the sign of Z.
NextLargestExp2Smallest power of two that is >= n, doubled once (FFT work-buffer sizing with headroom).
Norm (2)The ||Z||^2.
NormalQuantileNormal (Gaussian) quantile, the inverse of the standard normal CDF.
PolarToCart (2)Polar to cartesian coordinate transformation.
Power (7)Power function.
Powerf
Pythag (3)Complex version of Pythagora formula.
Pythagf
RadToDegConverts radians to degrees.
RadToDegf
Real (2)Real part of complex number.
Rem (3)Complex remainder after division.
Remf
Root (2)The root of complex number.
Round (2)
Roundf
RoundToIntRounds double precision floating point number towards nearest integer (banker) and converts to 32bit integer.
RoundToInt64Rounds double precision floating point number towards nearest integer (banker) and converts to 64bit integer.
RoundToInt64fRounds single precision floating point number towards nearest integer (banker) and converts to 64bit integer.
RoundToIntfRounds single precision floating point number towards nearest integer (banker) and converts to 32bit integer.
SampleToStr (2)Converts TSample value to a string.
SampleToStrf (2)
Sec (3)Secant.
Secf
Sech (3)Hyperbolic secant.
Sechf
SetContains (2)
SetExclude (2)
SetFlushToZeroSets DAZ and FTZ bits in MXCSR.
SetInclude (2)
SetRandSeedSeeds the global random generator, discarding any cached engine.
Sgn (4)Signum.
Sgnf
SgnGamma
Sign (4)Changes the sign of a complex number.
Signf
Sin (8)Sine.
SinCosSine and cosine in single pass.
SinCosf
Sinf (3)Sine function.
Sinh (5)Hyperbolic sine.
SinhCoshThe hyperbolic sine and cosine.
SinhCoshf
Sinhf
Smaller (7)Compares two complex numbers.
Smaller2 (2)
Smallerf
SmallerOrEqual (6)Compare two complex numbers.
SmallestExp2Closest power of 2 to n.
Sqr (4)
SqrAbs (2)
SqrfSquare in single precision.
Sqrt (4)Square root.
Sqrtf (3)Square root.
StartTimer (2)Starts the microsecond timer.
StopTimer (2)Stops the timer with microsecond resolution.
StreamReadDouble
StreamReadInt16
StreamReadInt32 (2)
StreamReadInt64 (2)
StreamReadInt8
StreamReadSingle
StreamReadString
StreamReadUInt16
StreamReadUInt32 (2)
StreamReadUInt64 (2)
StreamReadUInt8
StreamWriteDouble
StreamWriteInt16
StreamWriteInt32
StreamWriteInt64
StreamWriteInt8
StreamWriteSingle
StreamWriteString
StreamWriteUInt16
StreamWriteUInt64
StreamWriteUInt8
StringOfThe string the bytes hold.
StrToCplxConverts a string to complex number.
StrToCplxSingle
StrToDoubleConverts string to a double value.
StrToFloatConverts a string to a floating point value.
StrToSampleConverts string to a double value.
StrToSingleConverts string to a single value.
StrToValConverts string to a value.
Swap (5)Exchange two numbers.
SwapfExchange two numbers.
Tan (3)Tangens.
Tanf
Tanh (3)Hyperbolic cosine.
Tanhf
TanhXHyperbolic tangens.
TanhXf
ToDouble
ToSingle
Trunc (2)
TruncAndFracSplits the floating point number to integer and fractional parts.
TruncAndFracf
TruncAndFracToInt
TruncAndFracToInt64
TruncAndFracToInt64fSplits the floating point number to integer and fractional parts.
TruncAndFracToIntfSplits the floating point number to integer and fractional parts.
TruncDiv (2)
TruncDivf
Truncf
TruncToIntRounds double precision floating point number towards zero and converts to 32bit integer.
TruncToInt64Rounds double precision floating point number towards zero and converts to 64bit integer.
TruncToInt64fRounds single precision floating point number towards zero and converts to 64bit integer.
TruncToIntfRounds single precision floating point number towards zero and converts to 32bit integer.

Constants

NameTypeValueDescription
C_ITCplx(Re: 0.0; Im: 1.0)

Imaginary value.

C_I_SINGLETSCplx(Re: 0.0; Im: 1.0)

Imaginary value.

C_ONETCplx(Re: 1.0; Im: 0.0)

Complex one.

C_ONE_SINGLETSCplx(Re: 1.0; Im: 0.0)

Complex one.

C_PITCplx(Re: 3.14159265358979323846; Im: 0.0)

PI.

C_PI_DIV_2TCplx(Re: 1.57079632679489661923; Im: 0.0)

PI/2.

C_PI_DIV_2_SINGLETSCplx(Re: 1.57079632679489661923; Im: 0.0)

PI/2.

C_PI_SINGLETSCplx(Re: 3.14159265358979323846; Im: 0.0)

PI.

C_ZEROTCplx(Re: 0.0; Im: 0.0)

Complex zero.

C_ZERO_SINGLETSCplx(Re: 0.0; Im: 0.0)

Complex zero.

CGOLDDouble0.38196601125010515179

2 - GOLD.

CGOLD_SINGLESingle0.38196601125010515179

2 - GOLD.

EPSDouble2.220446049250313E-16

Epsilon.

EPS_SINGLESingle1.192093E-7
EULER_NUMBERDouble2.71828182845904523536028747135

Euler number (e).

EULER_NUMBER_SINGLESingle2.71828182845904523536028747135

Euler number (e).

EULERGAMMADouble0.5772156649015328606

Euler constant.

EULERGAMMA_SINGLESingle0.5772156649015328606

Euler constant.

GOLDDouble1.61803398874989484821

Golden Mean.

GOLD_SINGLESingle1.61803398874989484821

Golden Mean.

INVLN10Double0.43429448190325182765

1/Ln(10).

INVLN10_SINGLESingle0.43429448190325182765

1/Ln(10).

INVLN2Double1.44269504088896340736

1/Ln(2).

INVLN2_SINGLESingle1.44269504088896340736

1/Ln(2).

INVPI180Double57.2957795130823208768

180/PI.

INVPI180_SINGLESingle57.2957795130823208768

180/PI.

INVSQRT2PIDouble0.39894228040143267794

1/Sqrt(2PI).

INVSQRT2PI_SINGLESingle0.39894228040143267794

1/Sqrt(2PI).

INVTWOPIDouble0.1591549430918953420

1/2PI.

INVTWOPI_SINGLESingle0.1591549430918953420

1/2PI.

kTabstringChr(9)
LN10Double2.30258509299404568402

Ln(10).

LN10_SINGLESingle2.30258509299404568402

Ln(10).

LN2Double0.69314718055994530942

Ln(2).

LN2_SINGLESingle0.69314718055994530942

Ln(2).

LN2PIDIV2Double0.91893853320467274178

Ln(2*PI)/2.

LN2PIDIV2_SINGLESingle0.91893853320467274178

Ln(2*PI)/2.

LNPIDouble1.14472988584940017414

Ln(PI).

LNPI_SINGLESingle1.14472988584940017414

Ln(PI).

LNSQRT2PIDouble0.91893853320467274178

Ln(Sqrt(2*PI)).

LNSQRT2PI_SINGLESingle0.91893853320467274178

Ln(Sqrt(2*PI)).

MACHEPDouble2.220446049250313E-16

Machine constant.

MACHEP_SINGLESingle1.192093E-7
MAXFACDouble170

Maximum factorial.

MAXFAC_SINGLESingle33
MAXGAMDouble171.624376956302

Maximum value of the gamma function.

MAXGAM_SINGLESingle34.648
MAXLGMDouble2.556348E+305

Maximum allowed value for the logarithm of the gamma function.

MAXLGM_SINGLESingle1.0383E+36
MAXLOGDouble709.7827128933840

Largest result of a base 10 logarithm.

MAXLOG_SINGLESingle88.72283
MAXNUMDouble1.797693134862315E+308

Maximum floating point number.

MAXNUM_SINGLESingle3.402823E+38
MINLOGDouble-708.3964185322641

Smallest result of a base 10 logarithm.

MINLOG_SINGLESingle-87.33655
MINNUMDouble2.225073858507202E-308

Minimum floating point number.

MINNUM_SINGLESingle1.175495E-38
PIDouble3.14159265358979323846

PI.

PI180Double0.01745329251994329577

PI/180.

PI180_SINGLESingle0.01745329251994329577

PI/180.

PI_SINGLESingle3.14159265358979323846

PI.

PIDIV2Double1.57079632679489661923

PI/2.

PIDIV2_SINGLESingle1.57079632679489661923

PI/2.

S_ONEDouble1
S_ONE_SINGLESingle1
S_ZERODouble0
S_ZERO_SINGLESingle0
Saved8087Word$1332
SQRT2Double1.41421356237309504880

Sqrt(2).

SQRT2_SINGLESingle1.41421356237309504880

Sqrt(2).

SQRT2DIV2Double0.70710678118654752440

Sqrt(2)/2.

SQRT2DIV2_SINGLESingle0.70710678118654752440

Sqrt(2)/2.

SQRT2PIDouble2.50662827463100050242

Sqrt(2PI)

SQRT2PI_SINGLESingle2.50662827463100050242

Sqrt(2PI)

SQRTEPSDouble1.4901161194e-08

Sqrt(EPS).

SQRTEPS_SINGLESingle0.0003452670062
SQRTPIDouble1.77245385090551602730

Sqrt(PI).

SQRTPI_SINGLESingle1.77245385090551602730

Sqrt(PI).

TWOPIDouble6.28318530717958647693

2*PI.

TWOPI_SINGLESingle6.28318530717958647693

2*PI.

Variables

NameTypeDescription
_HasAVX2FMABoolean
CINFTCplx

Complex version of INF.

CINF_SINGLETSCplx
CNANTCplx

Complex version of NAN.

CNAN_SINGLETSCplx
DebugValueCountInteger
DefaultFloatPrecisionTMtxFloatPrecision
DefaultPrecisionTPrecision
Fortran8087CWInteger

FPU control word used by Fortran.

GradStepSizeDouble

Gradient step size used by Richarson numeric gradient algorithm.

GradStepSizeDefaultDouble
GradStepSizeSingleSingle
GradStepSizeSingleDefaultSingle
INFDouble

Positive Infinity.

INF_SINGLESingle
MtxRegistryKeystring
MtxSaved8087CWWord
MtxSystemEndiannessTEndianness

Storage default endianness.

MtxVec8087CWInteger

FPU control word turning off all exceptions.

MtxVecBlockSizeInteger

Defines the block size.

MtxVecCopyrightstring
MtxVecEOAInteger

End of array constant.

MtxVecMemoryAlignmentInt64
MtxVecPrimeArrayTIntegerArray

Holds an array of 1000 prime numbers.

MtxVecVersionInteger

MtxVec version.

MtxVecWorkingDirstring
NANDouble

Not a number.

NAN_SINGLESingle
NFACTInteger
NilPtrNativeInt

Classes

NameDescription
TFairSemaphoreSectionCritical section with semaphore capability.
TFifoCriticalSectionEnables threads in a multithreaded application a single-thread only exclusive execution of a part of the code.

Records

NameDescription
TCplxDefault complex number type used by Math387.
TDCplxComplex number type for double real and complex part.
TICplxComplex number type for integer real and complex part.
TIntegerCplxComplex number type for integer real and complex part.
TLocalCPUIDMapped from Delphi System Unit
TSCplxDefault complex number type used by Math387.
TSimpleCriticalSectionEnables threads in a multithreaded application a single-thread only exclusive execution of a part of the code.
TSmallIntCplxComplex number type for integer real and complex part.

Enumerations

NameDescription
TCompareComparison type for the Equal function.
TCRWaitModeThe waiting method used by the sorted critical section.
TEndiannessStorage Endianness.
TFFTStorageFormatType used to define the storage format for FFT operations.
TFixedTextAlignSpecifies alignment for fixed width font number to string conversion.
TIndexTypeType used to define indexation type.
TIntPrecisionDefault storage precision for integer vector and matrix values.
TMKL_Sparse_diag_typeApplies to triangular matrices only ( SPARSE_MATRIX_TYPE_SYMMETRIC, SPARSE_MATRIX_TYPE_HERMITIAN, SPARSE_MATRIX_TYPE_TRIANGULAR )
TMKL_Sparse_fill_modeApplies to triangular matrices only ( SPARSE_MATRIX_TYPE_SYMMETRIC, SPARSE_MATRIX_TYPE_HERMITIAN, SPARSE_MATRIX_TYPE_TRIANGULAR )
TMKL_Sparse_index_base
TMKL_Sparse_layoutApplicable for Level 3 operations with dense matrices; describes storage scheme for dense matrix (row major or column major)
TMKL_Sparse_matrix_type
TMKL_Sparse_memory_usagememory optimization hints from user: describe how much memory could be used on optimization stage
TMKL_Sparse_sor_typeApplies to SOR interface; define type of (S)SOR operation to perform
TMKL_Sparse_status
TMKL_Verbose_modeIf verbose mode activated, handle should collect and report profiling / optimization info
TMtxCompareOp
TMtxFloatPrecisionSpecifies MtxVec processing precision.
TPrecisionStorage precision.
TRoundingRounding algorithm.

Types

NameDescription
TMtxNotifyEventBase notify event.

Events

NameDescription
TSelectOneFunctionCFunction type with two parameters.
TSelectOneFunctionSingleCFunction type with two parameters.
TSelectThreeFunctionFunction type with two parameters.
TSelectThreeFunctionSingleFunction type with two parameters.
TSelectTwoFunctionFunction type with two parameters.
TSelectTwoFunctionCFunction type with two parameters.
TSelectTwoFunctionSingleFunction type with two parameters.
TSelectTwoFunctionSingleCFunction type with two parameters.

Exceptions

NameDescription
EMtxVecExceptionBase exception class for MtxVec library.
EMtxVecInvalidArgumentException class indicates invalid arguments error.
EMtxVecRangeErrorException class indicates out of range error.
EOutOfMemoryException class indicates out of memory error.