Math and Complex Number Routines Category

=====================================================

Abs Routine Returns an absolute value.

Syntax

function Abs(const AValue: TComplex): Double;

Description

Abs returns the absolute value of the argument, X. X is an integer-type or real-type expression.

=====================================================

ArcCos Routine Calculates the inverse cosine of a given number.

Syntax

function ArcCos(const AValue: TComplex): TComplex;

Description

ArcCos returns the inverse cosine of X. X must be between -1 and 1. The return value is in the range [0..Pi], in radians.

=====================================================

ArcCosH Routine Calculates the inverse hyperbolic cosine of a given number.

Syntax

function ArcCosH(const AValue: TComplex): TComplex;

Description

ArcCosh returns the inverse hyperbolic cosine of X. The value of X must be greater than or equal to 1.
=====================================================

ArcCot Routine Calculates the inverse cotangent of a given number.

Syntax

function ArcCot(const AValue: TComplex): TComplex;

Description

ArcCot returns the inverse cotangent of X.

=====================================================

ArcCotH Routine Calculates the inverse hyperbolic cotangent of a given number.

Syntax

function ArcCotH(const AValue: TComplex): TComplex;

Description

ArcCot returns the inverse hyperbolic cotangent of X.

=====================================================

ArcCsc Routine Calculates the inverse cosecant of a given number.

Syntax

function ArcCsc(const AValue: TComplex): TComplex;

Description

ArcCsc returns the inverse cosecant of X.

=====================================================

ArcCscH Routine Calculates the inverse hyperbolic cosecant of a given number.

Syntax

function ArcCscH(const AValue: TComplex): TComplex;

Description

ArcCsc returns the inverse hyperbolic cosecant of X.
=====================================================

ArcSec Routine Calculates the inverse secant of a given number.

Syntax

function ArcSec(const AValue: TComplex): TComplex;

Description

ArcSec returns the inverse secant of X.

=====================================================

ArcSecH Routine Calculates the inverse hyperbolic secant of a given number.

Syntax

function ArcSecH(const AValue: TComplex): TComplex;

Description

ArcSec returns the inverse hyperbolic secant of X.
=====================================================

ArcSin Routine Calculates the inverse sine of a given number.

Syntax

function ArcSin(const AValue: TComplex): TComplex;

Description

ArcSin returns the inverse sine of X. X must be between -1 and 1. The return value will be in the range [-Pi/2..Pi/2], in radians.
=====================================================

ArcSinH Routine Calculates the inverse hyperbolic sine of a given number.

Syntax

function ArcSinH(const AValue: TComplex): TComplex;

Description

ArcSinh returns the inverse hyperbolic sine of X.

=====================================================

ArcTan Routine Calculates the arctangent of a given number.

Syntax

function ArcTan(const AValue: TComplex): TComplex;

Description

In Delphi code, ArcTan returns the arctangent of X. X is a real-type expression that gives an angle in radians.

=====================================================

ArcTan2 Routine Calculates the arctangent angle and quadrant of a given number.

Syntax

function ArcTan2(const Y: Extended, const X: Extended): Extended;

Description

ArcTan2 calculates ArcTan(Y/X), and returns an angle in the correct quadrant. The values of X and Y must be between -2^64 and 2^64.

In addition, the value of X can’t be 0. The return value will fall in the range from -Pi to Pi radians.
=====================================================

ArcTanH Routine Calculates the inverse hyperbolic tangent of a given number.

Syntax

function ArcTanH(const AValue: TComplex): TComplex;

Description

ArcTanh returns the inverse hyperbolic tangent of X. The value of X must be between -1 and 1 (inclusive).

=====================================================

Ceil Routine Rounds variables up toward positive infinity.

Syntax

function Ceil(const X: Extended): Integer;

Description

Call Ceil to obtain the lowest integer greater than or equal to X. The absolute value of X must be less than MaxInt.

For example: Ceil(-2.8) = -2 Ceil(2.8) = 3 Ceil(-1.0) = -1

=====================================================

Cos Routine Calculates the cosine of an angle.

Syntax

function Cos(const AValue: TComplex): TComplex;

Description

In Delphi code, Cos returns the cosine of the angle X. X is a real-type expression that represents an angle in radians.
=====================================================

Cosecant Routine Returns the cosecant of an angle.

Syntax

function Cosecant(const AValue: TComplex): TComplex;

Description

Use the Cosecant to calculate the cosecant of X, where X is an angle in radians. The cosecant is calculated as 1/ Sin(X).
=====================================================

CosH Routine Calculates the hyperbolic cosine of an angle.

Syntax

function CosH(const AValue: TComplex): TComplex;

Description

Use the Cosh to calculate the hyperbolic cosine of X.
=====================================================

Cot Routine Calculates the cotangent of an angle.

Syntax

function Cot(const AValue: TComplex): TComplex;

Description

Call Cot to obtain the cotangent of X. The cotangent is calculated using the formula 1 / Tan(X).
=====================================================

Cotan Routine Calculates the cotangent of an angle.

Syntax

function Cotan(const AValue: TComplex): TComplex;

Description

Call Cotan to obtain the cotangent of X. The cotangent is calculated using the formula 1 / Tan(X)

Note: Note:Do not call Cotan with X = 0.

=====================================================

CotH Routine Calculates the hyperbolic cotangent of an angle.

Syntax

function CotH(const AValue: TComplex): TComplex;

Description

Call CotH to obtain the hyperbolic cotangent of X, where X is an angle in Radians.

=====================================================

Csc Routine Returns the cosecant of an angle.

Syntax

function Csc(const AValue: TComplex): TComplex;

Description

Use the Csc to calculate the cosecant of X, where X is an angle in radians.

=====================================================

CscH Routine Returns the hyperbolic cosecant of an angle.

Syntax

function CscH(const AValue: TComplex): TComplex;

Description

Use the CscH to calculate the hyperbolic cosecant of X, where X is an angle in radians.

=====================================================

DegToRad Routine Returns the value of a degree measurement expressed in radians.

Syntax

function DegToRad(const Degrees: Extended): Extended;

Description

Use DegToRad to convert angles expressed in degrees to the corresponding value in radians, where radians = degrees(pi/180).
=====================================================

DoubleDecliningBalance Routine Calculates the depreciation of an asset using the double-declining balance method.

Syntax

function DoubleDecliningBalance(const Cost: Extended, const Salvage: Extended, Life: Integer, Period: Integer): Extended;

Description

DoubleDecliningBalance determines accelerated depreciation values for an asset, given the initial Cost, Life expectancy, end value, and depreciation Period.

=====================================================

Floor Routine Rounds variables toward negative infinity.

Syntax

function Floor(const X: Extended): Integer;

Description

Call Floor to obtain the highest integer less than or equal to X. For example: Floor(-2.8) = -3 Floor(2.8) = 2 Floor(-1.0) = -1

Note: Note:The absolute value of X must be less than MaxInt.

=====================================================

FutureValue Routine Calculates the future value of an investment.

Syntax

function FutureValue(const Rate: Extended, NPeriods: Integer, const Payment: Extended, const PresentValue: Extended, PaymentTime: TPaymentTime): Extended;

Description

FutureValue returns the future value of an investment of PresentValue where Payment is invested for NPeriods at the rate of Rate per period. The PaymentTime parameter indicates whether the investment is an ordinary annuity or an annuity due (enter 0 if payments are at the end of each period, 1 if they are at the beginning).
=====================================================

Exp Routine Returns the exponential of X.

Syntax

function Exp(const AValue: TComplex): TComplex;

Description

In Delphi code, Exp returns the value of e raised to the power of X, where e is the base of the natural logarithms.
=====================================================

Frac Routine Returns the fractional part of a real number.

Syntax

function Frac(const AValue: Double): Double;

Description

In Delphi code, the Frac function returns the fractional part of the argument X. X is a real-type expression. The result is the fractional part of X; that is, Frac(X) = X - Int(X).
=====================================================

Int Routine Returns the integer part of a real number.

Syntax

function Int(const AValue: Double): Double;

Description

In Delphi code, Int returns the integer part of X; that is, X rounded toward zero. X is a real-type expression

=====================================================

InterestPayment Routine Calculates the interest portion of a loan payment.

Syntax

function InterestPayment(const Rate: Extended, Period: Integer, NPeriods: Integer, const PresentValue: Extended, const FutureValue: Extended, PaymentTime: TPaymentTime): Extended;

Description

Call InterestPayment to calculate the portion of a loan payment that reflects the interest. Rate represents the fixed periodic interest rate. Period identifies the payment period. NPeriods is the number of periods of the loan. PresentValue represents the amount borrowed (the principal). FutureValue is the future value of the investment. PaymentTime indicates whether the cash flows occur at the beginning or end of the period (enter 0 if payments are at the end of each period, 1 if they are at the beginning).
=====================================================

InterestRate Routine Returns the interest rate required to increase PresentValue to FutureValue.

Syntax

function InterestRate(NPeriods: Integer, const Payment: Extended, const PresentValue: Extended, const FutureValue: Extended, PaymentTime: TPaymentTime): Extended;

Description

InterestRate calculates the interest rate required in order for an investment of PresentValue, with periodic payments of Payment, to be worth FutureValue within NPeriods compounding periods. If NPeriods represents years, an annual interest rate results; if NPeriods represents months, a monthly interest rate results, and so on. The PaymentTime parameter indicates whether the cash flows occur at the beginning or end of the period (enter 0 if payments are at the end of each period, 1 if they are at the beginning).
=====================================================

InternalRateOfReturn Routine Calculates the internal rate of return for an investment.

Syntax

function InternalRateOfReturn(const Guess: Extended, const CashFlows: array of Double (1,2,3...)): Extended;

