feat: Add new CodeQL extension for C# and SonarLint configuration

- Introduced a new CodeQL extension for C# in `.github/codeql/extensions/quantalib-csharp/codeql-pack.yml`.
- Added SonarLint configuration in `.sonarlint/CSharp/SonarLint.xml` and `.sonarlint/csharp.ruleset` to suppress specific rules for high-performance indicators.
- Removed outdated `.vscode/launch.json` configurations.
- Updated `.vscode/tasks.json` to streamline build and test tasks, including renaming and consolidating tasks.
- Modified `Directory.Build.props` to enhance SARIF output directory handling and integrate SonarLint rules.
- Refactored various indicator classes to improve code clarity and maintainability, including updates to method parameters for consistency.
- Added XML documentation comments to several classes and methods for better code understanding.
- Improved numerical stability in calculations by replacing direct comparisons with `double.Epsilon` checks in multiple classes.
This commit is contained in:
Miha Kralj
2026-01-21 23:05:38 -06:00
parent 32f3366952
commit da4e56bf40
32 changed files with 187 additions and 187 deletions
+8 -2
View File
@@ -27,6 +27,9 @@ public sealed class Change : AbstractBase
public override bool IsHot => _buffer.Count > _period;
/// <summary>
///
/// </summary>
/// <param name="period">Lookback period (must be >= 1)</param>
public Change(int period = 1)
{
@@ -39,6 +42,9 @@ public sealed class Change : AbstractBase
WarmupPeriod = period + 1;
}
/// <summary>
///
/// </summary>
/// <param name="source">Source indicator for chaining</param>
/// <param name="period">Lookback period</param>
public Change(ITValuePublisher source, int period = 1) : this(period)
@@ -99,7 +105,7 @@ public sealed class Change : AbstractBase
for (int i = 0; i < source.Length; i++)
{
Update(new TValue(time, source[i]), true);
Update(new TValue(time, value: source[i]), isNew: true);
time += interval;
}
}
@@ -189,4 +195,4 @@ public sealed class Change : AbstractBase
_p_state = default;
Last = default;
}
}
}