/// <summary> /// Computes the average of an observable sequence of nullable <see cref="Single"/> values. /// </summary> /// <param name="source"> /// A sequence of <see cref="Single"/> values to calculate the average of. /// </param> /// <returns> /// An observable sequence containing a single element with the average of the /// sequence of values. /// </returns> public IObservable <float?> Process(IObservable <float?> source) { return(source.Average()); }
/// <summary> /// Computes the average of an observable sequence of <see cref="Decimal"/> values. /// </summary> /// <param name="source"> /// A sequence of <see cref="Decimal"/> values to calculate the average of. /// </param> /// <returns> /// An observable sequence containing a single element with the average of the /// sequence of values. /// </returns> public IObservable <decimal> Process(IObservable <decimal> source) { return(source.Average()); }
/// <summary> /// Computes the average of an observable sequence of <see cref="Double"/> values. /// </summary> /// <param name="source"> /// A sequence of <see cref="Double"/> values to calculate the average of. /// </param> /// <returns> /// An observable sequence containing a single element with the average of the /// sequence of values. /// </returns> public IObservable <double> Process(IObservable <double> source) { return(source.Average()); }
/// <summary> /// Shorthand for calculating the average of a stream of TimeSpans. /// </summary> public static IObservable <TimeSpan> Average(this IObservable <TimeSpan> originalStream) { return (originalStream.Average(timeSpan => timeSpan.Ticks).Select(ticks => new TimeSpan(Convert.ToInt64(ticks)))); }