Difference between revisions of "LlFloor"

From Second Life Wiki
Jump to navigation Jump to search
m
m (plain English)
Line 8: Line 8:
|spec
|spec
|caveats=
|caveats=
* The function returns <code>{{LSL Hex|0x80000000|-2147483648}}</code> if the arithmetic result is outside of the range of valid [[Integer|integers]] <code>-2147483648 <= {{LSLP|val}} <= 2147483647</code>.
* The returned value is -2147483648 (0x80000000) if the arithmetic result is outside of the range of valid integers (-2147483648 to 2147483647 inclusive).
|examples=<lsl>default
|examples=<lsl>default
{
{
   state_entry()
   state_entry()
   {
   {
       llSay(0,"The floor value of -4.5 is: "+(string)llFloor(-4.5) );
       llSay(0, "The floor value of -4.5 is: "+(string)llFloor(-4.5) );
       //Returns "The floor value of -4.5 is: -5"
       //Returns "The floor value of -4.5 is: -5"


       llSay(0,"The floor value of -4.9 is: "+(string)llFloor(-4.9) );
       llSay(0, "The floor value of -4.9 is: "+(string)llFloor(-4.9) );
       //Returns "The floor value of -4.9 is: -5"
       //Returns "The floor value of -4.9 is: -5"


       llSay(0,"The floor value of -4.1 is: "+(string)llFloor(-4.1) );
       llSay(0, "The floor value of -4.1 is: "+(string)llFloor(-4.1) );
       //Returns "The floor value of -4.1 is: -5"
       //Returns "The floor value of -4.1 is: -5"


       llSay(0,"The floor value of 4.5 is: "+(string)llFloor(4.5) );
       llSay(0, "The floor value of 4.5 is: "+(string)llFloor(4.5) );
       //Returns "The floor value of 4.5 is: 4"
       //Returns "The floor value of 4.5 is: 4"


       llSay(0,"The floor value of 4.9 is: "+(string)llFloor(4.9) );
       llSay(0, "The floor value of 4.9 is: "+(string)llFloor(4.9) );
       //Returns "The floor value of 4.9 is: 4"
       //Returns "The floor value of 4.9 is: 4"


       llSay(0,"The floor value of 4.1 is: "+(string)llFloor(4.1) );
       llSay(0, "The floor value of 4.1 is: "+(string)llFloor(4.1) );
       //Returns "The floor value of 4.1 is: 4"
       //Returns "The floor value of 4.1 is: 4"
     }
     }

Revision as of 12:42, 20 March 2014

Summary

Function: integer llFloor( float val );
0.0 Forced Delay
10.0 Energy

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

• float val Any valid float value

Caveats

  • The returned value is -2147483648 (0x80000000) if the arithmetic result is outside of the range of valid integers (-2147483648 to 2147483647 inclusive).

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

Signature

function integer llFloor( float val );