/// <summary> /// NOTE: Code-generation-invoked method, method name and parameter order matters /// </summary> /// <param name="output">out</param> /// <param name="vector">points</param> /// <throws>IOException io error</throws> public static void WritePoints( DataOutput output, SortedDoubleVector vector) { output.WriteInt(vector.Values.Count); foreach (var num in vector.Values) { output.WriteDouble(num); } }
/// <summary> /// NOTE: Code-generation-invoked method, method name and parameter order matters /// </summary> /// <param name="input">input</param> /// <returns>points</returns> /// <throws>IOException io error</throws> public static SortedDoubleVector ReadPoints(DataInput input) { var points = new SortedDoubleVector(); int size = input.ReadInt(); for (var i = 0; i < size; i++) { double d = input.ReadDouble(); points.Add(d); } return points; }
/// <summary> /// NOTE: Code-generation-invoked method, method name and parameter order matters /// </summary> /// <param name="vector">vector</param> /// <returns>value</returns> public static object MedianCompute(SortedDoubleVector vector) { if (vector.Count == 0) { return null; } if (vector.Count == 1) { return vector[0]; } var middle = vector.Count >> 1; if (vector.Count % 2 == 0) { return (vector[middle - 1] + vector[middle]) / 2; } return vector[middle]; }
/// <summary>Ctor. </summary> public AggregatorMedian() { _vector = new SortedDoubleVector(); }