Description

InternalRateOfReturn determines the internal rate of return on an investment. It references an array that contains cash flow information and uses the supplied internal rate of return estimate to calculate results. Before using this function, define an array containing expected cash flow amounts over a period of time. It is assumed that the amounts are received at regular intervals. Negative amounts are interpreted as cash outflows, and positive amounts as inflows. The first amount must be a negative number, to reflect the initial investment. The following amounts can all be the same for each time period, or they can be different (including a mixture of negatives, positives, or zeros). Specify the estimated rate of return as the Guess parameter. Pass the array of expected cash flow amounts as the CashFlows parameter.
=====================================================

IsNan Routine Indicates when a variable or expression does not evaluate to a numeric value.

Syntax

function IsNan(const AValue: Double): Boolean;

Description

Use IsNan to test whether the value specified by AValue represents NaN (not a number). Note that NaN is distinct from positive and negative infinity, which can be detected using the IsInfinite function.
=====================================================

Ln, Log Routines Returns the natural log of a real expression.

Syntax

function Ln(const AValue: TComplex): TComplex;

Description

In Delphi code, Ln returns the natural logarithm (Ln(e) = 1) of the real-type expression X.
=====================================================

LnXP1 Routine Returns the natural log of (X+1)

Syntax

function LnXP1(const X: Extended): Extended;

Description

LnXP1 returns the natural logarithm of (X+1). Use LnXP1 when X is a value near 0.
=====================================================

Log10 Routine Calculates log base 10.

Syntax

function Log10(const AValue: TComplex): TComplex;

Description

Log10 returns the log base 10 of X.
=====================================================

Log2 Routine Calculates log base 2.

Syntax

function Log2(const AValue: TComplex): TComplex;

Description

Log2 returns the log base 2 of X.

=====================================================

LogN Routine Calculates the log of X for a specified base.

Syntax

function LogN(const AValue: TComplex, const X: Double): TComplex;

Description

LogN returns the log base Base of X.
=====================================================

Kurtosis Routine Calculates kurtosis.

Syntax

function Kurtosis(const Data: array of Double (1,2,3...)): Extended;

Description

Kurtosis calculates the core factors of statistical analysis: kurtosis. Data specifies the data to be analyzed. Kurtosis reflects flatness of distribution

=====================================================

Max Routine Returns the largest signed value in an array.

Syntax

function Max(const Data: array of Double (1,2,3...)): Double;

Description

Max returns the largest signed value in the Data array.

=====================================================

Mean Routine Returns the average of all values in an array.

Syntax

function Mean(const Data: array of Double): Extended;

Description

Mean calculates the arithmetic average of all the values in the Data array parameter.
=====================================================

Min Routine Returns smallest signed value in an array.

Syntax

function Min(const Data: array of Double (1,2,3,...)): Double;

Description

Min returns the smallest signed value in the Data array.
=====================================================

Moment3 Routine Calculates the Moment 3.

Syntax

function Moment3(const Data: array of Double (1,2,3,...)): Double;

Description

Moment3 calculates the core factors of statistical analysis: the Moment 3. Data specifies the data to be analyzed.

=====================================================

Moment4 Routine Calculates the Moment 4.

Syntax

function Moment4(const Data: array of Double (1,2,3,...)): Double;

Description

Moment4 calculates the core factors of statistical analysis: the Moment 4. Data specifies the data to be analyzed.

=====================================================

NetPresentValue Routine Calculates the current value from an array of estimated cash flow values.

Syntax

function NetPresentValue(const Rate: Extended, const CashFlows: array of Double (1,2,3...,), PaymentTime: TPaymentTime): Extended

Description

NetPresentValue calculates the current value of an array of estimated cash flow values, discounted at the given interest rate of Rate. CashFlows is the array of estimated cash flow values. PaymentTime indicates whether the cash flows occur at the beginning or end of the period (enter 0 if payments are at the end of each period, 1 if they are at the beginning). NetPresentValue helps determine how much an investment is currently worth, based on expected earnings, although its accuracy depends on the accuracy of the cash flows in the array.

=====================================================

Norm Routine Returns the Euclidean 'L-2' norm.

Syntax

function Norm(const Data: array of Double (1,2,3...)): Extended;

Description

Norm returns the Euclidean 'L-2' norm for the values in the Data array. The 'L-2' norm is the square root of the sum of squares.

=====================================================

NumberOfPeriods Routine Returns the number of payment periods for an investment.

Syntax

function NumberOfPeriods(const Rate: Extended, Payment: Extended, const PresentValue: Extended, const FutureValue: Extended, PaymentTime: TPaymentTime): Extended;

Description

NumberOfPeriods computes the number of payment periods required for an investment of PresentValue to reach a value of FutureValue, while making regular payments of Payment and accruing interest at the rate of Rate per compounding period. PaymentTime indicates whether the cash flows occur at the beginning or end of the period (enter 0 if payments are at the end of each period, 1 if they are at the beginning).
=====================================================

Payment Routine Calculates a fully amortized payment.

Syntax

function Payment(Rate: Extended, NPeriods: Integer, const PresentValue: Extended, const FutureValue: Extended, PaymentTime: TPaymentTime): Extended;

Description

Payment calculates the fully amortized payment of borrowing PresentValue at Rate percent per period over NPeriods. It assumes that interest is paid at the end of each period. FutureValue is the value that the investment will reach at some point. PaymentTime indicates whether the cash flows occur at the beginning or end of the period (enter 0 if payments are at the end of each period, 1 if they are at the beginning).
=====================================================

PeriodPayment Routine Returns the principal amount from a full payment.

Syntax

function PeriodPayment(const Rate: Extended, Period: Integer, NPeriods: Integer, const PresentValue: Extended, const FutureValue: Extended, PaymentTime: TPaymentTime): Extended;

Description

PeriodPayment gives the part of the payment that is principal. The InterestPayment function gives the part of the payment that is interest. The Rate parameter is the interest rate. Period is the number of periods into the loan for which the principal is desired, and NPeriods is the number of periods of the loan. FutureValue is the value the investment will reach at some point. PaymentTime indicates whether the cash flows occur at the beginning or end of the period (enter 0 if payments are at the end of each period, 1 if they are at the beginning).
=====================================================

PopnStdDev Routine Calculates the population standard deviation.

Syntax

function PopnStdDev(const Data: array of Double (1,2,3...)): Extended;

Description

PopnStdDev calculates the population standard deviation (the square root of the population variance) of all values in the Data array parameter. This function is used in some business and financial calculations.
=====================================================

PopnVariance Routine Calculates the population variance.

Syntax

function PopnVariance(const Data: array of Double (1,2,3...)): Extended;

Description

PopnVariance calculates the population variance of all values in the Data array parameter, using the n method (biased): TotalVariance / n.

=====================================================

Power Routine Raises Base to any power.

Syntax

function Power(const AValue: TComplex, const APower: TComplex): TComplex;

Description

Power raises Base to any power. For fractional exponents or exponents greater than MaxInt, Base must be greater than 0.
=====================================================

PresentValue Routine Calculates the present value of an investment.

Syntax

function PresentValue(const Rate: Extended, NPeriods: Integer, const Payment: Extended, const FutureValue: Extended, PaymentTime: TPaymentTime): Extended;

Description

PresentValue calculates the present value of an investment where Payment is received for NPeriods and is discounted at the rate of Rate per period. FutureValue is the value the investment may reach at some point. PaymentTime indicates whether the cash flows occur at the beginning or end of the period(enter 0 if payments are at the end of each period, 1 if they are at the beginning).
=====================================================

RadToDeg Routine Converts radians to degrees.

Syntax

function RadToDeg(const Radians: Extended): Extended;

Description

Use RadToDeg to convert angles measured in radians to degrees, where degrees = radians(180/pi).
=====================================================

Sec, Secant Routines Calculates the secant of an angle.

Syntax

function Sec(const AValue: TComplex): TComplex;

Description

Call Sec to obtain the secant of X, where X is an angle in radians. The secant is calculated using the formula 1 / Cos(X).

=====================================================

SecH Routine Calculates the hyperbolic secant of an angle.

Syntax

function SecH(const AValue: TComplex): TComplex;

Description

Call SecH to obtain the hyperbolic secant of X, where X is an angle in Radians.
=====================================================

Sign Routine Indicates whether a numeric value is positive, negative, or zero.

Syntax

function Sign(const AValue: TComplex): TComplex;

Description

Use Sign to test the sign of a numeric value. Sign returns 0 if AValue is zero. 1 if AValue is greater than zero. -1 if AValue is less than zero.
=====================================================

Sin Routine Returns the sine of the angle in radians.

Syntax

function Sin(const AValue: TComplex): TComplex;

Description

In Delphi code, the Sin function returns the sine of the argument. X is a real-type expression. Sin returns the sine of the angle X in radians.
=====================================================

SinH Routine Returns the hyperbolic sine of an angle.

Syntax

function SinH(const AValue: TComplex): TComplex;

Description

Sinh calculates the hyperbolic sine of X.
=====================================================

SLNDepreciation Routine Returns the straight-line depreciation allowance of an asset.

Syntax

function SLNDepreciation(const Cost: Extended, const Salvage: Extended, Life: Integer): Extended;

Description

SLNDepreciation calculates the straight-line depreciation allowance for an asset over one period of its life. The function divides the Cost minus the Salvage by the number of years of useful Life of the asset. Cost is the amount initially paid for the asset. Salvage is the value of the asset at the end of its useful life.

=====================================================

Skew Routine Calculates skew.

Syntax

function Skew(const Data: array of Double (1,2,3...)): Extended;

Description

