Dystlab software has its own scripting engine (Scripter) that supports Pascal and Basic programming languages. Scripter can be used to develop applications, draw frames in reports, graphical visualizations, and more.


Mathematical procedures and functions

These procedures and functions can be used in all types of documents, regardless of their purpose.

function Math.Abs(X: Double): Double;

Returns the absolute value of X.

Example: Abs(-5.3) returns 5.3.

function Math.Ceil(X: Double): Integer;

Rounds X up to the nearest integer.

Example: Ceil(3.2) returns 4.

function Math.Exp(X: Double): Double;

Returns the value of e raised to the power of X.

Example: Exp(1) returns 2.718281828459045.

function Math.Floor(X: Double): Integer;

Rounds X down to the nearest integer.

Example: Floor(3.9) returns 3.

function Math.Frac(X: Double): Double;

Returns the fractional part of X.

Example: Frac(5.75) returns 0.75.

function Math.FracDigit(X: Double; DigitNo: Integer): Int64;

Returns the specified digit of the fractional part of X.

Example: FracDigit(5.75, 1) returns 7.

function Math.Int(X: Double): Double;

Returns the integer part of X.

Example: Int(5.75) returns 5.0.

function Math.IntPower(X: Double; Exponent: Integer): Double;

Returns X raised to the power of Exponent.

Example: IntPower(2, 3) returns 8.0.

function Math.Ldexp(X: Double; P: Integer): Double;

Returns X * 2^P.

Example: Ldexp(3, 2) returns 12.0.

function Math.Ln(X: Double): Double;

Returns the natural logarithm of X.

Example: Ln(2.718281828459045) returns 1.0.

function Math.LnXP1(X: Double): Double;

Returns the natural logarithm of X + 1.

Example: LnXP1(1.0) returns 0.6931471805599453.

function Math.Log10(X: Double): Double;

Returns the base-10 logarithm of X.

Example: Log10(100) returns 2.0.

function Math.Log2(X: Double): Double;

Returns the base-2 logarithm of X.

Example: Log2(8) returns 3.0.

function Math.LogN(Base, X: Double): Double;

Returns the logarithm of X with the specified Base.

Example: LogN(3, 9) returns 2.0.

function Math.Max(A, B: Double): Double;

Returns the larger of A and B.

Example: Max(5, 10) returns 10.0.

function Math.MaxInt(A, B: Integer): Integer;

Returns the larger of A and B as integers.

Example: MaxInt(5, 10) returns 10.

function Math.Min(A, B: Double): Double;

Returns the smaller of A and B.

Example: Min(5, 10) returns 5.0.

function Math.MinInt(A, B: Integer): Integer;

Returns the smaller of A and B as integers.

Example: MinInt(5, 10) returns 5.

function Math.Power(Base, Exponent: Double): Double;

Returns Base raised to the power of Exponent.

Example: Power(2, 3) returns 8.0.

function Math.Random: Double;

Returns a random floating-point number between 0 and 1.

Example: Random might return 0.123456789.

function Math.Round(X: Double): Int64;

Rounds X to the nearest integer.

Example: Round(3.6) returns 4.

function Math.RoundToEven(X: Double; Digits: Integer): Double;

Rounds X to the nearest even number with the specified number of Digits.

Example: RoundToEven(3.5, 0) returns 4.0.

function Math.Sign(X: Double): Integer;

Returns the sign of X (-1, 0, or 1).

Example: Sign(-5) returns -1.

function Math.Sqrt(X: Double): Double;

Returns the square root of X.

Example: Sqrt(16) returns 4.0.

function Math.Trunc(X: Double): Int64;

Truncates X to an integer by removing the fractional part.

Example: Trunc(5.75) returns 5.

Trigonometric Functions

function Math.ArcCos(X: Double): Double;

Returns the arccosine of X in radians.

Example: ArcCos(0.5) returns 1.0471975511965976.

function Math.ArcCosH(X: Double): Double;

Returns the hyperbolic arccosine of X.

Example: ArcCosH(1.5) returns 0.9624236501192069.

function Math.ArcCot(X: Double): Double;

Returns the arccotangent of X in radians.

Example: ArcCot(1) returns 0.7853981633974483.

function Math.ArcCotH(X: Double): Double;

Returns the hyperbolic arccotangent of X.

Example: ArcCotH(1.5) returns 0.8047189562170503.

function Math.ArcCsc(X: Double): Double;

Returns the arccosecant of X in radians.

Example: ArcCsc(2) returns 0.5235987755982989.

function Math.ArcCscH(X: Double): Double;

Returns the hyperbolic arccosecant of X.

Example: ArcCscH(1.5) returns 0.6931471805599453.

function Math.ArcSec(X: Double): Double;

Returns the arcsecant of X in radians.

Example: ArcSec(2) returns 1.0471975511965976.

function Math.ArcSecH(X: Double): Double;

Returns the hyperbolic arcsecant of X.

Example: ArcSecH(0.5) returns 1.3169578969248166.

