public LSL_Float llListStatistics(int operation, LSL_List src) { m_host.AddScriptLPS(1); switch (operation) { case ScriptBaseClass.LIST_STAT_RANGE: return src.Range(); case ScriptBaseClass.LIST_STAT_MIN: return src.Min(); case ScriptBaseClass.LIST_STAT_MAX: return src.Max(); case ScriptBaseClass.LIST_STAT_MEAN: return src.Mean(); case ScriptBaseClass.LIST_STAT_MEDIAN: return LSL_List.ToDoubleList(src).Median(); case ScriptBaseClass.LIST_STAT_NUM_COUNT: return src.NumericLength(); case ScriptBaseClass.LIST_STAT_STD_DEV: return src.StdDev(); case ScriptBaseClass.LIST_STAT_SUM: return src.Sum(); case ScriptBaseClass.LIST_STAT_SUM_SQUARES: return src.SumSqrs(); case ScriptBaseClass.LIST_STAT_GEOMETRIC_MEAN: return src.GeometricMean(); case ScriptBaseClass.LIST_STAT_HARMONIC_MEAN: return src.HarmonicMean(); default: return 0.0; } }