Skew calculates the core factors of statistical analysis: skew. Data specifies the data to be analyzed. Skew reflects symmetry of distribution.
=====================================================

StdDev Routine Returns the sample standard deviation for elements in an array.

Syntax

function StdDev(const Data: array of Double (1,2,3...)): Extended;

Description

StdDev calculates the sample standard deviation (the square root of the sample variance) of all values in the Data array parameter.

=====================================================

Sum Routine Returns the sum of the elements in an array.

Syntax

function Sum(const Data: array of Double (1,2,3...)): Extended;

Description

Sum returns the sum of all the values in the Data array parameter.

=====================================================

SumOfSquares Routine Returns the sum of the squared values from a data array.

Syntax

function SumOfSquares(const Data: array of Double (1,2,3...)): Extended;

Description

SumOfSquares returns the sum of the squares of the Data values: Data[0]^2 + Data[1]^2 + Data[2]^2...

=====================================================

Sqr Routine Returns the square of a number.

Syntax

function Sqr(const AValue: TComplex): TComplex;

Description

In Delphi code, the Sqr function returns the square of the argument. X is a floating-point expression. The result, of the same type as X, is the square of X, or X*X.

=====================================================

Sqrt Routine Returns the square root of X.

Syntax

function Sqrt(const AValue: TComplex): TComplex;

Description

X is a Delphi floating-point expression. The result is the square root of X.
=====================================================

SYDDepreciation Routine Calculates depreciation for an asset.

Syntax

function SYDDepreciation(const Cost: Extended, const Salvage: Extended, Life: Integer, Period: Integer): Extended;

Description

SYDDepreciation (for "sum-of-years-digits depreciation") calculates depreciation amounts for an asset using an accelerated depreciation method. This allows for higher depreciation in the earlier years of an asset's life. Cost is the initial cost of the asset. Salvage is the value of the asset at the end of its life expectancy. Life is the length of the asset's life expectancy. Period is the period for which to calculate the depreciation

=====================================================

Tan Routine Returns the tangent of X.

Syntax

function Tan(const AValue: TComplex): TComplex;

Description

Tan returns the tangent of X. Tan(X) = Sin(X) / Cos(X).
=====================================================

TanH Routine Returns the hyperbolic tangent of X.

Syntax

function TanH(const AValue: TComplex): TComplex;

Description

Tanh calculates the hyperbolic tangent of X.
=====================================================

TotalVariance Routine Returns the statistical variance from an array of values.

Syntax

function TotalVariance(const Data: array of Double (1,2,3...)): Extended;

Description

TotalVariance returns the sum of the squares of the difference between each Data value and the mean of the data values. Total Variance: SUM(i=1,N)[(X(i) - Mean)**2]
=====================================================

Variance Routine Calculates statistical sample variance from an array of data.

Syntax

function Variance(const Data: array of Double (1,2,3...)): Extended;

Description

Variance calculates the sample variance of all values in the Data array parameter, using the n-1 method (unbiased).

Statistical Routines for Probability and Distributions Category

=====================================================

Beta Function

Returns Beta(X,Y) using a Series Expansion for 1/Gamma (X) as defined in Abramowitz & Stegun.

Declaration

Function Beta(const X, Y: Extended): Extended;

Description

Defined for all values of X and Y except negative integers and 0.

Accuracy: Gives about 15 digits.

Parameters

X First Value to process.

Y Second Value to process.

=====================================================

Gamma Function

Returns Gamma(X) using a Series Expansion for 1/Gamma (X) as defined in Abramowitz & Stegun.

Declaration

Function Gamma(const X: Extended): Extended;

Description

Defined for all values of X except negative integers and 0.

Accuracy: Gives about 15 digits.

Parameters

X Value to process.

=====================================================

Hermite Function

Returns a Hermite Polynomial of order N evaluated at X.

Declaration

Function Hermite(const X: Extended; const N: LongWord): Extended;

Parameters

X Value to process.

N Order of Hermite

=====================================================

IncompleteBeta Function

Returns the Incomplete Beta Ix(P, Q), where 0 <= X <= 1 and P and Q are positive.

Declaration

Function IncompleteBeta(X: Extended; P, Q: Extended): Extended;

Description

The Incomplete Beta function is the probability that a random variable from a Beta distribution having parameters P and Q will be less than or equal to X. Accuracy: Gives about 17 digits. Adapted From Collected Algorithms from CACM, Algorithm 179 - Incomplete Beta Function Ratios, Oliver G Ludwig.

=====================================================

InverseGamma Function

Returns 1/Gamma(X) using a Series Expansion as defined in Abramowitz & Stegun.

Declaration

Function InverseGamma(const X: Extended): Extended;

Description

Defined for all values of X.

Accuracy: Gives about 15 digits.

Parameters

X Value to process.

=====================================================

LnBeta Function

Returns the Natural Logarithm of Beta(X,Y) using a LnGamma (X) as defined above.

Declaration

Function LnBeta(const X, Y: Extended): Extended;

Description

X and Y must be positive.

Accuracy: Gives about 15 digits.

Parameters

X First Value to process.

Y Second Value to process.

=====================================================

LnGamma Function

Logarithm to base e of the gamma function.

Declaration

Function LnGamma(const X: Extended): Extended;

Description

Defined for all positive values of X.

Accurate to about 14 digits.

Programmer: Alan Miller - developed for Fortan 77, converted with permission.

Parameters

X Value to process.

=====================================================

BinomialBetween Function

Returns the Result for Pr (A < X < B) for a Binomial Distribution of N Trials where the probability of a success = P.

Declaration

Function BinomialBetween(const P: Extended; const N, A, B: LongWord): Extended;

Parameters

P Probability of Success, 0 <= P <= 1

N Number of Trials, must be positive.

A Lower Value at which to evaluate.

B Upper Value at which to evaluate.

=====================================================

BinomialCoeff Function

Returns the Binomial Coefficient of N by R as an Extended Float, thus allowing for large values.

Declaration

Function BinomialCoeff(const N, R: LongWord): Extended;

Description

Binomial Coefficient of N by R is also known as the Combination of N by R, written as nCr,

which is the number of ways you can arrange R objects from N objects, when order is unimportant.

Binomial Coefficients as R goes from 0 to N are the coefficients of the terms when expanding (a + b)^N.

Parameters

N Total Number of Items.

R Number of Chosen Items

=====================================================

BinomialEq Function

Returns the Result for Pr (X = A) for a Binomial Distribution of N Trials where the probability of a success = P.

Declaration

Function BinomialEq(const P: Extended; const N, A: LongWord): Extended;

Parameters

P Probability of Success, 0 <= P <= 1

N Number of Trials, must be positive.

A Value at which to evaluate.

=====================================================

BinomialGreater Function

Returns the Result for Pr (X > A) for a Binomial Distribution of N Trials where the probability of a success = P.

Declaration

Function BinomialGreater(const P: Extended; const N, A: LongWord): Extended;

Parameters

P Probability of Success, 0 <= P <= 1

N Number of Trials, must be positive.

A Value at which to evaluate.

=====================================================

BinomialLess Function

Returns the Result for Pr (X < A) for a Binomial Distribution of N Trials where the probability of a success = P.

Declaration

Function BinomialLess(const P: Extended; const N, A: LongWord): Extended;

Parameters

P Probability of Success, 0 <= P <= 1

N Number of Trials, must be positive.

A Value at which to evaluate.

=====================================================

ChiSquareBetween Function

Calculates the Pr (Chi2A < X < Chi2B) with given Degrees of Freedom (DF), using a Series Expansion as defined in Abramowitz & Stegun.

Declaration

Function ChiSquareBetween(const Chi2A, Chi2B: Extended; const DF: LongWord): Extended;

Description

Chi2 must be NonNegative and DF > 0.

Uses NormalGreater and NormalZ thus has a high degree of accuracy.

Parameters

Chi2A Lower Value at which to Evaluate, must be Non-Negative.

Chi2B Upper Value at which to Evaluate, must be Non-Negative.

DF Degrees of Freedom, must be Positive.

=====================================================

ChiSquareGreater Function

Calculates the Pr (X > Chi2) with given Degrees of Freedom (DF), using a Series Expansion as defined in Abramowitz & Stegun.

Declaration

Function ChiSquareGreater(const Chi2: Extended; const DF: LongWord): Extended;

Description

Chi2 must be NonNegative and DF > 0.

This uses NormalGreater and NormalZ and has a high degree of accuracy.

Parameters

Chi2 Value at which to Evaluate, must be Non-Negative.

DF Degrees of Freedom, must be Positive.

=====================================================

ChiSquareLess Function

Calculates the Pr (X < Chi2) with given Degrees of Freedom (DF), using a Series Expansion as defined in Abramowitz & Stegun.

Declaration

Function ChiSquareLess(const Chi2: Extended; const DF: LongWord): Extended;

Description

This uses NormalGreater and NormalZ and has a high degree of accuracy.

Parameters

Chi2 Value at which to Evaluate, must be Non-Negative.

DF Degrees of Freedom, must be Positive.

=====================================================

ExponentialBetween Function

Returns the Result for Pr (A < X < B) for an Exponential Distribution with given Mean.

Declaration

Function ExponentialBetween(const Mu, A, B: Extended): Extended;

Parameters

Mu Mean of the Distribution, must be Positive.

A Lower Value at which to evaluate, must be Non-Negative.

B Upper Value at which to evaluate, must be Non-Negative.

=====================================================

ExponentialGreater Function

Returns the Result for Pr (X > A) for an Exponential Distribution with given Mean.

Declaration

Function ExponentialGreater(const Mu, A: Extended): Extended;

Parameters

Mu Mean of the Distribution, must be Positive.

