Difference between revisions of "LlFloor"

From Second Life Wiki
Jump to navigation Jump to search
m
 
(22 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{lowercase|llFloor}}
{{LSL_Function
__NOTOC__
|func=llFloor
 
|func_id=9|func_sleep=0.0|func_energy=10.0
{| width="100%"
|func_footnote
|-
|p1_type=float|p1_name=val|p1_desc=Any valid float value
|<div id="box">
|return_type=integer
== [[LSL_Type_integer|integer]] llFloor( [[LSL_Type_float|float]] val); ==
|return_text=that is the integer value of {{LSLP|val}} rounded towards negative infinity <code>(return <= {{LSLPT|val}})</code>.
<div style="padding: 0.5em">
|spec
* val - Any valid float value
|caveats=
</div>
* The returned value is -2147483648 (0x80000000) if the arithmetic result is outside of the range of valid integers (-2147483648 to 2147483647 inclusive).
</div>
|examples=<source lang="lsl2">default
|-
{
|
  state_entry()
<div id="box">
  {
 
      llSay(0,  "The floor value of -4.5 is: "+(string)llFloor(-4.5) );
== Specification ==
      //Returns "The floor value of -4.5 is: -5"
<div style="padding: 0.5em">
Returns largest integer value <= val
{|
|-
| [[LSL_Energy|Energy]]:
| 10.0  
|-  
| [[LSL_Sleep|Sleep]]:
| 0.0
|-  
| [[LSL_Function_ID|Function ID]]:  
| 9
|}


</div>
      llSay(0,  "The floor value of -4.9 is: "+(string)llFloor(-4.9) );
</div>
      //Returns "The floor value of -4.9 is: -5"
|-
|
<div id="box">


== Caveats ==
      llSay(0,  "The floor value of -4.1 is: "+(string)llFloor(-4.1) );
<div style="padding: 0.5em">
      //Returns "The floor value of -4.1 is: -5"
</div>
</div>


|-
       llSay(0, "The floor value of 4.5 is: "+(string)llFloor(4.5) );
|
      //Returns "The floor value of 4.5 is: 4"
<div id="box">
== Examples ==
<div style="padding: 0.5em">
<lsl>
default {
  state_entry()
  {
       llSay(0,"The floor value of -4.5 is: "+(string)llFloor(-4.5) );
  }
}
</lsl>
</div>
</div>
|-
|
<div id="box">


== Helper Functions ==
      llSay(0,  "The floor value of 4.9 is: "+(string)llFloor(4.9) );
<div style="padding: 0.5em">
      //Returns "The floor value of 4.9 is: 4"
<lsl>
</lsl>
</div>
</div>
|-
|
<div id="box">
== See Also ==
<div style="padding: 0.5em">
</div>
</div>
|-
|
<div id="box">
== Notes ==
<div style="padding: 0.5em">
</div>
</div>
|}


[[Category:LSL_Functions]]
      llSay(0,  "The floor value of 4.1 is: "+(string)llFloor(4.1) );
[[Category:LSL_Math]]
      //Returns "The floor value of 4.1 is: 4"
    }
}</source>
|helpers
|constants
|also_tests
|also_events
|also_articles
|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}}
|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
|cat2
|cat3
|cat4
}}

Latest revision as of 01:24, 22 January 2015

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

Caveats

  • The returned value is -2147483648 (0x80000000) if the arithmetic result is outside of the range of valid integers (-2147483648 to 2147483647 inclusive).
All Issues ~ Search JIRA for related Bugs

Examples

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"
    }
}

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 );