Difference between revisions of "LlFloor"
Jump to navigation
Jump to search
All Issues ~ Search JIRA for related Bugs
Omei Qunhua (talk | contribs) (Promote integer casting for positive values) |
Omei Qunhua (talk | contribs) (Caveat for out-of-range) |
||
Line 7: | Line 7: | ||
|return_text=that is the integer value of {{LSLP|val}} rounded towards negative infinity <code>(return <= {{LSLPT|val}})</code>. | |return_text=that is the integer value of {{LSLP|val}} rounded towards negative infinity <code>(return <= {{LSLPT|val}})</code>. | ||
|spec | |spec | ||
|caveats | |caveats=The returned value is -2147483648 (0x80000000) if the arithmetic result is outside of the range of valid integers (-2147483648 to 2147483647) | ||
|examples=<lsl>default | |examples=<lsl>default | ||
{ | { |
Revision as of 10:11, 21 January 2014
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
The returned value is -2147483648 (0x80000000) if the arithmetic result is outside of the range of valid integers (-2147483648 to 2147483647)
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.