A Value at which to evaluate, must be Non-Negative

=====================================================

ExponentialLess Function

Returns the Result for Pr (X < A) for an Exponential Distribution with given Mean.

Declaration

Function ExponentialLess(const Mu, A: Extended): Extended;

Parameters

Mu Mean of the Distribution, must be Positive.

A Value at which to evaluate, must be Non-Negative.

=====================================================

FDistBetween Function

Calculates the Pr (FA < X < FB) with given Degrees of Freedom (DF1, DF2), for a F Distribution, using a Incomplete Beta Function as defined in Abramowitz & Stegun.

Declaration

Function FDistBetween(const FA, FB: Extended; const DF1, DF2: LongWord): Extended;

Parameters

FA Lower Value at which to Evaluate, must be Non-Negative.

FB Upper Value at which to Evaluate, must be Non-Negative.

DF1 First Degrees of Freedom, must be Positive.

DF2 Second Degrees of Freedom, must be Positive.

=====================================================

FDistGreater Function

Calculates the Pr (X > F) with given Degrees of Freedom (DF1, DF2) for a F Distribution, using a Incomplete Beta Function as defined in Abramowitz & Stegun.

Declaration

Function FDistGreater(const F: Extended; const DF1, DF2: LongWord): Extended;

Parameters

F Value at which to Evaluate, must be Non-Negative.

DF1 First Degrees of Freedom, must be Positive.

DF2 Second Degrees of Freedom, must be Positive.

=====================================================

FDistLess Function

Calculates the Pr (X < F) with given Degrees of Freedom (DF1, DF2) for a F Distribution, using a Incomplete Beta Function as defined in Abramowitz & Stegun.

Declaration

Function FDistLess(const F: Extended; const DF1, DF2: LongWord): Extended;

Parameters

F Value at which to Evaluate, must be Non-Negative.

DF1 First Degrees of Freedom, must be Positive.

DF2 Second Degrees of Freedom, must be Positive.

=====================================================

IncompleteGamma Function

Returns Incomplete Gamma(X) (small gamma).

Declaration

Function IncompleteGamma(const P, X: Extended): Extended;

Description

ALGORITHM AS239 APPL. STATIST. (1988) VOL. 37, NO. 3 Computation of the Incomplete Gamma Integral This has a high degree of accuracy.

Parameters

P Must be Positive.

X Must be Non-Negative.

=====================================================

IncompleteGamma2 Function

Returns Incomplete Gamma(X) (big gamma) derived from ChiSquareGreater as defined in Abramowitz & Stegun.

Declaration

Function IncompleteGamma2(const A, X: Extended): Extended;

Description

This uses NormalGreater and NormalZ and has a high degree of accuracy.

Parameters

A Must be Positive.

X Must be Non-Negative.

=====================================================

InvChiSquareGreater Function

Returns the Original Chi2 for Pr (X > Chi2) = PVal for a Chi-Square Distribution with given Degrees of Freedom.

Declaration

Function InvChiSquareGreater(const PVal: Extended; const DF: LongWord): Extended;

Parameters

PVal Probability at which to Evaluate, must be 0 < PVal < 1.

DF Degrees of Freedom, must be Positive.

=====================================================

InvChiSquareLess Function

Returns the Original Chi2 for Pr (X < Chi2) = PVal for a Chi-Square Distribution with given Degrees of Freedom.

Declaration

Function InvChiSquareLess(const PVal: Extended; const DF: LongWord): Extended;

Parameters

PVal Probability at which to Evaluate, must be 0 < PVal < 1.

DF Degrees of Freedom, must be Positive.

=====================================================

InvFDistGreater Function

Returns the Original F for Pr (X > F) = PVal for a F Distribution with given Degrees of Freedom.

Declaration

Function InvFDistGreater(const PVal: Extended; const DF1, DF2: LongWord): Extended;

Parameters

PVal Probability at which to Evaluate, must be 0 < PVal < 1.

DF1 First Degrees of Freedom, must be Positive.

DF2 Second Degrees of Freedom, must be Positive.

=====================================================

InvFDistLess Function

Returns the Original F for Pr (X < F) = PVal for a F Distribution with given Degrees of Freedom.

Declaration

Function InvFDistLess(const PVal: Extended; const DF1, DF2: LongWord): Extended;

Parameters

PVal Probability at which to Evaluate, must be 0 < PVal < 1.

DF1 First Degrees of Freedom, must be Positive.

DF2 Second Degrees of Freedom, must be Positive.

=====================================================

InvLogNormalGreater Function

Returns the Original AVal for Pr (X > AVal) = PVal for a LogNormal Distribution with given Mean and Standard Deviation.

Declaration

Function InvLogNormalGreater(const Mean, StdDev, PVal: Extended): Extended;

Description

Uses an approximation from Abramowitx & Stegun, which is then refined for increased accuracy.

Standard Deviation must be > 0

PVal (Probability) must be 0 < PVal < 1

Accuracy: to about 15 sifnicant figures.

Parameters

Mean Arithmetic Mean of the Distribution.

StdDev Standard Deviation of the Distribution. If you have Variance then use its Positive Square Root.

PVal Probability to use.

=====================================================

InvLogNormalLess Function

Returns the Original AVal for Pr (X < AVal) = PVal if Less is True, or Pr (X > AVal) = PVal if Less is False, for a LogNormal Distribution with given Mean and Standard Deviation.

Declaration

Function InvLogNormalLess(const Mean, StdDev, PVal: Extended): Extended;

Description

Uses an approximation from Abramowitx & Stegun, which is then refined for increased accuracy.

Standard Deviation must be > 0

PVal (Probability) must be 0 < PVal < 1

Accuracy: to about 15 sifnicant figures.

Parameters

Mean Arithmetic Mean of the Distribution.

StdDev Standard Deviation of the Distribution. If you have Variance then use its Positive Square Root.

PVal Probability to use.

=====================================================

InvNormalDistGreater Function

Returns the Original AVal for Pr (X > AVal) = PVal for a Normal Distribution with given Mean and Standard Deviation.

Declaration

Function InvNormalDistGreater(const Mean, StdDev, PVal: Extended): Extended;

Description

Uses an approximation from Abramowitx & Stegun, which is then refined for increased accuracy.

Standard Deviation must be > 0

PVal (Probability) must be 0 < PVal < 1

Accuracy: to about 15 sifnicant figures

Parameters

Mean Arithmetic Mean of the Distribution.

StdDev Standard Deviation of the Distribution. If you have Variance then use its Positive Square Root.

PVal Probability to use.

=====================================================

InvNormalGreater Function

Returns Inverse Q(X) for the Standard Normal Distribution.

Declaration

Function InvNormalGreater(const P: Extended): Extended;

Description

The P passed in is the probability and thus must have 0 < P < 1.

This uses an Algorithm that gives about 16 digit accuracy!

Based on Algorithm AS241 (in Fortran) from Applied Statistics (1988) Vol. 37, no. 3, 477-484.

Parameters

P Probability to process.

=====================================================

InvNormalLess Function

Returns Inverse P(X) for the Standard Normal Distribution.

Declaration

Function InvNormalLess(const P: Extended): Extended;

Description

The P passed in is the probability and thus must have 0 < P < 1.

This uses an Algorithm that gives about 16 digit accuracy!

Based on Algorithm AS241 (in Fortran) from Applied Statistics (1988) Vol. 37, no. 3, 477-484.

Parameters

P Probability to process.

=====================================================

InvStudentTGreater Function

Returns the Original T for Pr (X > T) = PVal for a Student T Distribution with given Degrees of Freedom.

Declaration

Function InvStudentTGreater(const PVal: Extended; const DF: LongWord): Extended;

Description

Accuracy: to about 15 significant digits. Much less accuracy when Degrees of Freedom > 1500

Parameters

PVal Probability at which to Evaluate, must be 0 < PVal < 1.

DF Degrees of Freedom, must be Positive.

=====================================================

InvStudentTLess Function

Returns the Original T for Pr (X < T) = PVal for a Student T Distribution with given Degrees of Freedom.

Declaration

Function InvStudentTLess(const PVal: Extended; const DF: LongWord): Extended;

Description

Accuracy: to about 15 significant digits. Much less accuracy when Degrees of Freedom > 1500

Parameters

PVal Probability at which to Evaluate, must be 0 < PVal < 1.

DF Degrees of Freedom, must be Positive.

=====================================================

LogNormalBetween Function

Returns the Probability of (AVal < X < BVal) for a LogNormal Distribution with given Mean and Standard Deviation.

Declaration

Function LogNormalBetween(const Mean, StdDev, AVal, BVal: Extended): Extended;

Description

Standard Deviation must be > 0 or function will result in an EMathError.

Accuracy: Uses a Power series trying to get 18 digit accuracy or Maximum Iterations (100).

Parameters

Mean Arithmetic Mean of the Distribution.

StdDev Standard Deviation of the Distribution. If you have Variance then use its Positive Square Root.

AVal Lower Value at which to evaluate.

BVal Upper Value at which to evaluate.

=====================================================

LogNormalGreater Function

Returns the Probability of (X > AVal) for a LogNormal Distribution with given Mean and Standard Deviation.

Declaration

Function LogNormalGreater(const Mean, StdDev, AVal: Extended): Extended;

Description

Standard Deviation must be > 0 or function will result in an EMathError.

Accuracy: Uses a Power series trying to get 18 digit accuracy or Maximum Iterations (100).

Parameters

Mean Arithmetic Mean of the Distribution.

StdDev Standard Deviation of the Distribution. If you have Variance then use its Positive Square Root.

AVal Value at which to evaluate.

=====================================================

LogNormalLess Function

