Difference between revisions of "LlLog"

 LSL Portal

Contents

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

<lsl> default {

``` state_entry()
{
float num1 = llFrand(100.0);
```
```   llOwnerSay("The natural logarithm of " + (string)num1 + " is " + (string)llLog(num1));
}
```

} </lsl> <lsl> 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
}
```

}

</lsl>

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. <lsl>float LogBaseN = llLog(value) / llLog(Base); //This technique introduces errors but is the only way</lsl>

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 0.69314718056
4 1.38629436112
8 2.07944154168
10 2.30258509299
16 2.77258872224
32 3.4657359028
64 4.15888308336
128 4.85203026392
256 5.54517744448

```function float llLog( float val );