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); }