llLog
		
		
		
		Jump to navigation
		Jump to search
		
| LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials | 
Summary
Function: float llLog( float val );| 0.0 | Forced Delay | 
| 10.0 | Energy | 
Returns a float that is the  natural logarithm of val.
 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.
| 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}} | 
See Also
Deep Notes
| Signature | 
|---|
| function float llLog( float val ); |