Difference between revisions of "LlLog"

From Second Life Wiki
Jump to: navigation, search
(copy & paste from llLog10)
m
Line 20: Line 20:
 
   }
 
   }
 
}
 
}
 +
</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>
 
</lsl>
 
|helpers
 
|helpers

Revision as of 05:29, 16 June 2011

Summary

Function: float llLog( float val );

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>

See Also

Functions

•  llLog10
•  llPow
•  llSqrt

Articles

•  Wikipedia:Natural_logarithm

Deep Notes

Search JIRA for related Issues

Signature

function float llLog( float val );