# llLog

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

 LSL Portal
Function: float llLog( float val );
 265 Function ID 0 Forced Delay 10 Energy

Returns a float that is the natural logarithm of val.
If val <= 0 return 0.0 instead.

 • float val

To get the base 10 logarithm use llLog10.

## Examples

```default
{
state_entry()
{
float num1 = llFrand(100.0);

llOwnerSay("The natural logarithm of " + (string)num1 + " is " + (string)llLog(num1));
}
}
```
```float findexp(float result, float base)
{
return llLog(result)/llLog(base);
}
default
{
touch_start(integer total_number)
{
llSay(0, (string)findexp(8.0,2.0));
//returns 3.0
}
}
```

## Notes

There are only two log functions llLog and llLog10. Errors introduced as a result of floating-point arithmetic are most noticable when working with logarithms. llLog should be used instead of llLog10 when converting the base of the logarithm.

```float LogBaseN = llLog(value) / llLog(Base); //This technique introduces errors but is the only way
```

If Base is a constant, your script will run faster if you calculate it's log and divide by that constant instead.

Useful natural logarithms
Number logarithm
2 {{#ln:2}}
4 {{#ln:4}}
8 {{#ln:8}}
10 {{#ln:10}}
16 {{#ln:16}}
32 {{#ln:32}}
64 {{#ln:64}}
128 {{#ln:128}}
256 {{#ln:256}}

### Functions

 • llLog10 • llPow • llSqrt

### Articles

 • Natural logarithm

## Deep Notes

#### Signature

```function float llLog( float val );
```