var ema1 = new ExponentialMovingAverage(3);
var outputs1 = ema1.Compute(inputs);
var ema2 = new ExponentialMovingAverage(3);
var outputs2 = ema2.Compute(ema1);
Я рассматривал использование inputs.ElementAt(index), а также использование foreach vs for и List vs Enumerable.
Как я могу улучшить код, в том числе его производительность?
} [/code] И у меня есть следующие тесты, которые проходят: [code][Fact] public void Test_AllNonNullInputs() { var ema = new ExponentialMovingAverage(3);
var inputs = new List { (new DateTimeOffset(2024, 1, 1, 0, 0, 0, TimeSpan.Zero), 10), (new DateTimeOffset(2024, 1, 2, 0, 0, 0, TimeSpan.Zero), 15), (new DateTimeOffset(2024, 1, 3, 0, 0, 0, TimeSpan.Zero), 20), (new DateTimeOffset(2024, 1, 4, 0, 0, 0, TimeSpan.Zero), 25), (new DateTimeOffset(2024, 1, 5, 0, 0, 0, TimeSpan.Zero), 30), (new DateTimeOffset(2024, 1, 6, 0, 0, 0, TimeSpan.Zero), 35) }; var output = ema.Compute(inputs).ToList();
[Fact] public void Test_FirstTwoInputsAreNull() { var ema = new ExponentialMovingAverage(3);
var inputs = new List { (new DateTimeOffset(2024, 1, 1, 0, 0, 0, TimeSpan.Zero), null), (new DateTimeOffset(2024, 1, 2, 0, 0, 0, TimeSpan.Zero), null), (new DateTimeOffset(2024, 1, 3, 0, 0, 0, TimeSpan.Zero), 20), (new DateTimeOffset(2024, 1, 4, 0, 0, 0, TimeSpan.Zero), 25), (new DateTimeOffset(2024, 1, 5, 0, 0, 0, TimeSpan.Zero), 30), (new DateTimeOffset(2024, 1, 6, 0, 0, 0, TimeSpan.Zero), 35) }; var output = ema.Compute(inputs).ToList();
Assert.Equal(6, output.Count); Assert.Null(output[0].ExponentialMovingAverage); Assert.Null(output[1].ExponentialMovingAverage); Assert.Null(output[2].ExponentialMovingAverage); Assert.Null(output[3].ExponentialMovingAverage); Assert.Equal(25m, output[4].ExponentialMovingAverage); Assert.Equal(30m, output[5].ExponentialMovingAverage); } [/code] Вычисление кажется медленным, например, при расчете EMA для EMA со многими входными данными: [code]var ema1 = new ExponentialMovingAverage(3); var outputs1 = ema1.Compute(inputs); var ema2 = new ExponentialMovingAverage(3); var outputs2 = ema2.Compute(ema1); [/code] Я рассматривал использование inputs.ElementAt(index), а также использование foreach vs for и List vs Enumerable. Как я могу улучшить код, в том числе его производительность?
Я хочу использовать Pandas для расчета среднего значения в течение трех отдельных месяцев в наборе данных, в котором перечислены год, месяц и стоимость процентов в трех различных столбцах. Обычно я просто использовал бы это Pandas.loc и Isin () и...
Во время пятого задания Advent of Code в этом году я наткнулся на такое странное поведение:
Если вы заказываете перечисляемое с помощью компаратора, который не проверяет транзитивное сравнение, метод ElementAt возвращает другой порядок, чем...
Во время пятого задания Advent of Code в этом году я наткнулся на такое странное поведение:
Если вы заказываете перечисляемое с помощью компаратора, который не проверяет транзитивное сравнение, метод ElementAt возвращает другой порядок, чем...
Во время пятого задания Advent of Code в этом году я наткнулся на такое странное поведение:
Если вы заказываете перечисляемое с помощью компаратора, который не проверяет транзитивное сравнение, метод ElementAt возвращает другой порядок, чем...