Returns the Probability of (X < AVal) for a LogNormal Distribution with given Mean and Standard Deviation.

Declaration

Function LogNormalLess(const Mean, StdDev, AVal: Extended): Extended;

Description

Standard Deviation must be > 0 or function will result in an EMathError.

Accuracy: Uses a Power series trying to get 18 digit accuracy or Maximum Iterations (100).

Parameters

Mean Arithmetic Mean of the Distribution.

StdDev Standard Deviation of the Distribution. If you have Variance then use its Positive Square Root.

AVal Value at which to evaluate.

=====================================================

LogNormalPDF Function

Returns the value of the LogNormal Probability Distribution Function at given value X, for given Mean and Standard Deviation.

Declaration

Function LogNormalPDF(const X, Mean, StdDev: Extended): Extended;

Description

Full Accuracy of FPU. This is the function that defines the LogNormal Distribution Curve.

Parameters

X Value to process.

Mean Mean of the LogNormal Distribution

StdDev Standard Deviation of the LogNormal Distribution

=====================================================

NormalDistBetween Function

Returns the Probability of (AVal < X < BVal) for a Normal Distribution with given Mean and Standard Deviation.

Declaration

Function NormalDistBetween(const Mean, StdDev, AVal, BVal: Extended): Extended;

Description

Standard Deviation must be > 0 or function will result in an EMathError.

Accuracy: Uses a Power series trying to get 18 digit accuracy or Maximum Iterations (100).

Parameters

Mean Arithmetic Mean of the Distribution.

StdDev Standard Deviation of the Distribution. If you have Variance then use its Positive Square Root.

AVal Lower Value at which to evaluate.

BVal Upper Value at which to evaluate.

=====================================================

NormalDistGreater Function

Returns the Probability of (X > AVal) for a Normal Distribution with given Mean and Standard Deviation.

Declaration

Function NormalDistGreater(const Mean, StdDev, AVal: Extended): Extended;

Description

Standard Deviation must be > 0 or function will result in an EMathError.

Accuracy: Uses a Power series trying to get 18 digit accuracy or Maximum Iterations (100).

Parameters

Mean Arithmetic Mean of the Distribution.

StdDev Standard Deviation of the Distribution. If you have Variance then use its Positive Square Root.

AVal Value at which to evaluate.

=====================================================

NormalDistLess Function

Returns the Probability of (X < AVal) for a Normal Distribution with given Mean and Standard Deviation.

Declaration

Function NormalDistLess(const Mean, StdDev, AVal: Extended): Extended;

Description

Standard Deviation must be > 0 or function will result in an EMathError.

Accuracy: Uses a Power series trying to get 18 digit accuracy or Maximum Iterations (100).

Parameters

Mean Arithmetic Mean of the Distribution.

StdDev Standard Deviation of the Distribution. If you have Variance then use its Positive Square Root.

AVal Value at which to evaluate.

=====================================================

NormalGreater Function

Returns Q(X) for the Standard Normal Distribution as defined by Abramowitz & Stegun.

Declaration

Function NormalGreater(const X: Extended): Extended;

Description

This is the Probability that a value is greater than X, ie Area under the curve defined by NormalZ to the Right of X

Only handles values X >= 0 otherwise exception raised.

Accuracy: Uses a Power series trying to get 18 digit accuracy or Maximum Iterations (100).

Parameters

X Value to process.

=====================================================

NormalLess Function

Returns P(X) for the Standard Normal Distribution as defined by Abramowitz & Stegun.

Declaration

Function NormalLess(const X: Extended): Extended;

Description

This is the Probability that a value is less than X, ie Area under the curve defined by NormalZ to the left of X.

Only handles values X >= 0 otherwise exception raised.

Accuracy: Uses a Power series trying to get 18 digit accuracy or Maximum Iterations (100).

Parameters

X Value to process.

=====================================================

NormalPDF Function

Returns the value of the Normal Probability Distribution Function at given value X, for given Mean and Standard Deviation.

Declaration

Function NormalPDF(const X, Mean, StdDev: Extended): Extended;

Description

Full Accuracy of FPU. This is the function that defines the Normal Distribution Curve.

Parameters

X Value to process.

Mean Mean of the Normal Distribution.

StdDev Standard Deviation of the Normal Distribution.

=====================================================

NormalZ Function

Returns Z(X) for the Standard Normal Distribution as defined by Abramowitz & Stegun.

Declaration

Function NormalZ(const X: Extended): Extended;

Description

This is the function that defines the Standard Normal Distribution Curve. Full Accuracy of FPU.

Parameters

X Value to process.

=====================================================

Permutation Function

Returns the Permutation of N by R, often written nPr, as an Extended Float, thus allowing for large values.

Declaration

Function Permutation(const N, R: LongWord): Extended;

Description

Permutation of N by R is the number of ways you can arrange R objects from N objects, when order is important.

Parameters

N Total Number of Items.

R Number of Chosen Items.

=====================================================

PoissonBetween Function

Returns the Result for Pr (A < X < B) for a Poisson Distribution with given Mean.

Declaration

Function PoissonBetween(const Mu: Extended; const A, B: LongWord): Extended;

Parameters

Mu Mean of the Distribution, must be Positive.

A Lower Value at which to evaluate.

B Upper Value at which to evaluate.

=====================================================

PoissonEq Function

Returns the Result for Pr (X = A) for a Poisson Distribution with given Mean.

Declaration

Function PoissonEq(const Mu: Extended; const A: LongWord): Extended;

Parameters

Mu Mean of the Distribution, must be Positive.

A Value at which to evaluate.

=====================================================

PoissonGreater Function

Returns the Result for Pr (X > A) for a Poisson Distribution with given Mean.

Declaration

Function PoissonGreater(const Mu: Extended; const A: LongWord): Extended;

Parameters

Mu Mean of the Distribution, must be Positive.

A Value at which to evaluate.

=====================================================

PoissonLess Function

Returns the Result for Pr (X < A) for a Poisson Distribution with given Mean.

Declaration

Function PoissonLess(const Mu: Extended; const A: LongWord): Extended;

Parameters

Mu Mean of the Distribution, must be Positive.

A Value at which to evaluate.

=====================================================

StudentTBetween Function

Calculates the Pr (TA < X < TB) with given Degrees of Freedom (DF) for a Student T Distribution, using a Incomplete Beta Function as defined in Abramowitz & Stegun.

Declaration

Function StudentTBetween(const TA, TB: Extended; const DF: LongWord): Extended;

Parameters

TA Lower Value at which to Evaluate, must be Non-Negative.

TB Upper Value at which to Evaluate, must be Non-Negative.

DF Degrees of Freedom, must be Positive.

=====================================================

StudentTGreater Function

Calculates the Pr (X > T) with given Degrees of Freedom (DF) for a Student T Distribution, using a Incomplete Beta Function as defined in Abramowitz & Stegun.

Declaration

Function StudentTGreater(const T: Extended; const DF: LongWord): Extended;

Parameters

T Value at which to Evaluate, must be Non-Negative.

DF Degrees of Freedom, must be Positive.

=====================================================

StudentTLess Function

Calculates the Pr (X < T) with given Degrees of Freedom (DF) for a Student T Distribution, using a Incomplete Beta Function as defined in Abramowitz & Stegun.

Declaration

Function StudentTLess(const T: Extended; const DF: LongWord): Extended;

Parameters

T Value at which to Evaluate, must be Non-Negative.

DF Degrees of Freedom, must be Positive.

=====================================================

ZAlpha Function

Returns the Standardised Normal Value (Z) that results in a Tail Area of given AVal.

Declaration

Function ZAlpha(const AVal: Extended): Extended;

Parameters

AVal Value at which to evaluate

Date and Time Routines Category

=====================================================

CompareDate Routine Indicates the relationship between the date portions of two TDateTime values.

Syntax

function CompareDate(const A: TDateTime, const B: TDateTime): TValueRelationship;

Description

Call CompareDate to compare the two TDateTime values specified by A and B. CompareDate returns LessThanValue if A occurs on a day prior to the day specified by B. EqualsValue if A occurs on the same day as B, ignoring the time of day. GreaterThanValue if A occurs on a day that follows the day specified by B.

=====================================================

CompareDateTime Routine Indicates the relationship between two TDateTime values.

Syntax

function CompareDateTime(const A: TDateTime, const B: TDateTime): TValueRelationship;

Description

Call CompareDateTime to compare the two TDateTime values specified by A and B. CompareDateTime returns LessThanValue if A is earlier than B. EqualsValue if A is the same as B. GreaterThanValue if A is later than B.

Note: Note:CompareDateTime differs from a direct comparison of the corresponding double precision values in that two TDateTime values are considered the same if they have the same value down to the millisecond. It is possible to create two TDateTime values that differ numerically when viewed as doubles, but which represent the same year, month, day, hour, minute, second, and millisecond.

=====================================================

CompareTime Routine Indicates the relationship between the time portions of two TDateTime values.

Syntax

function CompareTime(const A: TDateTime, const B: TDateTime): TValueRelationship;

Description

Call CompareTime to compare the two TDateTime values specified by A and B. CompareTime returns LessThanValue if A occurs earlier in the day than B (even if A occurs on a later day than B). EqualsValue if A occurs at the same time of day as B, ignoring of the date portion of the two values. GreaterThanValue if A occurs later in the day than B (even if A occurs on an earlier day than B).

=====================================================

DateOf Routine Strips the time portion from a TDateTime value.

Syntax

function DateOf(const AValue: TDateTime): TDateTime;

Description

Call DateOf to convert a TDateTime value to a TDateTime value that includes only the date information (sets the time portion to 0, which means midnight).

