private static double StepVol(double start, double end, OrnsteinUhlenbeck ouProcess)
        {
            var step = end - start;

            Debug.Assert(step >= 0.0);
            var stepIntegralVar = OrnsteinUhlenbeckUtils.IntegratedVariance(ouProcess.Volatility, ouProcess.MeanReversion, start)
                                  .Eval(end);

            return(step > 0.0 ? Math.Sqrt(stepIntegralVar / step) : 0.0);
        }
 private static double StepDrift(double start, double end, OrnsteinUhlenbeck ouProcess)
 {
     return(OrnsteinUhlenbeckUtils.IntegratedDrift(ouProcess.Drift, ouProcess.MeanReversion, start).Eval(end));
 }