Difference between revisions of "LlFloor"
Jump to navigation
Jump to search
m |
Omei Qunhua (talk | contribs) (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
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: integer llFloor( float val );9 | Function ID |
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
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.