util.math.log

Shared

Returns the logarithm of a number in a given base


Syntax

local result = util.math.log(
    value,
    base = util.math.exp(1)
)

Parameters

TypeNameDescription
floatvaluePositive number to compute the logarithm of
floatbaseLogarithm base - defaults to e (natural log)

Returns

TypeNameDescription
floatresultLogarithm of value in the given base

Examples

Natural log of e
local result = util.math.log(util.math.exp(1))

core.engine.print("info", result) -- 1.0
Natural log of 1 is always 0
local result = util.math.log(1)

core.engine.print("info", result) -- 0.0
Log base 10
local result = util.math.log(1000, 10)

core.engine.print("info", result) -- 3.0
Log base 2
local result = util.math.log(8, 2)

core.engine.print("info", result) -- 3.0
Compute number of digits in an integer
local n = 12345
local digits = util.math.floor(util.math.log(n, 10)) + 1

core.engine.print("info", digits) -- 5
Compute how many doublings to reach a target
local start = 1
local target = 1024
local doublings = util.math.ceil(util.math.log(target/start, 2))

core.engine.print("info", doublings) -- 10
Verify log and exp are inverses
local value = 5.0
local result = util.math.log(util.math.exp(value))

core.engine.print("info", result) -- 5.0

On this page