Most BCX mathematical functions return DOUBLE floating point values and expect DOUBLE floating point values for their arguments.
BCX LDOUBLE functions return LDOUBLE floating point values and expect LDOUBLE floating point values for their arguments.
PI mathematical constant
Purpose: PI is a case-insensitive double precision numeric literal with a value of 3.141592653589793.
☞ Programs will need to be updated where a PI identifier has been used. That means removing your use of the PI identifier, regardless of case or data type. If you insist on having your definition of PI, you will need to change its name to something else like myPI.
DEGTORAD function
Purpose: DEGTORAD converts angular units from degrees to radians.
Syntax: AngleInRadians = DEGTORAD(AngleInDegrees AS DOUBLE) Return Value:
Parameters:
|
Example:
$BCXVERSION "8.0.4" DIM AS DOUBLE DegreeAngle DIM AS DOUBLE RadianAngle DIM AS DOUBLE SineOfAngle DIM AS STRING TheAnswer DegreeAngle = 36.0 RadianAngle = DEGTORAD(DegreeAngle) SineOfAngle = SIN(RadianAngle) SPRINT TheAnswer, "The sine of", STR$(DegreeAngle), " degrees is", SineOfAngle PRINT TheAnswer
Result:
The sine of 36 degrees is 0.587785252292464
RADTODEG function
Purpose: RADTODEG converts angular units from radians to degrees.
Syntax: AngleInDegrees = RADTODEG(AngleInRadians AS DOUBLE) Return Value:
Parameters:
|
Example:
$BCXVERSION "8.0.4" DIM AS DOUBLE DegreeAngle DIM AS DOUBLE RadianAngle DIM AS DOUBLE SineOfAngle DIM AS STRING TheAnswer DegreeAngle = 36.0 RadianAngle = DEGTORAD(DegreeAngle) SineOfAngle = SIN(RadianAngle) SPRINT TheAnswer, "The angle of", STR$(DegreeAngle), " degrees has a sine trigonometric ratio of", SineOfAngle PRINT TheAnswer RadianAngle = ASIN(SineOfAngle) DegreeAngle = RADTODEG(RadianAngle) SPRINT TheAnswer, "The sine trigonometric ratio of", SineOfAngle, " corresponds to an angle of", DegreeAngle, " degrees." PRINT TheAnswer
Result:
The angle of 36 degrees has a sine trigonometric ratio of 0.587785252292464 The sine trigonometric ratio of 0.587785252292464 corresponds to an angle of 35.9999999999994 degrees.Trigonometric functions
Trigonometric functions are used to obtain an angle's trigonometric ratio from an angle.
All trigonometric functions use radians, not degrees, for their arguments and return values.
The inverse trigonometric functions return radian values.
SIN function
Purpose: SIN returns the DOUBLE sine trigonometric ratio of a radian value angle.
Syntax: SineOfAngle = SIN(RadianAngle AS DOUBLE) Return Value:
Parameters:
|
Example:
DIM AS DOUBLE RadFromDeg DIM AS DOUBLE DegreeAngle DIM AS DOUBLE RadianAngle DIM AS DOUBLE SineOfAngle DIM AS STRING TheAnswer RadFromDeg = (PI / 180.0) DegreeAngle = 36.0 RadianAngle = DegreeAngle * RadFromDeg SineOfAngle = SIN(RadianAngle) SPRINT TheAnswer, "The sine of", STR$(DegreeAngle), " degrees is", SineOfAngle PRINT TheAnswer
Result:
The sine of 36 degrees is 0.587785252292473
SINL function
Purpose: SINL returns the LDOUBLE sine trigonometric ratio of an angle.
Syntax: SineOfAngle = SINL(RadianAngle AS LDOUBLE) Return Value:
Parameters:
|
Example:
DIM LDbl_PI AS LDOUBLE DIM RadFromDeg AS LDOUBLE DIM DegreeAngle AS LDOUBLE DIM RadianAngle AS LDOUBLE DIM SineOfAngle AS LDOUBLE DIM AS STRING TheAnswer LDbl_PI = (4.0 * ATNL(1.0)) ' 1.0 is radians not degrees. RadFromDeg = (LDbl_PI / 180.0) DegreeAngle = 36.0 RadianAngle = DegreeAngle * RadFromDeg SineOfAngle = SINL(RadianAngle) SPRINT TheAnswer, "The sine of", STR$(DegreeAngle), " degrees is", SineOfAngle PRINT TheAnswer
Result:
The sine of 36 degrees is 0.5877852522924731292
COS function
Purpose: COS returns the DOUBLE cosine trigonometric ratio of an angle.
Syntax: CosineOfAngle = COS(RadianAngle AS DOUBLE) Return Value:
Parameters:
|
Example:
DIM AS DOUBLE RadFromDeg DIM AS DOUBLE DegreeAngle DIM AS DOUBLE RadianAngle DIM AS DOUBLE CosineOfAngle DIM AS STRING TheAnswer RadFromDeg = (PI / 180.0) DegreeAngle = 36.0 RadianAngle = DegreeAngle * RadFromDeg CosineOfAngle = COS(RadianAngle) SPRINT TheAnswer, "The cosine of", STR$(DegreeAngle), " degrees is", CosineOfAngle PRINT TheAnswer
Result:
The cosine of 36 degrees is 0.809016994374947
COSL function
Purpose: COSL returns the LDOUBLE cosine trigonometric ratio of an angle.
Syntax: CosineOfAngle = COSL(RadianAngleAS LDOUBLE) Return Value:
Parameters:
|
Example:
DIM LDbl_PI AS LDOUBLE DIM RadFromDeg AS LDOUBLE DIM DegreeAngle AS LDOUBLE DIM RadianAngle AS LDOUBLE DIM CosineOfAngle AS LDOUBLE DIM AS STRING TheAnswer LDbl_PI = (4.0 * ATNL(1.0)) ' 1.0 is radians not degrees. RadFromDeg = (LDbl_PI / 180.0) DegreeAngle = 36.0 RadianAngle = DegreeAngle * RadFromDeg CosineOfAngle = COSL(RadianAngle) SPRINT TheAnswer, "The cosine of", STR$(DegreeAngle), " degrees is", CosineOfAngle PRINT TheAnswer
Result:
The cosine of 36 degrees is 0.8090169943749474241
TAN function
Purpose: TAN returns the DOUBLE tangent trigonometric ratio of an angle.
Syntax: TangentOfAngle = TAN(RadianAngle AS DOUBLE) Return Value:
Parameters:
|
Example:
DIM AS DOUBLE RadFromDeg DIM AS DOUBLE DegreeAngle DIM AS DOUBLE RadianAngle DIM AS DOUBLE TangentOfAngle DIM AS STRING TheAnswer RadFromDeg = (PI / 180.0) DegreeAngle = 36.0 RadianAngle = DegreeAngle * RadFromDeg TangentOfAngle = TAN(RadianAngle) SPRINT TheAnswer, "The tangent of", STR$(DegreeAngle), " degrees is", TangentOfAngle PRINT TheAnswer
Result:
The tangent of 36 degrees is 0.726542528005361
TANL function
Purpose: TANL returns the LDOUBLE tangent trigonometric ratio of an angle.
Syntax: TangentOfAngle = TANL(RadianAngle AS LDOUBLE) Return Value:
Parameters:
|
Example:
DIM LDbl_PI AS LDOUBLE DIM RadFromDeg AS LDOUBLE DIM DegreeAngle AS LDOUBLE DIM RadianAngle AS LDOUBLE DIM TangentOfAngle AS LDOUBLE DIM AS STRING TheAnswer LDbl_PI = (4.0 * ATNL(1.0)) ' 1.0 is radians not degrees. RadFromDeg = (LDbl_PI / 180.0) DegreeAngle = 36.0 RadianAngle = DegreeAngle * RadFromDeg TangentOfAngle = TANL(RadianAngle) SPRINT TheAnswer, "The tangent of", STR$(DegreeAngle), " degrees is", TangentOfAngle PRINT TheAnswer
Result:
The tangent of 36 degrees is 0.7265425280053608859Inverse Trigonometric functions
Inverse trigonometric functions are used to obtain an angle from an angle's trigonometric ratio.
ASIN function
Purpose: ASIN returns the DOUBLE radian angle of a sine trigonometric ratio.
Syntax: RadianAngle = ASIN(SineOfAngle AS DOUBLE) Return Value:
Parameters:
|
Example:
DIM AS DOUBLE RadFromDeg DIM AS DOUBLE DegFromRad DIM AS DOUBLE DegreeAngle DIM AS DOUBLE RadianAngle DIM AS DOUBLE SineOfAngle DIM AS STRING TheAnswer DegFromRad# = (180.0 / PI) RadFromDeg# = (PI / 180.0) DegreeAngle# = 36.0 RadianAngle# = DegreeAngle * RadFromDeg SineOfAngle# = SIN(RadianAngle) SPRINT TheAnswer, "The angle of", STR$(DegreeAngle), " degrees has a sine trigonometric ratio of", SineOfAngle PRINT TheAnswer RadianAngle = ASIN(SineOfAngle) DegreeAngle# = RadianAngle * DegFromRad SPRINT TheAnswer, "The sine trigonometric ratio of", SineOfAngle, " corresponds to an angle of", DegreeAngle, " degrees." PRINT TheAnswer
Result:
The angle of 36 degrees has a sine trigonometric ratio of 0.587785252292473 The sine trigonometric ratio of 0.587785252292473 corresponds to an angle of 36 degrees.
ASINL function
Purpose: ASINL returns the LDOUBLE radian angle of a sine trigonometric ratio.
Syntax: RadianAngle = ASINL(SineOfAngle AS LDOUBLE) Return Value:
Parameters:
|
Example:
DIM LDbl_PI AS LDOUBLE DIM RadFromDeg AS LDOUBLE DIM DegFromRad AS LDOUBLE DIM DegreeAngle AS LDOUBLE DIM RadianAngle AS LDOUBLE DIM SineOfAngle AS LDOUBLE DIM AS STRING TheAnswer LDbl_PI = (4.0 * ATNL(1.0)) ' 1.0 is radians not degrees. DegFromRad = (180.0 / LDbl_PI) RadFromDeg = (LDbl_PI / 180.0) DegreeAngle = 36.0 RadianAngle = DegreeAngle * RadFromDeg SineOfAngle = SINL(RadianAngle) SPRINT TheAnswer, "The angle of", STR$(DegreeAngle), " degrees has a sine trigonometric ratio of", SineOfAngle PRINT TheAnswer RadianAngle = ASINL(SineOfAngle) DegreeAngle = RadianAngle * DegFromRad SPRINT TheAnswer, "The sine trigonometric ratio of", SineOfAngle, " corresponds to an angle of", DegreeAngle, " degrees." PRINT TheAnswer
Result:
The angle of 36 degrees has a sine trigonometric ratio of 0.5877852522924731292 The sine trigonometric ratio of 0.5877852522924731292 corresponds to an angle of 36 degrees.
ACOS function
Purpose: ACOS returns the DOUBLE radian value angle of a cosine trigonometric ratio.
Syntax: RadianAngle# = ACOS(CosineOfAngle AS DOUBLE) Return Value:
Parameters:
|
Example:
DIM AS DOUBLE RadFromDeg DIM AS DOUBLE DegFromRad DIM AS DOUBLE DegreeAngle DIM AS DOUBLE RadianAngle DIM AS DOUBLE CosineOfAngle DIM AS STRING TheAnswer DegFromRad = (180.0 / PI) RadFromDeg = (PI / 180.0) DegreeAngle = 36.0 RadianAngle = DegreeAngle * RadFromDeg CosineOfAngle = COS(RadianAngle) SPRINT TheAnswer, "The angle of", STR$(DegreeAngle), " degrees has a cosine trigonometric ratio of", CosineOfAngle PRINT TheAnswer RadianAngle = ACOS(CosineOfAngle) DegreeAngle = RadianAngle * DegFromRad SPRINT TheAnswer, "The cosine trigonometric ratio of", CosineOfAngle, " corresponds to an angle of", DegreeAngle, " degrees." PRINT TheAnswer
Result:
The angle of 36 degrees has a cosine trigonometric ratio of 0.809016994374947 The cosine trigonometric ratio of 0.809016994374947 corresponds to an angle of 36 degrees.
ACOSL function
Purpose: ACOSL returns the LDOUBLE precision value of the radian angle of a cosine trigonometric ratio.
Syntax: RadianAngle = ACOSL(CosineOfAngle AS LDOUBLE) Return Value:
Parameters:
|
Example:
DIM LDbl_PI AS LDOUBLE DIM RadFromDeg AS LDOUBLE DIM DegFromRad AS LDOUBLE DIM DegreeAngle AS LDOUBLE DIM RadianAngle AS LDOUBLE DIM CosineOfAngle AS LDOUBLE DIM AS STRING TheAnswer LDbl_PI = (4.0 * ATNL(1.0)) ' 1.0 is radians not degrees. DegFromRad = (180.0 / LDbl_PI) RadFromDeg = (LDbl_PI / 180.0) DegreeAngle = 36.0 RadianAngle = DegreeAngle * RadFromDeg CosineOfAngle = COSL(RadianAngle) SPRINT TheAnswer, "The angle of", STR$(DegreeAngle), " degrees has a cosine trigonometric ratio of", CosineOfAngle PRINT TheAnswer RadianAngle = ACOSL(CosineOfAngle) DegreeAngle = RadianAngle * DegFromRad SPRINT TheAnswer, "The cosine trigonometric ratio of", CosineOfAngle, " corresponds to an angle of", DegreeAngle, " degrees." PRINT TheAnswer
Result:
The angle of 36 degrees has a cosine trigonometric ratio of 0.8090169943749474241 The cosine trigonometric ratio of 0.8090169943749474241 corresponds to an angle of 36 degrees.
ATN function
Purpose: ATN returns the DOUBLE radian value angle of a tangent trigonometric ratio.
Syntax: RadianAngle = ATN(TangentOfAngle AS DOUBLE) Return Value:
Parameters:
|
Example:
DIM AS DOUBLE RadFromDeg DIM AS DOUBLE DegFromRad DIM AS DOUBLE DegreeAngle DIM AS DOUBLE RadianAngle DIM AS DOUBLE TangentOfAngle DIM AS STRING TheAnswer DegFromRad = (180.0 / PI) RadFromDeg = (PI / 180.0) DegreeAngle = 36.0 RadianAngle = DegreeAngle * RadFromDeg TangentOfAngle = TAN(RadianAngle) SPRINT TheAnswer, "The angle of", STR$(DegreeAngle), " degrees has a tangent trigonometric ratio of", TangentOfAngle PRINT TheAnswer RadianAngle = ATN(TangentOfAngle) DegreeAngle = RadianAngle * DegFromRad SPRINT TheAnswer, "The tangent trigonometric ratio of", TangentOfAngle, " corresponds to an angle of", DegreeAngle, " degrees." PRINT TheAnswer
Result:
The angle of 36 degrees has a tangent trigonometric ratio of 0.726542528005361
The tangent trigonometric ratio of 0.726542528005361 corresponds to an angle of 36 degrees.
ATNL function
Purpose: ATNL returns the LDOUBLE precision value of the radian angle of a tangent trigonometric ratio.
Syntax: RadianAngle = ATNL(TangentOfAngle AS LDOUBLE) Return Value:
Parameters:
|
Example 1:
DIM LDbl_PI AS LDOUBLE DIM RadFromDeg AS LDOUBLE DIM DegFromRad AS LDOUBLE DIM DegreeAngle AS LDOUBLE DIM RadianAngle AS LDOUBLE DIM TangentOfAngle AS LDOUBLE DIM AS STRING TheAnswer LDbl_PI = (4.0 * ATNL(1.0)) ' 1.0 is radians not degrees. DegFromRad = (180.0 / LDbl_PI) RadFromDeg = (LDbl_PI / 180.0) DegreeAngle = 36.0 RadianAngle = DegreeAngle * RadFromDeg TangentOfAngle = TANL(RadianAngle) SPRINT TheAnswer, "The angle of", STR$(DegreeAngle), " degrees has a tangent trigonometric ratio of", TangentOfAngle PRINT TheAnswer RadianAngle = ATNL(TangentOfAngle) DegreeAngle = RadianAngle * DegFromRad SPRINT TheAnswer, "The tangent trigonometric ratio of", TangentOfAngle, " corresponds to an angle of", DegreeAngle, " degrees." PRINT TheAnswer
Result:
The angle of 36 degrees has a tangent trigonometric ratio of 0.7265425280053608859 The tangent trigonometric ratio of 0.7265425280053608859 corresponds to an angle of 36 degrees.
Example 2:
DIM DBL_Pi AS DOUBLE DIM LDBL_Pi AS LDOUBLE DBL_Pi = 4.0 * ATAN(1.0) LDBL_Pi = 4.0 * ATANL(1.0) PRINT "DOUBLE Pi =", DBL_Pi PRINT "LDOUBLE Pi =", LDBL_Pi PAUSE
Result:
DOUBLE Pi = 3.14159265358979 LDOUBLE Pi = 3.141592653589793239 Press any key to continue . . .Hyperbolic Trigonometric functions
SINH function
Purpose: SINH returns the DOUBLE hyperbolic sine trigonometric ratio of a radian value angle.
Syntax: HypeSineOfAngle = SINH(RadianAngle AS DOUBLE) Return Value:
Parameters:
|
Example:
DIM HalfPi AS DOUBLE DIM DBLSinh AS DOUBLE HalfPi = 2.0 * ATAN(1.0) DBLSinh = SINH(HalfPi) PRINT DBLSinh
Result:
2.30129890230729
COSH function
Purpose: COSH returns the DOUBLE hyperbolic cosine trigonometric ratio of an angle.
Syntax: HypeCosineOfAngle = COSH(RadianAngle AS DOUBLE) Return Value:
Parameters:
|
Example:
DIM HalfPi AS DOUBLE DIM DBLCosh AS DOUBLE HalfPi = 2.0 * ATAN(1.0) DBLCosh = COSH(HalfPi) PRINT DBLCosh
Result:
2.50917847865806
TANH function
Purpose: TANH returns the DOUBLE tangent trigonometric ratio of an angle.
Syntax: HypeTangentOfAngle = TANH(RadianAngle AS DOUBLE) Return Value:
Parameters:
|
Example:
DIM QrtrPi AS DOUBLE DIM DBLTan AS DOUBLE DIM DBLTanh AS DOUBLE QrtrPi = ATAN(1.0) DBLTan = TAN(QrtrPi) DBLTanh = TANH(DBLTan) PRINT DBLTan PRINT DBLTanh
Result:
1 0.761594155955765Inverse Hyperbolic Trigonometric functions
Inverse hyperbolic trigonometric functions are used to obtain a radian angle from a hyperbolic trigonometric ratio.
ASINH function
Purpose: ASINH returns the DOUBLE radian value angle of a hyperbolic sine trigonometric ratio.
Syntax: RadianAngle = ASINH(HypeSineOfAngle AS DOUBLE) Return Value:
Parameters:
|
Example:
DIM QrtrPi AS DOUBLE DIM DBLSinh AS DOUBLE DIM DBLASinh AS DOUBLE QrtrPi = ATAN(1.0) DBLSinh = SINH(QrtrPi) DBLASinh = ASINH(DBLSinh) PRINT DBLSinh PRINT DBLASinh
Result:
0.86867096148601 0.785398163397448
ACOSH function
Purpose: ACOSH returns the DOUBLE radian value angle of a hyperbolic cosine trigonometric ratio.
Syntax: RadianAngle = ACOSH(HypeCosineOfAngle AS DOUBLE) Return Value:
Parameters:
|
Example:
DIM QrtrPi AS DOUBLE DIM DBLCosh AS DOUBLE DIM DBLACosh AS DOUBLE QrtrPi = ATAN(1.0) DBLCosh = COSH(QrtrPi) DBLACosh = ACOSH(DBLCosh) PRINT DBLCosh PRINT DBLACosh
Result:
1.32460908925201 0.785398163397448
ATANH function
Purpose: ATANH returns the DOUBLE radian value angle of a hyperbolic tangent trigonometric ratio.
Syntax: RadianAngle = ATANH(HypeTangentOfAngle AS DOUBLE) Return Value:
Parameters:
|
Example:
DIM QrtrPi AS DOUBLE DIM DBLTanh AS DOUBLE DIM DBLATanh AS DOUBLE QrtrPi = ATAN(1.0) DBLTanh = TANH(QrtrPi) DBLATanh = ATANH(DBLTanh) PRINT DBLTanh PRINT DBLATanh
Result:
0.655794202632672 0.785398163397448
LOG function
Purpose: LOG returns the natural logarithmic DOUBLE value of a number.
Syntax: NatLogNum = LOG(TheNumber AS DOUBLE) Return Value:
Parameters:
|
LOGL function
Purpose: LOGL returns the natural logarithmic LDOUBLE value of a number.
Syntax: NatLogNum = LOGL(TheNumber AS LDOUBLE) Return Value:
Parameters:
|
Example 1:
DIM RetDBL# DIM RetLDBL AS LDOUBLE RetDBL# = LOG(9000.0) PRINT RetDBL# RetLDBL = LOGL(9000.0) PRINT RetLDBL
Result:
9.10497985631836 9.104979856318356435
Example 2: The following routine uses LOG to calculate the length of a number.
DIM Number# DIM LengthOfNumber# Number# = 1234567890 LengthOfNumber# = INT(LOG(Number#) / LOG(10)) + 1 PRINT LengthOfNumber#
Result:
10
EXP natural exponential function
Purpose: EXP raises Euler's number, 2.718281828459, to a specified exponent. EXP is the inverse of the natural logarithmic LOG function.
Syntax: DBLNatExp = EXP(ExpNumber AS DOUBLE) Return Value:
Parameters:
|
Example:
DIM DBLExponent AS DOUBLE DIM DBLNatExp AS DOUBLE DBLExponent = 2.30258509299405 DBLNatExp = EXP(DBLExponent) PRINT DBLNatExp
Result:
10
LOG10 function
Purpose: LOG10 returns the DOUBLE common, base-10, logarithm of a number.
Syntax: ComLogNum = LOG10(TheNumber AS DOUBLE) Return Value:
Parameters:
|
Example:
DIM Number# DIM LengthOfNumber# Number# = 1234567890 LengthOfNumber# = INT(LOG10(Number#) / LOG10(10)) + 1 PRINT LengthOfNumber#
Result:
10
LOG10L function
Purpose: LOG10L returns the LDOUBLE common, base-10, logarithm of a number.
Syntax: ComLogLDBL = LOG10L(LDBLNumber AS LDOUBLE) Return Value:
Parameters:
|
Example:
DIM RetDBL# DIM RetLDBL AS LDOUBLE RetDBL# = LOG10(9000.0) PRINT RetDBL# RetLDBL = LOG10L(9000.0) PRINT RetLDBL
Result:
3.95424250943932 3.954242509439324875
SQR and SQRT function
Purpose: SQR and SQRT return the square root DOUBLE value of a DOUBLE number.
Syntax 1: RetDBL = SQR(DBLNumber AS DOUBLE)Syntax 2: RetDBL = SQRT(DBLNumber AS DOUBLE) Return Value:
Parameters:
|
SQRL and SQRTL function
Purpose: SQRL and SQRTL return the square root LDOUBLE value of an LDOUBLE number.
Syntax 1: RetLDBL = SQRL(LDBLNumber AS DOUBLE)Syntax 2: RetLDBL = SQRTL(LDBLNumber AS LDOUBLE) Return Value:
Parameters:
|
Example:
DIM RetDBL# DIM RetLDBL AS LDOUBLE RetDBL# = SQRT(3.14159265358979) PRINT RetDBL# RetLDBL = SQRTL(3.141592653589793239L) PRINT RetLDBL
Result:
1.77245385090552 1.772453850905516027
HYPOT function
Purpose: HYPOT returns, as a DOUBLE value, the length of the hypotenuse of a right angled triangle given the lengths, as DOUBLE numbers, of the adjacent sides.
Syntax: DBLHypot = HYPOT(DBLSideA AS DOUBLE, DBLSideB AS DOUBLE) Return Value:
Parameters: |
HYPOTL function
Purpose: HYPOTL returns, as an LDOUBLE value, the length of the hypotenuse of a right angled triangle given the lengths, as LDOUBLE numbers, of the adjacent sides.
Syntax: LDBLHypot = HYPOTL(LDBLSideA AS LDOUBLE, LDBLSideB AS LDOUBLE) Return Value:
Parameters: |
Example:
DIM DBLSideA# DIM DBLSideB# DIM DBLHypot# DBLSideA# = 3.1 DBLSideB# = 4.1 DBLHypot# = HYPOT(DBLSideA#, DBLSideB#) PRINT DBLHypot# DIM LDBLSideA AS LDOUBLE DIM LDBLSideB AS LDOUBLE DIM LDBLHypot AS LDOUBLE LDBLSideA = 3.1 LDBLSideB = 4.1 LDBLHypot = HYPOTL(LDBLSideA, LDBLSideB) PRINT LDBLHypot
Result:
5.14003891035856 5.140038910358558525
POW function
Purpose: POW returns, as a DOUBLE, the result of a DOUBLE value base raised to the power of a DOUBLE value exponent.
Syntax: DBLPowered = POW(DBLBase AS DOUBLE, DBLExponent AS DOUBLE) Return Value:
Parameters: |
Example:
DIM DBLPowered AS DOUBLE DIM DBLBase AS DOUBLE DIM DBLExponent AS DOUBLE DBLBase = 2 FOR INTEGER i = 2 TO 16 DBLExponent# = i DBLPowered# = POW(DBLBase#, DBLExponent#) PRINT DBLPowered# NEXT i
Result:
4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536
POWL function
Purpose: POWL returns, as an LDOUBLE value, the result of an LDOUBLE value base raised to the power of an LDOUBLE value exponent.
Syntax: LDBLPowered = POWL(LDBLBase AS LDOUBLE, LDBLExponent AS LDOUBLE) Return Value:
Parameters: |
Example:
DIM LDBLPowered AS LDOUBLE DIM LDBLBase AS LDOUBLE DIM LDBLExponent AS LDOUBLE LDBLBase = 2.1 FOR INTEGER i = 1.1 TO 16.1 STEP 1 LDBLExponent = i LDBLPowered = POWL(LDBLBase, LDBLExponent) PRINT LDBLPowered NEXT i
Result:
2.100000000000000089 4.410000000000000373 9.261000000000001175 19.44810000000000329 40.84101000000000864 85.76612100000002176 180.1088541000000533 378.2285936100001279 794.2800465810003022 1667.988097820100705 3502.775005422211629 7355.827511386644732 15447.23777391195459 32439.19932521510601 68122.3185829517255 143056.8690241986296
MOD function
Purpose: MOD returns, as a DOUBLE value, the remainder of a division operation.
☞ Unlike most other BASIC implementations of MOD, which return an INTEGER, BCX MOD returns a DOUBLE, including any remaining fraction. For a procedure which returns, as an INTEGER value, the remainder of a division operation, see the below IMOD function.
Syntax 1: As Function Remainder = MOD(Dividend AS DOUBLE, Divisor AS DOUBLE) Return Value:
Parameters:
Example 1: DIM Remainder# DIM Dividend# DIM Divisor# Dividend# = 5.3 Divisor# = 2.0 Remainder# = MOD(Dividend#, Divisor#) PRINT Remainder# Result: 1.3Syntax 2: As Operator Remainder = Dividend AS DOUBLE MOD Divisor AS DOUBLE Return Value:
Parameters:
Example 2: DIM Remainder# DIM Dividend# DIM Divisor# Dividend# = 5.3 Divisor# = 2.0 Remainder# = Dividend# MOD Divisor# PRINT Remainder# Result: 1.3 |
Remarks:
☞ In QuickBASIC, the MOD remainder operator
uses integer division with rounding in calculations. Keep this in
mind if you are porting some old QuickBASIC code that uses the MOD
remainder operator.
Example:
The QuickBASIC MOD calculation
19.0 MOD 6.7
BCX equivalent result, can be had using the technique shown in this BCX example.
DIM AS INTEGER RetInt RetInt = QB_MOD(19.0, 6.7) PRINT RetInt FUNCTION QB_MOD(dividend AS DOUBLE, divisor AS DOUBLE) AS INTEGER '******************************************************** ' Replicates the QBasic modulus function algorithm '******************************************************** DIM AS INTEGER idividend, idivisor idividend = INT(ROUND(dividend, 0)) idivisor = INT(ROUND(divisor, 0)) FUNCTION = IMOD(idividend, idivisor) END FUNCTION
Result:
5
IMOD function
Purpose: IMOD returns, as an INTEGER value, the remainder of a division operation.
Syntax: Remainder = IMOD(Dividend AS INTEGER, Divisor AS INTEGER) Return Value:
Parameters: |
Example:
DIM Remainder% DIM Dividend% DIM Divisor% Dividend% = 5 Divisor% = 2 Remainder% = IMOD(Dividend%, Divisor%) PRINT Remainder%
Result:
1
Remarks:
% modulus operator
Functionally equivalent to the BCX IMOD function, the C language modulus operator % is accepted by BCX in BASIC expressions.
☞ When using the % modulus operator, a space must be to the left and right of of the % symbol.
Example:
DIM Remainder AS INTEGER DIM Dividend AS INTEGER DIM Divisor AS INTEGER Dividend = 5 Divisor = 2 Remainder = Dividend % Divisor PRINT Remainder
Result:
1