Exemplo n.º 1
0
        public static void Step(ILoop loop, double time, double dt, double stepValue, SimulateCallback callback = null)
        {
            ISignalGenerator steps = new StepsGenerator(stepValue, 0d);

            Signal(loop, time, dt, steps, callback);
        }
Exemplo n.º 2
0
        public static void Signal(ILoop loop, double time, double dt, ISignalGenerator signalGenerator, SimulateCallback callback = null)
        {
            loop.Initialize(dt);
            callback?.Invoke(0, 0d);

            int iterations = (int)Math.Floor(time / dt) + 1;

            for (int i = 1; i < iterations; i++)
            {
                double currentTime  = i * dt;
                var    signalSample = signalGenerator.GetSample(currentTime);
                loop.NextIteration(signalSample.value, currentTime, dt);

                callback?.Invoke(i, currentTime);
            }
        }
Exemplo n.º 3
0
 public static void Step(ILoop loop, double time, double dt, SimulateCallback callback = null)
 {
     Step(loop, time, dt, 1d, callback);
 }