From 8ac15f1efa345c18565bf9793ef090297717f7df Mon Sep 17 00:00:00 2001 From: Miha Kralj Date: Mon, 26 Jan 2026 20:17:13 -0800 Subject: [PATCH] refactor: consolidate duplicate if (isNew) checks (S2589) --- lib/channels/dchannel/Dchannel.cs | 12 ++++-------- lib/channels/fcb/Fcb.cs | 12 ++++-------- lib/channels/mmchannel/Mmchannel.cs | 12 ++++-------- lib/channels/pchannel/Pchannel.cs | 12 ++++-------- lib/trends_IIR/mgdi/Mgdi.cs | 6 +----- 5 files changed, 17 insertions(+), 37 deletions(-) diff --git a/lib/channels/dchannel/Dchannel.cs b/lib/channels/dchannel/Dchannel.cs index 73ab2059..8a1cede6 100644 --- a/lib/channels/dchannel/Dchannel.cs +++ b/lib/channels/dchannel/Dchannel.cs @@ -102,20 +102,16 @@ public sealed class Dchannel : ITValuePublisher if (isNew) { _p_state = _state; - } - else - { - _state = _p_state; - } - - if (isNew) - { _index++; if (_count < _period) { _count++; } } + else + { + _state = _p_state; + } int bufIdx = (int)(_index % _period); var (high, low) = GetValid(input.High, input.Low); diff --git a/lib/channels/fcb/Fcb.cs b/lib/channels/fcb/Fcb.cs index 1254a7de..5d2335fa 100644 --- a/lib/channels/fcb/Fcb.cs +++ b/lib/channels/fcb/Fcb.cs @@ -221,20 +221,16 @@ public sealed class Fcb : ITValuePublisher if (isNew) { _p_state = _state; - } - else - { - _state = _p_state; - } - - if (isNew) - { _index++; if (_count < _period) { _count++; } } + else + { + _state = _p_state; + } var (high, low) = GetValid(input.High, input.Low); diff --git a/lib/channels/mmchannel/Mmchannel.cs b/lib/channels/mmchannel/Mmchannel.cs index 35d52aaa..100a599e 100644 --- a/lib/channels/mmchannel/Mmchannel.cs +++ b/lib/channels/mmchannel/Mmchannel.cs @@ -101,20 +101,16 @@ public sealed class Mmchannel : ITValuePublisher if (isNew) { _p_state = _state; - } - else - { - _state = _p_state; - } - - if (isNew) - { _index++; if (_count < _period) { _count++; } } + else + { + _state = _p_state; + } int bufIdx = (int)(_index % _period); var (high, low) = GetValid(input.High, input.Low); diff --git a/lib/channels/pchannel/Pchannel.cs b/lib/channels/pchannel/Pchannel.cs index a00a3244..deb73926 100644 --- a/lib/channels/pchannel/Pchannel.cs +++ b/lib/channels/pchannel/Pchannel.cs @@ -197,20 +197,16 @@ public sealed class Pchannel : ITValuePublisher if (isNew) { _p_state = _state; - } - else - { - _state = _p_state; - } - - if (isNew) - { _index++; if (_count < _period) { _count++; } } + else + { + _state = _p_state; + } int bufIdx = (int)(_index % _period); var (high, low) = GetValid(input.High, input.Low); diff --git a/lib/trends_IIR/mgdi/Mgdi.cs b/lib/trends_IIR/mgdi/Mgdi.cs index cc1c1a2b..c61510ed 100644 --- a/lib/trends_IIR/mgdi/Mgdi.cs +++ b/lib/trends_IIR/mgdi/Mgdi.cs @@ -66,17 +66,13 @@ public sealed class Mgdi : AbstractBase if (isNew) { _p_state = _state; + _state.Count++; } else { _state = _p_state; } - if (isNew) - { - _state.Count++; - } - double price = input.Value; if (!double.IsFinite(price)) {