llAbs

From Second Life Wiki
(Redirected from LSL llAbs)
Jump to navigation Jump to search

Summary

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

Returns an integer that is the positive version of val.

• integer val Any integer value
This function is similar to functions (e.g. abs) found in many other languages: 
C++
abs

Caveats

  • The llAbs of -2147483648 is -2147483648. This is because the positive integer 2147483648 is outside the range of allowed LSL integer values.

Examples

default
{
    state_entry()
    {
//      returns: "The absolute value of -4 is: 4"
        llSay(PUBLIC_CHANNEL, "The absolute value of -4 is: "+(string)llAbs(-4) );
    }
}
// Here's a more elaborate example.

ShowAbsolute(integer inputInteger)
{
    string output = "llAbs(" + (string)inputInteger + ") --> " + (string)llAbs(inputInteger);

    llSay(PUBLIC_CHANNEL, output);
}

default
{
    state_entry()
    {
        ShowAbsolute(-3);   //  llAbs(-3)  --> 3
        ShowAbsolute(5);    //  llAbs(5)   --> 5
        ShowAbsolute(-20);  //  llAbs(-20) --> 20
        ShowAbsolute(0);    //  llAbs(0)   --> 0
    }
}

Notes

  • Using val-(val<<1)*(val<0) is roughly two times faster than llAbs, as it avoids a function call and produces identical results.

See Also

Functions

•  llFabs float version of llAbs

Articles

•  "Wikipedia logo"Absolute value

Deep Notes

Signature

function integer llAbs( integer val );

Haiku

Whether good or bad,
we are not here to judge you.
Just to ask... How much?