Difference between revisions of "LlFloor"

From Second Life Wiki
Jump to navigation Jump to search
m
(Promote integer casting for positive values)
Line 38: Line 38:
|also_functions={{LSL DefineRow||[[llRound]]|Rounds the float to an integer towards the closest integer}}
|also_functions={{LSL DefineRow||[[llRound]]|Rounds the float to an integer towards the closest integer}}
{{LSL DefineRow||[[llCeil]]|Rounds the float to an integer towards positive infinity}}
{{LSL DefineRow||[[llCeil]]|Rounds the float to an integer towards positive infinity}}
|notes
|notes=*For positive values, it is quicker and shorter to simply cast the float to an integer. i=(integer)f is 32 bytes shorter than i=llFloor(f) (in Byte Code) and about 30 times faster in execution, while giving the same result.
|cat1=Math
|cat1=Math
|cat2
|cat2

Revision as of 05:17, 14 December 2013

Summary

Function: integer llFloor( float val );

Returns an integer that is the integer value of val rounded towards negative infinity (return <= val).

• float val Any valid float value

Examples

<lsl>default {

  state_entry()
  {
      llSay(0,"The floor value of -4.5 is: "+(string)llFloor(-4.5) );
      //Returns "The floor value of -4.5 is: -5"
      llSay(0,"The floor value of -4.9 is: "+(string)llFloor(-4.9) );
      //Returns "The floor value of -4.9 is: -5"
      llSay(0,"The floor value of -4.1 is: "+(string)llFloor(-4.1) );
      //Returns "The floor value of -4.1 is: -5"
      llSay(0,"The floor value of 4.5 is: "+(string)llFloor(4.5) );
      //Returns "The floor value of 4.5 is: 4"
      llSay(0,"The floor value of 4.9 is: "+(string)llFloor(4.9) );
      //Returns "The floor value of 4.9 is: 4"
      llSay(0,"The floor value of 4.1 is: "+(string)llFloor(4.1) );
      //Returns "The floor value of 4.1 is: 4"
   }
}</lsl>

Notes

  • For positive values, it is quicker and shorter to simply cast the float to an integer. i=(integer)f is 32 bytes shorter than i=llFloor(f) (in Byte Code) and about 30 times faster in execution, while giving the same result.

See Also

Functions

•  llRound Rounds the float to an integer towards the closest integer
•  llCeil Rounds the float to an integer towards positive infinity

Deep Notes

Search JIRA for related Issues

Signature

function integer llFloor( float val );