/// <summary> /// computes integral by the integrand, initial value and difference. /// </summary> /// <param name="delayedIntegrand">delayed integrand</param> /// <param name="initialValue">initial value</param> /// <param name="dt">difference</param> /// <returns></returns> static Stream <double> Integral(Delayed <Stream <double> > delayedIntegrand, double initialValue, double dt) { Stream <double> inte = null; inte = Cons(initialValue, () => AddStream(delayedIntegrand.Force().Select(x => x * dt), inte)); return(inte); }