=====================================================

DayOf Routine Returns the day of the month represented by a TDateTime value.

Syntax

function DayOf(const AValue: TDateTime): Word;

Description

Call DayOf to obtain the day of the month represented by a specified TDateTime value. DayOf returns a value between 1 and 31.

Note: Note:DayOf returns the same value as the DayOfTheMonth function.

=====================================================

DayOfTheMonth Routine Returns the day of the month represented by a TDateTime value.

Syntax

function DayOfTheMonth(const AValue: TDateTime): Word;

Description

Call DayOfTheMonth to obtain the day of the month represented by a specified TDateTime value. DayOfTheMonth returns a value between 1 and 31.

Note: Note:DayOfTheMonth returns the same value as the DayOf function.

=====================================================

DayOfTheWeek Routine Returns the day of the week represented by a TDateTime value.

Syntax

function DayOfTheWeek(const AValue: TDateTime): Word;

Description

Call DayOfTheWeek to obtain the day of the week represented by a specified TDateTime value. DayOfTheWeek returns a value between 1 and 7, where 1 indicates Monday and 7 indicates Sunday.

Note: Note:DayOfTheWeek is ISO 8601 compliant (where Monday is considered the first day of the week). To obtain the day of the week where Sunday is considered the first day of the week, use the DayOfWeek function instead.

Note: Tip:To make the return value more readable, use the Day of week constants.

=====================================================

DayOfTheYear Routine Returns the number of days between a specified TDateTime value and December 31 of the previous year.

Syntax

function DayOfTheYear(const AValue: TDateTime): Word;

Description

Call DayOfTheYear to obtain the ordinal position of a TDateTime value’s day within its year. Thus, a TDateTime value that refers to January 1 generates a result of 1, dates on January 2 return 2, dates on February 1 return 32, and so on.

=====================================================

DaysBetween Routine Returns the number of whole days between two specified TDateTime values.

Syntax

function DaysBetween(const ANow: TDateTime, const AThen: TDateTime): Integer;

Description

Call DaysBetween to obtain the difference, in days, between two TDateTime values. DaysBetween counts only whole days. Thus, DaysBetween reports the difference between Dec 31, 1999 11:59 PM and Jan 1, 2000 11:58 PM as 0 because the difference is one minute short of an entire day.

=====================================================

DaysInAMonth Routine Returns the number of days in a specified month of a specified year. Namespace Borland.Vcl.DateUtils

Syntax

function DaysInAMonth(const AYear: Word, const AMonth: Word): Word;

Description

Call DaysInAMonth to obtain the number of days in the specified month of the specified year. AYear is a year between 1 and 9999 (inclusive). AMonth is a month between 1 and 12 (inclusive).
=====================================================

DaysInMonth Routine Returns the number of days in the month of a specified TDateTime value.

Syntax

function DaysInMonth(const AValue: TDateTime): Word;

Description

Call DaysInMonth to obtain the number of days in the month of the TDateTime value specified by AValue.

=====================================================

DaysInAYear Routine Returns the number of days in a specified year.

Syntax

function DaysInAYear(const AYear: Word): Word;

Description

Call DaysInAYear to obtain the number of days in the year specified by AYear. AYear is a year between 1 and 9999 (inclusive).

=====================================================

DaysInYear Routine Returns the number of days in the year of a specified TDateTime value.

Syntax

function DaysInYear(const AValue: TDateTime): Word;

Description

Call DaysInYear to obtain the number of days in the year of the TDateTime value specified by AValue.
=====================================================

DaySpan Routine Returns the number of days (including fractional days) between two specified TDateTime values.

Syntax

function DaySpan(const ANow: TDateTime, const AThen: TDateTime): Double;

Description

Call DaySpan to obtain the difference, in days, between two TDateTime values. Unlike the DaysBetween function, which only counts whole days, DaySpan reports incomplete days as a fraction of an entire day.
=====================================================

HourOfTheDay Routine Returns the hour of the day represented by a TDateTime value.

Syntax

function HourOfTheDay(const AValue: TDateTime): Word;

Description

Call HourOfTheDay to obtain the hour of the day represented by a specified TDateTime value. HourOf returns a value between 0 and 23.

Note: Note:HourOfTheDay returns the same value as the HourOf function.

=====================================================

HourOfTheMonth Routine Returns the number of hours between a specified TDateTime value and 12:00 AM of the first day of the month.

Syntax

function HourOfTheMonth(const AValue: TDateTime): Word;

Description

Call HourOfTheMonth to obtain the number of complete hours between AValue and 12:00 AM on the first day of the month that includes AValue.
=====================================================

HourOfTheWeek Routine Returns the number of hours between a specified TDateTime value and 12:00 AM of the first day of the week.

Syntax

function HourOfTheWeek(const AValue: TDateTime): Word;

Description

Call HourOfTheWeek to obtain the number of complete hours between AValue and 12:00 AM on Monday of the week that includes AValue.

Note: Note:HourOfTheWeek defines the week of AValue according to the ISO 8601 standard. That is, the week starts on Monday and ends on Sunday.

=====================================================

HourOfTheYear Routine Returns the number of hours between a specified TDateTime value and 12:00 AM of the first day of the year.

Syntax

function HourOfTheYear(const AValue: TDateTime): Word;

Description

Call HourOfTheYear to obtain the number of complete hours between AValue and 12:00 AM on Jan 1 of the year that includes AValue.
=====================================================

HoursBetween Routine Returns the number of whole hours between two specified TDateTime values.

Syntax

function HoursBetween(const ANow: TDateTime, const AThen: TDateTime): Int64;

Description

Call HoursBetween to obtain the difference, in hours, between two TDateTime values. HoursBetween counts only entire hours. Thus, HoursBetween reports the difference between 9:00 AM and 9:59:59 AM as 0 because the difference is one second short of an entire hour.
=====================================================

HourSpan Routine Returns the number of Hours (including fractional Hours) between two specified TDateTime values.

Syntax

function HourSpan(const ANow: TDateTime, const AThen: TDateTime): Double;

Description

Call HourSpan to obtain the difference, in hours, between two TDateTime values. Unlike the HoursBetween function, which only counts entire hours, HourSpan reports incomplete hours as a fraction of an entire hour.

=====================================================

IncDay Routine Returns a date shifted by a specified number of days.

Syntax

function IncDay(const AValue: TDateTime, const ANumberOfDays: Integer): TDateTime;

Description

IncDay returns the value of the AValue parameter, incremented by ANumberOfDays days. ANumberOfDays can be negative, to return a date N days previous. The time of day specified by the AValue parameter is copied to the result.
=====================================================

IncHour Routine Returns a date/time value shifted by a specified number of hours.

Syntax

function IncHour(const AValue: TDateTime, const ANumberOfHours: Int64): TDateTime;

Description

IncHour returns the value of the AValue parameter, incremented by ANumberOfHours hours. ANumberOfHours can be negative, to return a date and time N hours prior to AValue.
=====================================================

IncMilliSecond Routine Returns a date/time value shifted by a specified number of milliseconds.

Syntax

function IncMilliSecond(const AValue: TDateTime, const ANumberOfMilliSeconds: Int64): TDateTime;

Description

IncMilliSecond returns the value of the AValue parameter, incremented by ANumberOfMilliSeconds milliseconds. ANumberOfMilliSeconds can be negative, to return a date and time N milliseconds prior to AValue.
=====================================================

IncMinute Routine Returns a date/time value shifted by a specified number of minutes.

Syntax

function IncMinute(const AValue: TDateTime, const ANumberOfMinutes: Int64): TDateTime;

Description

IncMinute returns the value of the AValue parameter, incremented by ANumberOfMinutes minutes. ANumberOfMinutes can be negative, to return a date and time N minutes prior to AValue.

=====================================================

IncSecond Routine Returns a date/time value shifted by a specified number of seconds.

Syntax

function IncSecond(const AValue: TDateTime, const ANumberOfSeconds: Int64): TDateTime;

Description

IncSecond returns the value of the AValue parameter, incremented by ANumberOfSeconds seconds. ANumberOfSeconds can be negative, to return a date and time N seconds prior to AValue

=====================================================

IncWeek Routine Returns a date shifted by a specified number of weeks.

Syntax

function IncWeek(const AValue: TDateTime, const ANumberOfWeeks: Integer): TDateTime;

Description

IncWeek returns the value of the AValue parameter, incremented by ANumberOfWeeks weeks. ANumberOfWeeks can be negative, to return a date N weeks previous. The time of day specified by the AValue parameter is copied to the result.

=====================================================

IncYear Routine Returns a date shifted by a specified number of years.

Syntax

function IncYear(const AValue: TDateTime, const ANumberOfYears: Integer): TDateTime;

Description

IncYear returns the value of the AValue parameter, incremented by ANumberOfYears years. ANumberOfYears can be negative, to return a date N years previous. The time of day specified by the AValue parameter is copied to the result.

=====================================================

IsInLeapYear Routine Indicates whether a specified TDateTime value occurs in a leap year.

Syntax

function IsInLeapYear(const AValue: TDateTime): Boolean;

Description

Call IsInLeapYear to determine whether the year of the date specified by AValue occurs in a leap year.

=====================================================

IsPM Routine Indicates whether the time portion of a specified TDateTime value occurs after noon.

Syntax

function IsPM(const AValue: TDateTime): Boolean;

Description

IsPM returns true if the time portion of AValue occurs on or after 12:00 noon and before 12:00 midnight.
=====================================================

IsSameDay Routine Indicates whether a specified TDateTime value occurs on a the same day as a criterion date.

Syntax

function IsSameDay(const AValue: TDateTime, const ABasis: TDateTime): Boolean;

