LlListStatistics - Second Life Wiki

LlListStatistics

From Second Life Wiki

Jump to: navigation, search

Function: float llListStatistics( integer operation, list src );

315 Function ID
0.0 Delay
10.0 Energy

Returns a float that is the result of performing statistical aggregate function operation on src.

• integer operation a LIST_STAT_* flag
• list src


If a list entry type is not a float or an integer it is silently ignored.

Constant Description
LIST_STAT_RANGE 0 Returns the range.
LIST_STAT_MIN 1 Retrieves the smallest number.
LIST_STAT_MAX 2 Retrieves the largest number.
LIST_STAT_MEAN 3 Retrieves the mean (average).
LIST_STAT_MEDIAN 4 Retrieves the median number.
LIST_STAT_STD_DEV 5 Calculates the standard deviation.
LIST_STAT_SUM 6 Calculates the sum.
LIST_STAT_SUM_SQUARES 7 Calculates the sum of the squares.
LIST_STAT_NUM_COUNT 8 Retrieves the number of float and integer elements.
LIST_STAT_GEOMETRIC_MEAN 9 Calculates the geometric mean.

Examples

// shows just how bad SL is behaving and demonstrates the use of llListStatistics()
list dil_s;
list fps_s;
 
default
{
    state_entry()
    {
        dil_s = fps_s = [];
        llSetTimerEvent(1.0);
    }
 
    on_rez (integer parm)
    {
        llResetScript();
    }
 
    timer()
    {
        dil_s = llList2List(dil_s + llGetRegionTimeDilation(), -60, -1);
        fps_s = llList2List(fps_s + llGetRegionFPS(), -60, -1);
        if(llGetListLength(dil_s) > 3)
        {
            llSetText(
                "Dilation: min="+(string) llListStatistics(LIST_STAT_MIN, dil_s) + ", mean=" +
                    (string) llListStatistics(LIST_STAT_MEAN, dil_s) + ", max=" +
                    (string) llListStatistics(LIST_STAT_MAX, dil_s) + ", std.dev=" +
                    (string) llListStatistics(LIST_STAT_STD_DEV, dil_s) + "\n" + 
                    "FPS: min="+(string) llListStatistics(LIST_STAT_MIN, fps_s) + ", mean=" +
                    (string) llListStatistics(LIST_STAT_MEAN, fps_s) + ", max=" +
                    (string) llListStatistics(LIST_STAT_MAX, fps_s) + ", std.dev=" +
                    (string) llListStatistics(LIST_STAT_STD_DEV, fps_s),
                <1.0, 1.0, 0.0>, //yellow
                1.0);
        }
    }
 
    changed(integer change)
    {
        if(change & CHANGED_REGION)
        {
            llResetScript();
        }
    }
}

See Also

Functions

•  llGetListEntryType