function Math.ArcSin(X: Double): Double;

Returns the arcsine of X in radians.

Example: ArcSin(0.5) returns 0.5235987755982989.

function Math.ArcSinH(X: Double): Double;

Returns the hyperbolic arcsine of X.

Example: ArcSinH(1.5) returns 1.1947632172871094.

function Math.ArcTan(X: Double): Double;

Returns the arctangent of X in radians.

Example: ArcTan(1) returns 0.7853981633974483.

function Math.ArcTan2(Y, X: Double): Double;

Returns the arctangent of Y/X in radians, considering the quadrant.

Example: ArcTan2(1, 1) returns 0.7853981633974483.

function Math.ArcTanH(X: Double): Double;

Returns the hyperbolic arctangent of X.

Example: ArcTanH(0.5) returns 0.5493061443340549.

function Math.Cos(X: Double): Double;

Returns the cosine of X in radians.

Example: Cos(0) returns 1.0.

function Math.CosH(X: Double): Double;

Returns the hyperbolic cosine of X.

Example: CosH(0) returns 1.0.

function Math.Cosecant(X: Double): Double;

Returns the cosecant of X in radians.

Example: Cosecant(1) returns 1.1883951057781212.

function Math.Cot(X: Double): Double;

Returns the cotangent of X in radians.

Example: Cot(1) returns 0.6420926159343306.

function Math.CotH(X: Double): Double;

Returns the hyperbolic cotangent of X.

Example: CotH(1) returns 1.3130352854993315.

function Math.Cotan(X: Double): Double;

Alias for Cot. Returns the cotangent of X in radians.

Example: Cotan(1) returns 0.6420926159343306.

function Math.Csc(X: Double): Double;

Alias for Cosecant. Returns the cosecant of X in radians.

Example: Csc(1) returns 1.1883951057781212.

function Math.CscH(X: Double): Double;

Returns the hyperbolic cosecant of X.

Example: CscH(1) returns 0.8509181282393216.

function Math.Hypot(X, Y: Double): Double;

Returns the hypotenuse of a right-angled triangle with sides X and Y.

Example: Hypot(3, 4) returns 5.0.

function Math.Pi: Double;

Returns the value of π (pi).

Example: Pi returns 3.141592653589793.

function Math.Sec(X: Double): Double;

Returns the secant of X in radians.

Example: Sec(1) returns 1.8508157176809255.

function Math.SecH(X: Double): Double;

Returns the hyperbolic secant of X.

Example: SecH(1) returns 0.6480542736638853.

function Math.Secant(X: Double): Double;

Alias for Sec. Returns the secant of X in radians.

Example: Secant(1) returns 1.8508157176809255.

function Math.Sin(X: Double): Double;

Returns the sine of X in radians.

Example: Sin(0) returns 0.0.

function Math.SinH(X: Double): Double;

Returns the hyperbolic sine of X.

Example: SinH(1) returns 1.1752011936438014.

function Math.Tan(X: Double): Double;

Returns the tangent of X in radians.

Example: Tan(1) returns 1.5574077246549023.

function Math.TanH(X: Double): Double;

Returns the hyperbolic tangent of X.

Example: TanH(1) returns 0.7615941559557649.

Angle Conversion Functions

function Math.CycleToDeg(Cycles: Double): Double;

Converts cycles to degrees.

Example: CycleToDeg(1) returns 360.0.

function Math.CycleToGrad(Cycles: Double): Double;

Converts cycles to gradians.

Example: CycleToGrad(1) returns 400.0.

function Math.CycleToRad(Cycles: Double): Double;

Converts cycles to radians.

Example: CycleToRad(1) returns 6.283185307179586.

function Math.DegToCycle(Degrees: Double): Double;

Converts degrees to cycles.

Example: DegToCycle(360) returns 1.0.

function Math.DegToGrad(Degrees: Double): Double;

Converts degrees to gradians.

Example: DegToGrad(90) returns 100.0.

function Math.DegToRad(Degrees: Double): Double;

Converts degrees to radians.

Example: DegToRad(180) returns 3.141592653589793.

function Math.GradToCycle(Grads: Double): Double;

Converts gradians to cycles.

Example: GradToCycle(400) returns 1.0.

function Math.GradToDeg(Grads: Double): Double;

Converts gradians to degrees.

Example: GradToDeg(100) returns 90.0.

function Math.GradToRad(Grads: Double): Double;

Converts gradians to radians.

Example: GradToRad(100) returns 1.5707963267948966.

function Math.RadToCycle(Radians: Double): Double;

Converts radians to cycles.

Example: RadToCycle(6.283185307179586) returns 1.0.

function Math.RadToDeg(Radians: Double): Double;

Converts radians to degrees.

Example: RadToDeg(3.141592653589793) returns 180.0.

function Math.RadToGrad(Radians: Double): Double;

Converts radians to gradians.

Example: RadToGrad(1.5707963267948966) returns 100.0.