Description

IsSameDay returns true if AValue occurs on the same day as ABasis. The time portions of AValue and ABasis can differ. IsSameDay returns false if the date portions of AValue and ABasis differ.
=====================================================

MilliSecondOfTheDay Routine Returns the number of milliseconds between a specified TDateTime value and the beginning of the same day.

Syntax

function MilliSecondOfTheDay(const AValue: TDateTime): Cardinal;

Description

Call MilliSecondOfTheDay to obtain the number of milliseconds between AValue and the beginning (midnight) on the same day.
=====================================================

MilliSecondOfTheHour Routine Returns the number of milliseconds between a specified TDateTime value and the beginning of the same hour.

Syntax

function MilliSecondOfTheHour(const AValue: TDateTime): Cardinal;

Description

Call MilliSecondOfTheHour to obtain the number of milliseconds between AValue and the start of the same hour on the same day.
=====================================================

MilliSecondOfTheMinute Routine Returns the number of milliseconds between a specified TDateTime value and the beginning of the same minute.

Syntax

function MilliSecondOfTheMinute(const AValue: TDateTime): Cardinal;

Description

Call MilliSecondOfTheMinute to obtain the number of milliseconds between AValue and the start of the same minute on the same day.
=====================================================

MilliSecondOfTheMonth Routine Returns the number of milliseconds between a specified TDateTime value and the beginning of the month.

Syntax

function MilliSecondOfTheMonth(const AValue: TDateTime): Cardinal;

Description

Call MilliSecondOfTheMonth to obtain the number of milliseconds between the beginning (Midnight on the first day) of the month that contains AValue and AValue itself.
=====================================================

MilliSecondOfTheSecond Routine Returns the millisecond of the second represented by a TDateTime value.

Syntax

function MilliSecondOfTheSecond(const AValue: TDateTime): Word;

Description

Call MilliSecondOfTheSecond to obtain the millisecond of the second represented by a specified TDateTime value. MilliSecondOfTheSecond returns a value between 0 and 999.

Note: Note:MilliSecondOfTheSecond returns the same value as the MilliSecondOf function.

=====================================================

MilliSecondOfTheWeek Routine Returns the number of milliseconds between a specified TDateTime value and 12:00:00:00 AM of the first day of the week.

Syntax

function MilliSecondOfTheWeek(const AValue: TDateTime): Cardinal;

Description

Call MilliSecondOfTheWeek to obtain the number of milliseconds between AValue and 12:00:00:00 AM on Monday of the week that includes AValue.

Note: Note:MilliSecondOfTheWeek defines the week of AValue according to the ISO 8601 standard. That is, the week starts on Monday and ends on Sunday.

=====================================================

MilliSecondOfTheYear Routine Returns the number of milliseconds between a specified TDateTime value and 12:00:00:00 AM of the first day of the year.

Syntax

function MilliSecondOfTheYear(const AValue: TDateTime): Int64;

Description

Call MilliSecondOfTheYear to obtain the number of milliseconds between AValue and 12:00:00:00 AM on Jan 1 of the year that includes AValue.
=====================================================

MilliSecondsBetween Routine Returns the number of milliseconds between two specified TDateTime values.

Syntax

function MilliSecondsBetween(const ANow: TDateTime, const AThen: TDateTime): Int64;

Description

Call MilliSecondsBetween to obtain the difference, in milliseconds, between two TDateTime values.

=====================================================

MilliSecondSpan Routine Returns the number of milliseconds between two specified TDateTime values.

Syntax

function MilliSecondSpan(const ANow: TDateTime, const AThen: TDateTime): Double;

Description

Call MilliSecondSpan to obtain the difference, in milliseconds, between two TDateTime values. MilliSecondSpan returns the same value as MilliSecondsBetween, but as a floating point type instead of an integer.
=====================================================

MinuteOfTheDay Routine Returns the number of minutes between a specified TDateTime value and 12:00 AM of the same day.

Syntax

function MinuteOfTheDay(const AValue: TDateTime): Word;

Description

Call MinuteOfTheDay to obtain the number of minutes between AValue and 12:00 AM on the same day.
=====================================================

MinuteOfTheHour Routine Returns the number of minutes between a specified TDateTime value and the beginning of the same hour.

Syntax

function MinuteOfTheHour(const AValue: TDateTime): Word;

Description

Call MinuteOfTheHour to obtain the number of minutes between AValue and the start of the same hour on the same day.

Note: Note:MinuteOfTheHour returns the same value as the MinuteOf function.

=====================================================

MinuteOfTheMonth Routine Returns the number of minutes between a specified TDateTime value and 12:00 AM of the first day of the month.

Syntax

function MinuteOfTheMonth(const AValue: TDateTime): Word;

Description

Call MinuteOfTheMonth to obtain the number of minutes between AValue and 12:00 AM on the first day of the month that includes AValue.
=====================================================

MinuteOfTheWeek Routine Returns the number of minutes between a specified TDateTime value and 12:00 AM of the first day of the week.

Syntax

function MinuteOfTheWeek(const AValue: TDateTime): Word;

Description

Call MinuteOfTheWeek to obtain the number of minutes between AValue and 12:00 AM on Monday of the week that includes AValue.

Note: Note:MinuteOfTheWeek defines the week of AValue according to the ISO 8601 standard. That is, the week starts on Monday and ends on Sunday.

=====================================================

MinuteOfTheYear Routine Returns the number of minutes between a specified TDateTime value and 12:00 AM of the first day of the year.

Syntax

function MinuteOfTheYear(const AValue: TDateTime): Cardinal;

Description

Call MinuteOfTheYear to obtain the number of minutes between AValue and 12:00 AM on Jan 1 of the year that includes AValue.
=====================================================

MinutesBetween Routine Returns the number of minutes between two specified TDateTime values.

Syntax

function MinutesBetween(const ANow: TDateTime, const AThen: TDateTime): Int64;

Description

Call MinutesBetween to obtain the difference, in minutes, between two TDateTime values. MinutesBetween counts only entire minutes. Thus, MinutesBetween reports the difference between 9:00:00 AM and 9:00:59:999 AM as 0 because the difference is one millisecond short of an entire minute.
=====================================================

MinuteSpan Routine Returns the number of minutes, including fractions thereof, between two specified TDateTime values.

Syntax

function MinuteSpan(const ANow: TDateTime, const AThen: TDateTime): Double;

Description

Call MinuteSpan to obtain the difference, in minutes, between two TDateTime values. Unlike the MinutesBetween function, which only counts entire minutes, MinuteSpan reports incomplete minutes as a fraction of an entire minute.
=====================================================

MonthOfTheYear Routine Returns the month of the year represented by a TDateTime value.

Syntax

function MonthOfTheYear(const AValue: TDateTime): Word;

Description

Call MonthOfTheYear to obtain the month of the year represented by a specified TDateTime value. MonthOfTheYear returns a value between 1 and 12.

Note: Note:MonthOfTheYear returns the same value as the MonthOf function.

=====================================================

MonthsBetween Routine Returns the approximate number of months between two specified TDateTime values.

Syntax

function MonthsBetween(const ANow: TDateTime, const AThen: TDateTime): Integer;

Description

Call MonthsBetween to obtain the difference, in months, between two TDateTime values. Because months are not all the same length, MonthsBetween returns an approximation based on an assumption of 30.4375 days per month. Fractional months are not counted. Thus, for example, MonthsBetween reports the difference between Feb 1 and Mar 1 as 0.
=====================================================

MonthSpan Routine Returns the approximate number of months, including fractions, between two specified TDateTime values.

Syntax

function MonthSpan(const ANow: TDateTime, const AThen: TDateTime): Double;

Description

Call MonthSpan to obtain the difference, in months, between two TDateTime values. Because months are not all the same length, MonthsBetween returns an approximation based on an assumption of 30.4375 days per month. Unlike the MonthsBetween function, which does not report fractional “months”, MonthSpan reports incomplete months as a fraction of an entire month.

=====================================================

Now Routine Returns the current date and time.

Syntax

function Now: TDateTime;

Description

Returns the current date and time, corresponding to the sum of the value returned by the global Date and Time functions.

Note: Note:Although TDateTime values can represent milliseconds, Now is accurate only to the nearest second.

=====================================================

NthDayOfWeek Routine Returns which occurrence of its weekday a specified TDateTime value represents.

Syntax

function NthDayOfWeek(const AValue: TDateTime): Word;

Description

NthDayOfWeek indicates which occurrence of a weekday within a month the date and time specified by AValue represents. For example, if AValue represents the 2nd Tuesday of the month, NthDayOfWeek returns 2. Note that this value may differ from the value that the WeekOfTheMonth function returns, because NthDayOfWeek counts every occurrence of the given weekday, while WeekOfTheMonth only counts a week if it includes 4 or more days in the month. Thus, for example, if AValue represents a Saturday that is the first day of a month, NthDayOfWeek returns 1, while WeekOfTheMonth returns 5 (or maybe 4), indicating the last week of the previous month.

Note: Note:To obtain the year, month, and day of the week, as well as which occurrence of that day of the week the specified TDateTime represents, use the DecodeDayOfWeekInMonth function.

=====================================================

SameDate Routine Indicates whether two TDateTime values represent the same year, month, and day.

Syntax

function SameDate(const A: TDateTime, const B: TDateTime): Boolean;

Description

Call SameDate to determine whether the two TDateTime values specified by A and B represent the same date, ignoring the time portion. SameDate returns true if the two specified values occur on the same day, false otherwise.
=====================================================

SameDateTime Routine Indicates whether two TDateTime values represent the same year, month, day, hour, minute, second, and millisecond.

Syntax

