public LSL_Float llListStatistics(int operation, LSL_List src)
{
if (!ScriptProtection.CheckThreatLevel(ThreatLevel.None, "LSL", m_host, "LSL", m_itemID)) return new LSL_Float();
LSL_List nums = LSL_List.ToDoubleList(src);
if (operation == ScriptBaseClass.LIST_STAT_RANGE)
return nums.Range();
if (operation == ScriptBaseClass.LIST_STAT_MIN)
return nums.Min();
if (operation == ScriptBaseClass.LIST_STAT_MAX)
return nums.Max();
if (operation == ScriptBaseClass.LIST_STAT_MEAN)
return nums.Mean();
if (operation == ScriptBaseClass.LIST_STAT_MEDIAN)
return nums.Median();
if (operation == ScriptBaseClass.LIST_STAT_NUM_COUNT)
return nums.NumericLength();
if (operation == ScriptBaseClass.LIST_STAT_STD_DEV)
return nums.StdDev();
if (operation == ScriptBaseClass.LIST_STAT_SUM)
return nums.Sum();
if (operation == ScriptBaseClass.LIST_STAT_SUM_SQUARES)
return nums.SumSqrs();
if (operation == ScriptBaseClass.LIST_STAT_GEOMETRIC_MEAN)
return nums.GeometricMean();
if (operation == ScriptBaseClass.LIST_STAT_HARMONIC_MEAN)
return nums.HarmonicMean();
return 0.0;
}