Try OpenEdge Now
skip to main content
ABL Reference
ABL Syntax Reference : LOG function
 

LOG function

Calculates the logarithm of an expression using a specified base and returns that logarithm as a DECIMAL value.

Syntax

LOG ( expression [ , base ] )
expression
A decimal expression that you want the logarithm of.
base
A numeric expression that is the base you want to use. If you do not specify a base, LOG returns the natural logarithm, base (e). The base must be greater than 1.

Example

This procedure prompts the user for a base and a number, and then displays the log of the number. The VALIDATE option on the UPDATE statement ensures that the user enters a base value greater than 1 and a number greater than 0.
r-log.p
DEFINE VARIABLE base   AS DECIMAL NO-UNDO FORMAT ">>>,>>>.9999".
DEFINE VARIABLE number AS DECIMAL NO-UNDO.

REPEAT:
UPDATE base VALIDATE(base > 1, "Base must be greater than 1").
REPEAT:
UPDATE number VALIDATE(number > 0, "Number must be positive").
DISPLAY number LOG(number, base) LABEL "LOG(NUMBER, BASE)".
END.
END.

Notes

*The LOG function is accurate to approximately 10 decimal places.
*After converting the base and exponent to floating-point format, the LOG function uses standard system routines. On some machines, the logarithm routines do not handle large numbers well and might cause your terminal to hang.