function SameDateTime(const A: TDateTime, const B: TDateTime): Boolean;

Description

Call SameDateTime to determine whether the two TDateTime values specified by A and B represent the same time, down to the millisecond. SameDateTime returns true if the two specified values represent the same time, false otherwise.

Note: Note:It is possible to create two TDateTime values that differ numerically when viewed as floating point types, but which represent the same year, month, day, hour, minute, second, and millisecond. SameDateTime allows applications to determine when two TDateTime values are the same even when their numeric values differ.

=====================================================

SameTime Routine Indicates whether two TDateTime values represent the same time of day, ignoring the date portion.

Syntax

function SameTime(const A: TDateTime, const B: TDateTime): Boolean;

Description

Call SameTime to determine whether the two TDateTime values specified by A and B represent the same time of day, ignoring the date portion. SameTime returns true if the two specified values occur on the same hour, minute, second, and millisecond, false otherwise.

Note: Note:It is possible to create two TDateTime values whose time portions differ numerically when viewed as floating point types, but which represent the same hour, minute, second, and millisecond. SameTime allows applications to determine when two TDateTime values represent the same time, even when the fractional parts of the values differ.

=====================================================

SecondOfTheDay Routine Returns the number of seconds between a specified TDateTime value and 12:00:00 AM of the same day.

Syntax

function SecondOfTheDay(const AValue: TDateTime): Cardinal;

Description

Call SecondOfTheDay to obtain the number of seconds between AValue and 12:00:00 AM on the same day.
=====================================================

SecondOfTheHour Routine Returns the number of seconds between a specified TDateTime value and the beginning of the same hour.

Syntax

function SecondOfTheHour(const AValue: TDateTime): Word;

Description

Call SecondOfTheHour to obtain the number of seconds between AValue and the start of the same hour on the same day.

=====================================================

SecondOfTheMinute Routine Returns the number of seconds between a specified TDateTime value and the beginning of the same minute.

Syntax

function SecondOfTheMinute(const AValue: TDateTime): Word;

Description

Call SecondOfTheMinute to obtain the number of seconds between AValue and the start of the same minute on the same day.

Note: Note:SecondOfTheMinute returns the same value as the SecondOf function.

=====================================================

SecondOfTheMonth Routine Returns the number of seconds between a specified TDateTime value and 12:00:00 AM on the first day of the month.

Syntax

function SecondOfTheMonth(const AValue: TDateTime): Cardinal;

Description

Call SecondOfTheMonth to obtain the number of seconds between AValue and 12:00:00 AM on the first day of the month that includes AValue.
=====================================================

SecondOfTheWeek Routine Returns the number of seconds between a specified TDateTime value and 12:00:00 AM of the first day of the week.

Syntax

function SecondOfTheWeek(const AValue: TDateTime): Cardinal;

Description

Call SecondOfTheWeek to obtain the number of seconds between AValue and 12:00:00 AM on Monday of the week that includes AValue.

Note: Note:SecondOfTheWeek defines the week of AValue according to the ISO 8601 standard. That is, the week starts on Monday and ends on Sunday.

=====================================================

StartOfAYear Routine Returns a TDateTime that represents the first moment on the first day of a specified year.

Syntax

function StartOfAYear(const AYear: Word): TDateTime;

Description

StartOfAYear returns the first expressible moment (January 1 at 12:00:00.000 AM) of the year specified by the AYear parameter.
=====================================================

SecondsBetween Routine Returns the number of seconds between two specified TDateTime values.

Syntax

function SecondsBetween(const ANow: TDateTime, const AThen: TDateTime): Int64;

Description

Call SecondsBetween to obtain the difference, in seconds, between two TDateTime values. SecondsBetween counts only entire seconds. Thus, SecondsBetween reports the difference between 9:00:00 AM and 9:00:00:999 AM as 0 because the difference is one millisecond short of an entire second.
=====================================================

SecondSpan Routine Returns the number of seconds (including fractions thereof) between two specified TDateTime values.

Syntax

function SecondSpan(const ANow: TDateTime, const AThen: TDateTime): Double;

Description

Call SecondSpan to obtain the difference, in seconds, between two TDateTime values. Unlike the SecondsBetween function, which only counts entire seconds, SecondSpan reports incomplete seconds as a fraction of an entire second.
=====================================================

TimeOf Routine Strips the date portion from a TDateTime value.

Syntax

function TimeOf(const AValue: TDateTime): TDateTime;

Description

Call TimeOf to convert a TDateTime value to a TDateTime value that includes only the time information (sets the date portion to 0, which means 12/30/1899).
=====================================================

Today Routine Returns a TDateTime value that represents the current date.

Syntax

function Today: TDateTime;

Description

Today returns a TDateTime value with the date portion set to the current date and the time portion set to 0.
=====================================================

Tomorrow Routine Returns a TDateTime value that represents the following day.

Syntax

function Tomorrow: TDateTime;

Description

Tomorrow returns a TDateTime value with the date portion set to the day following the current date and the time portion set to 0.
=====================================================

WeekOfTheMonth Routine Returns the week of the month represented by a TDateTime value.

Syntax

function WeekOfTheMonth(const AValue: TDateTime): Word;

Description

Call WeekOfTheMonth to obtain the week of the month represented by a specified TDateTime value. WeekOfTheMonth returns a value between 1 and 6. AYear and AMonth return the year and month in which WeekOfTheMonth occurs. Note that these values may not be the same as the year and month of AValue. This is because the first week of a month is defined as the first week with four or more days in that month. Thus, if the first day of the month is a Friday, Saturday, or Sunday, the first one, two, or three days of the month are defined as belonging to the last week of the previous month. Similarly, if the last day of the month is a Monday, Tuesday, or Wednesday, then the last one, two, or three days of the month are defined as belonging to the first week of the next month.

Note: Tip:To count weeks based on the weekday of the date/time value, use the NthDayOfWeek function instead. For example, if AValue represents a Saturday that is the first day of a month, WeekOfTheMonth returns 5 (or maybe 4), indicating the last week of the previous month, while NthDayOfWeek returns 1 AValue is the first Saturday in the month.

Note: Note:WeekOfTheMonth uses the ISO 8601 standard definition of a week. That is, a week is considered to start on a Monday and end on a Sunday.

=====================================================

WeekOfTheYear Routine Returns the week of the year represented by a TDateTime value.

Syntax

function WeekOfTheYear(const AValue: TDateTime): Word;

Description

Call WeekOfTheYear to obtain the week of the year represented by a specified TDateTime value. WeekOfTheYear returns a value between 1 and 53. AYear returns the year in which the specified week occurs. Note that this may not be the same as the year of AValue. This is because the first week of a year is defined as the first week with four or more days in that year. This means that if the first calendar day of the year is a Friday, Saturday, or Sunday, then for the first three, two, or one days of the calendar year, WeekOfTheYear returns the last week of the previous year. Similarly, if the last calendar day of the year is a Monday, Tuesday, or Wednesday, then for the last one, two, or three days of the calendar year, WeekOfTheYear returns 1 (the first week of the next calendar year).

Note: Note:WeekOfTheYear uses the ISO 8601 standard definition of a week. That is, a week is considered to start on a Monday and end on a Sunday.

Note: Note:WeekOfTheYear returns the same value as the WeekOf function.

=====================================================

WeeksBetween Routine Returns the number of whole weeks between two specified TDateTime values.

Syntax

function WeeksBetween(const ANow: TDateTime, const AThen: TDateTime): Integer;

Description

Call WeeksBetween to obtain the difference, in weeks, between two TDateTime values. WeeksBetween counts only whole Weeks. Thus, WeeksBetween reports the difference between January 1 at 12:00 AM and Jan 6 at 11:58 PM as 0 because the difference is one minute short of an entire week.
=====================================================

WeekSpan Routine Returns the number of weeks (including fractional weeks) between two specified TDateTime values.

Syntax

function WeekSpan(const ANow: TDateTime, const AThen: TDateTime): Double;

Description

Call WeekSpan to obtain the difference, in weeks, between two TDateTime values. Unlike the WeeksBetween function, which only counts whole weeks, WeekSpan reports incomplete weeks as a fraction of an entire week.
=====================================================

YearOf Routine Returns the year represented by a TDateTime value.

Syntax

function YearOf(const AValue: TDateTime): Word;

Description

Call YearOf to obtain the year represented by a specified TDateTime value. YearOf returns a value between 1 and 9999.
=====================================================

YearsBetween Routine Returns the approximate number of years between two specified TDateTime values.

Syntax

function YearsBetween(const ANow: TDateTime, const AThen: TDateTime): Integer;

Description

Call YearsBetween to obtain the difference, in years, between two TDateTime values. Because years are not all the same length (e.g. leap years), YearsBetween returns an approximation based on an assumption of 365.25 days per year. Fractional years are not counted. Thus, for example, YearsBetween reports the difference between Jan 1 and Dec 31 as 0 on non-leap years and 1 on leap years.
=====================================================

YearSpan Routine Returns the approximate number of years (including fractions thereof) between two specified TDateTime values.

Syntax

function YearSpan(const ANow: TDateTime, const AThen: TDateTime): Double;

Description

Call YearSpan to obtain the difference, in years, between two TDateTime values. Because years are not all the same length (e.g. leap years), YearsBetween returns an approximation based on an assumption of 365.25 days per year. Unlike the YearsBetween function, which does not report fractional years, YearSpan reports incomplete years as a fraction of a 365.25-day year.
=====================================================

Yesterday Routine Returns a TDateTime value that represents the preceding day.

Syntax

function Yesterday: TDateTime;

Description

Yesterday returns a TDateTime value with the date portion set to the day before the current date and the time portion set to 0.