Add UCFG2 type definitions and lock file for QuanTAlib

- Introduced type definitions for various classes in the QuanTAlib library, including Ema, EmaVector, EmaState, TSeries, CsvFeed, GBM, TBarSeries, TBar, and TValue.
- Added methods and properties for each class to enhance functionality and maintainability.
- Created a lock file to manage dependencies and ensure consistent builds.
This commit is contained in:
Miha Kralj
2025-11-29 16:43:52 -08:00
parent 8d8e60098e
commit 2b4e8e3fc3
70 changed files with 45335 additions and 49 deletions
+10
View File
@@ -0,0 +1,10 @@
/Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs
/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.cs
/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.cs
/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs
/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.cs
/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.cs
/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.cs
/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Quantower.cs
/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/EmaVector.cs
/Users/mihakralj/Github/QuanTAlib/.github/TradingPlatform.BusinessLayer.xml
@@ -0,0 +1 @@
/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/0
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<SonarProjectConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sonarsource.com/msbuild/analyzer/2021/1">
<AnalysisConfigPath>/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf/SonarQubeAnalysisConfig.xml</AnalysisConfigPath>
<ProjectPath>/Users/mihakralj/Github/QuanTAlib/quantower/Averages.csproj</ProjectPath>
<FilesToAnalyzePath>/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf/0/FilesToAnalyze.txt</FilesToAnalyzePath>
<OutPath>/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/0</OutPath>
<ProjectType>Product</ProjectType>
<TargetFramework>net8.0</TargetFramework>
</SonarProjectConfig>
+33
View File
@@ -0,0 +1,33 @@
/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.cs
/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/EmaVector.cs
/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.cs
/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.cs
/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs
/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.cs
/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.cs
/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.cs
/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.cs
/Users/mihakralj/Github/QuanTAlib/lib/feeds/IFeed.cs
/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.md
/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.md
/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.md
/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.md
/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.md
/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.md
/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/Directory.Build.props
/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.md
/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/daily_IBM.csv
/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.md
/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/feeds/IFeed.md
/Users/mihakralj/Github/QuanTAlib/lib/TestResults/09aa8f8b-17ca-430d-be58-992d5ce2aacd/coverage.opencover.xml
/Users/mihakralj/Github/QuanTAlib/lib/TestResults/b06e7fe4-4f16-46e2-8b46-bf971ee7d63d/coverage.cobertura.xml
/Users/mihakralj/Github/QuanTAlib/lib/TestResults/d5449c1c-f3e9-43cc-b9d9-304cd71e763e/coverage.opencover.xml
/Users/mihakralj/Github/QuanTAlib/.github/QuanTAlib2.png
@@ -0,0 +1 @@
/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/1
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<SonarProjectConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sonarsource.com/msbuild/analyzer/2021/1">
<AnalysisConfigPath>/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf/SonarQubeAnalysisConfig.xml</AnalysisConfigPath>
<ProjectPath>/Users/mihakralj/Github/QuanTAlib/lib/quantalib.csproj</ProjectPath>
<FilesToAnalyzePath>/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf/1/FilesToAnalyze.txt</FilesToAnalyzePath>
<OutPath>/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/1</OutPath>
<ProjectType>Product</ProjectType>
<TargetFramework>net10.0</TargetFramework>
</SonarProjectConfig>
+88
View File
@@ -0,0 +1,88 @@
/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Tests.cs
/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Validation.Tests.cs
/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/EmaVector.Tests.cs
/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.Tests.cs
/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.Tests.cs
/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.Tests.cs
/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.Tests.cs
/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.Tests.cs
/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.Tests.cs
/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/Gbm.Tests.cs
/Users/mihakralj/.nuget/packages/microsoft.net.test.sdk/17.14.1/build/net8.0/Microsoft.NET.Test.Sdk.Program.cs
/Users/mihakralj/.nuget/packages/xunit.runner.visualstudio/2.8.2/build/net6.0/xunit.runner.visualstudio.testadapter.dll
/Users/mihakralj/.nuget/packages/xunit.runner.visualstudio/2.8.2/build/net6.0/xunit.runner.reporters.netcoreapp10.dll
/Users/mihakralj/.nuget/packages/xunit.runner.visualstudio/2.8.2/build/net6.0/xunit.runner.utility.netcoreapp10.dll
/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.md
/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net10.0/QuanTAlib.deps.json
/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net10.0/QuanTAlib.dll
/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net10.0/QuanTAlib.pdb
/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net8.0/QuanTAlib.deps.json
/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net8.0/QuanTAlib.dll
/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net8.0/QuanTAlib.pdb
/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net9.0/QuanTAlib.deps.json
/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net9.0/QuanTAlib.dll
/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net9.0/QuanTAlib.pdb
/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/QuanTAlib.0.7.14-simd-dev.1.nupkg
/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/QuanTAlib.0.7.14-simd-dev.1.snupkg
/Users/mihakralj/Github/QuanTAlib/lib/bin/net10.0/QuanTAlib.deps.json
/Users/mihakralj/Github/QuanTAlib/lib/bin/net10.0/QuanTAlib.dll
/Users/mihakralj/Github/QuanTAlib/lib/bin/net10.0/QuanTAlib.pdb
/Users/mihakralj/Github/QuanTAlib/lib/bin/net9.0/QuanTAlib.deps.json
/Users/mihakralj/Github/QuanTAlib/lib/bin/net9.0/QuanTAlib.dll
/Users/mihakralj/Github/QuanTAlib/lib/bin/net9.0/QuanTAlib.pdb
/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.md
/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.md
/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.md
/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.md
/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.md
/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/Directory.Build.props
/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.md
/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/daily_IBM.csv
/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.md
/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.Notebook.dib
/Users/mihakralj/Github/QuanTAlib/lib/feeds/IFeed.md
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.AssemblyInfoInputs.cache
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.assets.cache
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.csproj.AssemblyReference.cache
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.csproj.CoreCompileInputs.cache
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.csproj.FileListAbsolute.txt
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/QuanTAlib.dll
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.GeneratedMSBuildEditorConfig.editorconfig
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/QuanTAlib.pdb
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.sourcelink.json
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.AssemblyInfoInputs.cache
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.assets.cache
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.csproj.CoreCompileInputs.cache
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.csproj.FileListAbsolute.txt
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/QuanTAlib.dll
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.GeneratedMSBuildEditorConfig.editorconfig
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/QuanTAlib.pdb
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.sourcelink.json
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.AssemblyInfoInputs.cache
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.assets.cache
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.csproj.CoreCompileInputs.cache
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.csproj.FileListAbsolute.txt
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/QuanTAlib.dll
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.GeneratedMSBuildEditorConfig.editorconfig
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/QuanTAlib.pdb
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.sourcelink.json
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/QuanTAlib.0.7.14-simd-dev.1.nuspec
/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/QuanTAlib.0.7.14-simd-dev.1.symbols.nuspec
/Users/mihakralj/Github/QuanTAlib/lib/obj/gitversion.json
/Users/mihakralj/Github/QuanTAlib/lib/obj/project.assets.json
/Users/mihakralj/Github/QuanTAlib/lib/obj/project.nuget.cache
/Users/mihakralj/Github/QuanTAlib/lib/obj/project.packagespec.json
/Users/mihakralj/Github/QuanTAlib/lib/obj/quantalib.csproj.nuget.dgspec.json
/Users/mihakralj/Github/QuanTAlib/lib/obj/quantalib.csproj.nuget.g.props
/Users/mihakralj/Github/QuanTAlib/lib/obj/quantalib.csproj.nuget.g.targets
/Users/mihakralj/Github/QuanTAlib/lib/obj/rider.project.restore.info
/Users/mihakralj/Github/QuanTAlib/lib/TestResults/09aa8f8b-17ca-430d-be58-992d5ce2aacd/coverage.opencover.xml
/Users/mihakralj/Github/QuanTAlib/lib/TestResults/b06e7fe4-4f16-46e2-8b46-bf971ee7d63d/coverage.cobertura.xml
/Users/mihakralj/Github/QuanTAlib/lib/TestResults/d5449c1c-f3e9-43cc-b9d9-304cd71e763e/coverage.opencover.xml
@@ -0,0 +1 @@
/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/2
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<SonarProjectConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sonarsource.com/msbuild/analyzer/2021/1">
<AnalysisConfigPath>/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf/SonarQubeAnalysisConfig.xml</AnalysisConfigPath>
<ProjectPath>/Users/mihakralj/Github/QuanTAlib/lib/QuanTAlib.Tests.csproj</ProjectPath>
<FilesToAnalyzePath>/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf/2/FilesToAnalyze.txt</FilesToAnalyzePath>
<OutPath>/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/2</OutPath>
<ProjectType>Test</ProjectType>
<TargetFramework>net10.0</TargetFramework>
</SonarProjectConfig>
+502
View File
@@ -0,0 +1,502 @@
<?xml version="1.0" encoding="utf-8"?>
<RuleSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="Rules for SonarQube" Description="This rule set was automatically generated from SonarQube" ToolsVersion="14.0">
<Rules AnalyzerId="SonarScannerFor.NET" RuleNamespace="SonarScannerFor.NET">
<Rule Id="S4026" Action="None" />
<Rule Id="S3353" Action="None" />
<Rule Id="S7789" Action="None" />
<Rule Id="S7788" Action="None" />
<Rule Id="S8134" Action="None" />
<Rule Id="S2114" Action="None" />
<Rule Id="S3776" Action="None" />
<Rule Id="S4507" Action="None" />
<Rule Id="S5773" Action="None" />
<Rule Id="S4426" Action="None" />
<Rule Id="S6967" Action="None" />
<Rule Id="S5766" Action="None" />
<Rule Id="S1541" Action="None" />
<Rule Id="S2612" Action="None" />
<Rule Id="S1200" Action="None" />
<Rule Id="S138" Action="None" />
<Rule Id="S110" Action="None" />
<Rule Id="S104" Action="None" />
<Rule Id="S2053" Action="None" />
<Rule Id="S6563" Action="None" />
<Rule Id="S6562" Action="None" />
<Rule Id="S1312" Action="None" />
<Rule Id="S2092" Action="None" />
<Rule Id="S4027" Action="None" />
<Rule Id="S4049" Action="None" />
<Rule Id="S4059" Action="None" />
<Rule Id="S6399" Action="None" />
<Rule Id="S6173" Action="None" />
<Rule Id="S6639" Action="None" />
<Rule Id="S6680" Action="None" />
<Rule Id="S4050" Action="None" />
<Rule Id="S4039" Action="None" />
<Rule Id="S121" Action="None" />
<Rule Id="S4025" Action="None" />
<Rule Id="S2330" Action="None" />
<Rule Id="S2339" Action="None" />
<Rule Id="S2360" Action="None" />
<Rule Id="S4040" Action="None" />
<Rule Id="S3956" Action="None" />
<Rule Id="S4017" Action="None" />
<Rule Id="S6513" Action="None" />
<Rule Id="S3242" Action="None" />
<Rule Id="S4055" Action="None" />
<Rule Id="S2387" Action="None" />
<Rule Id="S1227" Action="None" />
<Rule Id="S4214" Action="None" />
<Rule Id="S4792" Action="None" />
<Rule Id="S3884" Action="None" />
<Rule Id="S3925" Action="None" />
<Rule Id="S3881" Action="None" />
<Rule Id="S3447" Action="None" />
<Rule Id="S1451" Action="None" />
<Rule Id="S4069" Action="None" />
<Rule Id="S113" Action="None" />
<Rule Id="S3906" Action="None" />
<Rule Id="S3937" Action="None" />
<Rule Id="S3236" Action="None" />
<Rule Id="S3451" Action="None" />
<Rule Id="S4226" Action="None" />
<Rule Id="S3900" Action="None" />
<Rule Id="S3052" Action="None" />
<Rule Id="S3343" Action="None" />
<Rule Id="S3992" Action="None" />
<Rule Id="S3990" Action="None" />
<Rule Id="S6803" Action="None" />
<Rule Id="S4159" Action="None" />
<Rule Id="S4277" Action="None" />
<Rule Id="S4428" Action="None" />
<Rule Id="S4212" Action="None" />
<Rule Id="S2221" Action="None" />
<Rule Id="S2139" Action="None" />
<Rule Id="S6675" Action="None" />
<Rule Id="S6670" Action="None" />
<Rule Id="S6608" Action="None" />
<Rule Id="S3216" Action="None" />
<Rule Id="S1135" Action="None" />
<Rule Id="S109" Action="None" />
<Rule Id="S7714" Action="None" />
<Rule Id="S3649" Action="None" />
<Rule Id="S6802" Action="None" />
<Rule Id="S3168" Action="None" />
<Rule Id="S5344" Action="None" />
<Rule Id="S2083" Action="None" />
<Rule Id="S3885" Action="None" />
<Rule Id="S1854" Action="None" />
<Rule Id="S3267" Action="None" />
<Rule Id="S4036" Action="None" />
<Rule Id="S2245" Action="None" />
<Rule Id="S1215" Action="None" />
<Rule Id="S1313" Action="None" />
<Rule Id="S2068" Action="None" />
<Rule Id="S6418" Action="None" />
<Rule Id="S5122" Action="None" />
<Rule Id="S5146" Action="None" />
<Rule Id="S5144" Action="None" />
<Rule Id="S6350" Action="None" />
<Rule Id="S4790" Action="None" />
<Rule Id="S1871" Action="None" />
<Rule Id="S3949" Action="None" />
<Rule Id="S3626" Action="None" />
<Rule Id="S6547" Action="None" />
<Rule Id="S6549" Action="None" />
<Rule Id="S5135" Action="None" />
<Rule Id="S6641" Action="None" />
<Rule Id="S5334" Action="None" />
<Rule Id="S5131" Action="None" />
<Rule Id="S6287" Action="None" />
<Rule Id="S2631" Action="None" />
<Rule Id="S2078" Action="None" />
<Rule Id="S5883" Action="None" />
<Rule Id="S5145" Action="None" />
<Rule Id="S2076" Action="None" />
<Rule Id="S6776" Action="None" />
<Rule Id="S5147" Action="None" />
<Rule Id="S7044" Action="None" />
<Rule Id="S6096" Action="None" />
<Rule Id="S2091" Action="None" />
<Rule Id="S5445" Action="None" />
<Rule Id="S4502" Action="None" />
<Rule Id="S2696" Action="None" />
<Rule Id="S5547" Action="None" />
<Rule Id="S3330" Action="None" />
<Rule Id="S2755" Action="None" />
<Rule Id="S1699" Action="None" />
<Rule Id="S4830" Action="None" />
<Rule Id="S5034" Action="None" />
<Rule Id="S6377" Action="None" />
<Rule Id="S7039" Action="None" />
<Rule Id="S5332" Action="None" />
<Rule Id="S6423" Action="None" />
<Rule Id="S2184" Action="None" />
<Rule Id="S6781" Action="None" />
<Rule Id="S5443" Action="None" />
<Rule Id="S1133" Action="None" />
<Rule Id="S7130" Action="None" />
<Rule Id="S2737" Action="None" />
<Rule Id="S2115" Action="None" />
<Rule Id="S2259" Action="None" />
<Rule Id="S2479" Action="None" />
<Rule Id="S1192" Action="None" />
<Rule Id="S1125" Action="None" />
<Rule Id="S7133" Action="None" />
<Rule Id="S7131" Action="None" />
<Rule Id="S4487" Action="None" />
<Rule Id="S2589" Action="None" />
<Rule Id="S2222" Action="None" />
<Rule Id="S2583" Action="None" />
<Rule Id="S1264" Action="None" />
<Rule Id="S3329" Action="None" />
<Rule Id="S3655" Action="None" />
<Rule Id="S3247" Action="None" />
<Rule Id="S1155" Action="None" />
<Rule Id="S2629" Action="None" />
<Rule Id="S3966" Action="None" />
<Rule Id="S1643" Action="None" />
<Rule Id="S125" Action="None" />
<Rule Id="S2930" Action="None" />
<Rule Id="S3169" Action="None" />
<Rule Id="S4347" Action="None" />
<Rule Id="S4158" Action="None" />
<Rule Id="S2325" Action="None" />
<Rule Id="S2201" Action="None" />
<Rule Id="S6932" Action="None" />
<Rule Id="S1751" Action="None" />
<Rule Id="S1764" Action="None" />
<Rule Id="S3981" Action="None" />
<Rule Id="S3433" Action="None" />
<Rule Id="S1147" Action="None" />
<Rule Id="S3443" Action="None" />
<Rule Id="S6800" Action="None" />
<Rule Id="S6931" Action="None" />
<Rule Id="S2699" Action="None" />
<Rule Id="S6934" Action="None" />
<Rule Id="S6930" Action="None" />
<Rule Id="S3427" Action="None" />
<Rule Id="S3237" Action="None" />
<Rule Id="S2275" Action="None" />
<Rule Id="S2368" Action="None" />
<Rule Id="S6602" Action="None" />
<Rule Id="S6964" Action="None" />
<Rule Id="S6603" Action="None" />
<Rule Id="S6960" Action="None" />
<Rule Id="S6968" Action="None" />
<Rule Id="S6605" Action="None" />
<Rule Id="S1048" Action="None" />
<Rule Id="S3464" Action="None" />
<Rule Id="S1309" Action="None" />
<Rule Id="S2970" Action="None" />
<Rule Id="S2857" Action="None" />
<Rule Id="S3875" Action="None" />
<Rule Id="S2306" Action="None" />
<Rule Id="S3877" Action="None" />
<Rule Id="S2551" Action="None" />
<Rule Id="S2437" Action="None" />
<Rule Id="S3889" Action="None" />
<Rule Id="S3869" Action="None" />
<Rule Id="S2953" Action="None" />
<Rule Id="S2931" Action="None" />
<Rule Id="S6668" Action="None" />
<Rule Id="S6667" Action="None" />
<Rule Id="S6669" Action="None" />
<Rule Id="S6422" Action="None" />
<Rule Id="S6424" Action="None" />
<Rule Id="S2187" Action="None" />
<Rule Id="S6674" Action="None" />
<Rule Id="S6798" Action="None" />
<Rule Id="S6672" Action="None" />
<Rule Id="S2190" Action="None" />
<Rule Id="S4462" Action="None" />
<Rule Id="S2178" Action="None" />
<Rule Id="S3060" Action="None" />
<Rule Id="S3994" Action="None" />
<Rule Id="S4018" Action="None" />
<Rule Id="S2225" Action="None" />
<Rule Id="S2346" Action="None" />
<Rule Id="S2223" Action="None" />
<Rule Id="S5856" Action="None" />
<Rule Id="S2344" Action="None" />
<Rule Id="S2345" Action="None" />
<Rule Id="S4524" Action="None" />
<Rule Id="S1134" Action="None" />
<Rule Id="S3431" Action="None" />
<Rule Id="S2342" Action="None" />
<Rule Id="S2357" Action="None" />
<Rule Id="S2234" Action="None" />
<Rule Id="S3444" Action="None" />
<Rule Id="S3445" Action="None" />
<Rule Id="S1144" Action="None" />
<Rule Id="S3442" Action="None" />
<Rule Id="S3440" Action="None" />
<Rule Id="S3441" Action="None" />
<Rule Id="S881" Action="None" />
<Rule Id="S3449" Action="None" />
<Rule Id="S2445" Action="None" />
<Rule Id="S3897" Action="None" />
<Rule Id="S3898" Action="None" />
<Rule Id="S2688" Action="None" />
<Rule Id="S3532" Action="None" />
<Rule Id="S1110" Action="None" />
<Rule Id="S2681" Action="None" />
<Rule Id="S2328" Action="None" />
<Rule Id="S1118" Action="None" />
<Rule Id="S1117" Action="None" />
<Rule Id="S2326" Action="None" />
<Rule Id="S3415" Action="None" />
<Rule Id="S2327" Action="None" />
<Rule Id="S1479" Action="None" />
<Rule Id="S3416" Action="None" />
<Rule Id="S1116" Action="None" />
<Rule Id="S4635" Action="None" />
<Rule Id="S2333" Action="None" />
<Rule Id="S1123" Action="None" />
<Rule Id="S1244" Action="None" />
<Rule Id="S1121" Action="None" />
<Rule Id="S2692" Action="None" />
<Rule Id="S2219" Action="None" />
<Rule Id="S1128" Action="None" />
<Rule Id="S1006" Action="None" />
<Rule Id="S1481" Action="None" />
<Rule Id="S2148" Action="None" />
<Rule Id="S3358" Action="None" />
<Rule Id="S3598" Action="None" />
<Rule Id="S3235" Action="None" />
<Rule Id="S4200" Action="None" />
<Rule Id="S2386" Action="None" />
<Rule Id="S3597" Action="None" />
<Rule Id="S3234" Action="None" />
<Rule Id="S4201" Action="None" />
<Rule Id="S6507" Action="None" />
<Rule Id="S5659" Action="None" />
<Rule Id="S1172" Action="None" />
<Rule Id="S4457" Action="None" />
<Rule Id="S4456" Action="None" />
<Rule Id="S3249" Action="None" />
<Rule Id="S3246" Action="None" />
<Rule Id="S3005" Action="None" />
<Rule Id="S4211" Action="None" />
<Rule Id="S1067" Action="None" />
<Rule Id="S5542" Action="None" />
<Rule Id="S3244" Action="None" />
<Rule Id="S3366" Action="None" />
<Rule Id="S2156" Action="None" />
<Rule Id="S4210" Action="None" />
<Rule Id="S1066" Action="None" />
<Rule Id="S1186" Action="None" />
<Rule Id="S3363" Action="None" />
<Rule Id="S1185" Action="None" />
<Rule Id="S3240" Action="None" />
<Rule Id="S3241" Action="None" />
<Rule Id="S3457" Action="None" />
<Rule Id="S4545" Action="None" />
<Rule Id="S3215" Action="None" />
<Rule Id="S4423" Action="None" />
<Rule Id="S3458" Action="None" />
<Rule Id="S6965" Action="None" />
<Rule Id="S6966" Action="None" />
<Rule Id="S3456" Action="None" />
<Rule Id="S3453" Action="None" />
<Rule Id="S2123" Action="None" />
<Rule Id="S2365" Action="None" />
<Rule Id="S2486" Action="None" />
<Rule Id="S6961" Action="None" />
<Rule Id="S5753" Action="None" />
<Rule Id="S6962" Action="None" />
<Rule Id="S4663" Action="None" />
<Rule Id="S6609" Action="None" />
<Rule Id="S3459" Action="None" />
<Rule Id="S3217" Action="None" />
<Rule Id="S6607" Action="None" />
<Rule Id="S3218" Action="None" />
<Rule Id="S927" Action="None" />
<Rule Id="S1151" Action="None" />
<Rule Id="S3450" Action="None" />
<Rule Id="S6613" Action="None" />
<Rule Id="S6612" Action="None" />
<Rule Id="S1168" Action="None" />
<Rule Id="S3466" Action="None" />
<Rule Id="S2257" Action="None" />
<Rule Id="S3346" Action="None" />
<Rule Id="S2376" Action="None" />
<Rule Id="S4433" Action="None" />
<Rule Id="S3220" Action="None" />
<Rule Id="S2252" Action="None" />
<Rule Id="S6610" Action="None" />
<Rule Id="S1163" Action="None" />
<Rule Id="S6617" Action="None" />
<Rule Id="S6618" Action="None" />
<Rule Id="S818" Action="None" />
<Rule Id="S2372" Action="None" />
<Rule Id="S2251" Action="None" />
<Rule Id="S2743" Action="None" />
<Rule Id="S3717" Action="None" />
<Rule Id="S1659" Action="None" />
<Rule Id="S1656" Action="None" />
<Rule Id="S907" Action="None" />
<Rule Id="S2995" Action="None" />
<Rule Id="S3600" Action="None" />
<Rule Id="S3963" Action="None" />
<Rule Id="S2996" Action="None" />
<Rule Id="S1301" Action="None" />
<Rule Id="S3962" Action="None" />
<Rule Id="S2757" Action="None" />
<Rule Id="S3967" Action="None" />
<Rule Id="S3604" Action="None" />
<Rule Id="S2997" Action="None" />
<Rule Id="S3603" Action="None" />
<Rule Id="S1994" Action="None" />
<Rule Id="S2971" Action="None" />
<Rule Id="S3996" Action="None" />
<Rule Id="S1698" Action="None" />
<Rule Id="S2302" Action="None" />
<Rule Id="S3997" Action="None" />
<Rule Id="S3876" Action="None" />
<Rule Id="S1696" Action="None" />
<Rule Id="S3995" Action="None" />
<Rule Id="S3874" Action="None" />
<Rule Id="S3871" Action="None" />
<Rule Id="S1210" Action="None" />
<Rule Id="S1694" Action="None" />
<Rule Id="S3993" Action="None" />
<Rule Id="S3872" Action="None" />
<Rule Id="S1450" Action="None" />
<Rule Id="S3998" Action="None" />
<Rule Id="S3878" Action="None" />
<Rule Id="S1104" Action="None" />
<Rule Id="S3887" Action="None" />
<Rule Id="S2674" Action="None" />
<Rule Id="S3400" Action="None" />
<Rule Id="S3880" Action="None" />
<Rule Id="S1109" Action="None" />
<Rule Id="S2436" Action="None" />
<Rule Id="S1226" Action="None" />
<Rule Id="S3972" Action="None" />
<Rule Id="S3610" Action="None" />
<Rule Id="S3973" Action="None" />
<Rule Id="S2760" Action="None" />
<Rule Id="S2761" Action="None" />
<Rule Id="S3971" Action="None" />
<Rule Id="S3984" Action="None" />
<Rule Id="S1449" Action="None" />
<Rule Id="S1206" Action="None" />
<Rule Id="S1940" Action="None" />
<Rule Id="S1944" Action="None" />
<Rule Id="S1821" Action="None" />
<Rule Id="S1939" Action="None" />
<Rule Id="S1905" Action="None" />
<Rule Id="S4061" Action="None" />
<Rule Id="S4060" Action="None" />
<Rule Id="S5042" Action="None" />
<Rule Id="S4070" Action="None" />
<Rule Id="S1858" Action="None" />
<Rule Id="S2701" Action="None" />
<Rule Id="S3909" Action="None" />
<Rule Id="S3908" Action="None" />
<Rule Id="S2952" Action="None" />
<Rule Id="S1862" Action="None" />
<Rule Id="S3927" Action="None" />
<Rule Id="S3928" Action="None" />
<Rule Id="S3926" Action="None" />
<Rule Id="S2955" Action="None" />
<Rule Id="S3923" Action="None" />
<Rule Id="S131" Action="None" />
<Rule Id="S134" Action="None" />
<Rule Id="S2925" Action="None" />
<Rule Id="S127" Action="None" />
<Rule Id="S126" Action="None" />
<Rule Id="S1607" Action="None" />
<Rule Id="S1848" Action="None" />
<Rule Id="S3903" Action="None" />
<Rule Id="S3904" Action="None" />
<Rule Id="S2933" Action="None" />
<Rule Id="S2934" Action="None" />
<Rule Id="S3902" Action="None" />
<Rule Id="S4005" Action="None" />
<Rule Id="S6664" Action="None" />
<Rule Id="S3398" Action="None" />
<Rule Id="S4004" Action="None" />
<Rule Id="S6421" Action="None" />
<Rule Id="S112" Action="None" />
<Rule Id="S3397" Action="None" />
<Rule Id="S4002" Action="None" />
<Rule Id="S103" Action="None" />
<Rule Id="S4000" Action="None" />
<Rule Id="S105" Action="None" />
<Rule Id="S6420" Action="None" />
<Rule Id="S5693" Action="None" />
<Rule Id="S2183" Action="None" />
<Rule Id="S107" Action="None" />
<Rule Id="S106" Action="None" />
<Rule Id="S108" Action="None" />
<Rule Id="S6678" Action="None" />
<Rule Id="S4019" Action="None" />
<Rule Id="S4016" Action="None" />
<Rule Id="S4015" Action="None" />
<Rule Id="S4136" Action="None" />
<Rule Id="S6677" Action="None" />
<Rule Id="S2197" Action="None" />
<Rule Id="S6797" Action="None" />
<Rule Id="S2198" Action="None" />
<Rule Id="S122" Action="None" />
<Rule Id="S2077" Action="None" />
<Rule Id="S6673" Action="None" />
<Rule Id="S4225" Action="None" />
<Rule Id="S3257" Action="None" />
<Rule Id="S1199" Action="None" />
<Rule Id="S3376" Action="None" />
<Rule Id="S2166" Action="None" />
<Rule Id="S3256" Action="None" />
<Rule Id="S3253" Action="None" />
<Rule Id="S3011" Action="None" />
<Rule Id="S1075" Action="None" />
<Rule Id="S3254" Action="None" />
<Rule Id="S4586" Action="None" />
<Rule Id="S4581" Action="None" />
<Rule Id="S3251" Action="None" />
<Rule Id="S3010" Action="None" />
<Rule Id="S6640" Action="None" />
<Rule Id="S4220" Action="None" />
<Rule Id="S4583" Action="None" />
<Rule Id="S3264" Action="None" />
<Rule Id="S101" Action="None" />
<Rule Id="S3265" Action="None" />
<Rule Id="S100" Action="None" />
<Rule Id="S6419" Action="None" />
<Rule Id="S3262" Action="None" />
<Rule Id="S3263" Action="None" />
<Rule Id="S2292" Action="None" />
<Rule Id="S3260" Action="None" />
<Rule Id="S3261" Action="None" />
<Rule Id="S2290" Action="None" />
<Rule Id="S2291" Action="None" />
<Rule Id="S4047" Action="None" />
<Rule Id="S6588" Action="None" />
<Rule Id="S4041" Action="None" />
<Rule Id="S6585" Action="None" />
<Rule Id="S6580" Action="None" />
<Rule Id="S4058" Action="None" />
<Rule Id="S4056" Action="None" />
<Rule Id="S4057" Action="None" />
<Rule Id="S6354" Action="None" />
<Rule Id="S4052" Action="None" />
<Rule Id="S3059" Action="None" />
<Rule Id="S6444" Action="None" />
<Rule Id="S4144" Action="None" />
<Rule Id="S4023" Action="None" />
<Rule Id="S6566" Action="None" />
<Rule Id="S6561" Action="None" />
<Rule Id="S4261" Action="None" />
<Rule Id="S4022" Action="None" />
<Rule Id="S4143" Action="None" />
<Rule Id="S3172" Action="None" />
<Rule Id="S4260" Action="None" />
<Rule Id="S6575" Action="None" />
<Rule Id="S4035" Action="None" />
<Rule Id="S4275" Action="None" />
<Rule Id="S2094" Action="None" />
<Rule Id="S3063" Action="None" />
</Rules>
</RuleSet>
+502
View File
@@ -0,0 +1,502 @@
<?xml version="1.0" encoding="utf-8"?>
<RuleSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="Rules for SonarQube" Description="This rule set was automatically generated from SonarQube" ToolsVersion="14.0">
<Rules AnalyzerId="SonarScannerFor.NET" RuleNamespace="SonarScannerFor.NET">
<Rule Id="S4026" Action="None" />
<Rule Id="S3353" Action="None" />
<Rule Id="S7789" Action="Warning" />
<Rule Id="S7788" Action="Warning" />
<Rule Id="S8134" Action="Warning" />
<Rule Id="S2114" Action="Warning" />
<Rule Id="S3776" Action="Warning" />
<Rule Id="S4507" Action="Warning" />
<Rule Id="S5773" Action="Warning" />
<Rule Id="S4426" Action="Warning" />
<Rule Id="S6967" Action="Warning" />
<Rule Id="S5766" Action="Warning" />
<Rule Id="S1541" Action="None" />
<Rule Id="S2612" Action="Warning" />
<Rule Id="S1200" Action="None" />
<Rule Id="S138" Action="None" />
<Rule Id="S110" Action="Warning" />
<Rule Id="S104" Action="None" />
<Rule Id="S2053" Action="Warning" />
<Rule Id="S6563" Action="None" />
<Rule Id="S6562" Action="Warning" />
<Rule Id="S1312" Action="None" />
<Rule Id="S2092" Action="Warning" />
<Rule Id="S4027" Action="None" />
<Rule Id="S4049" Action="None" />
<Rule Id="S4059" Action="None" />
<Rule Id="S6399" Action="Warning" />
<Rule Id="S6173" Action="Warning" />
<Rule Id="S6639" Action="Warning" />
<Rule Id="S6680" Action="Warning" />
<Rule Id="S4050" Action="Warning" />
<Rule Id="S4039" Action="None" />
<Rule Id="S121" Action="None" />
<Rule Id="S4025" Action="None" />
<Rule Id="S2330" Action="None" />
<Rule Id="S2339" Action="None" />
<Rule Id="S2360" Action="None" />
<Rule Id="S4040" Action="None" />
<Rule Id="S3956" Action="None" />
<Rule Id="S4017" Action="None" />
<Rule Id="S6513" Action="None" />
<Rule Id="S3242" Action="None" />
<Rule Id="S4055" Action="None" />
<Rule Id="S2387" Action="None" />
<Rule Id="S1227" Action="None" />
<Rule Id="S4214" Action="None" />
<Rule Id="S4792" Action="None" />
<Rule Id="S3884" Action="None" />
<Rule Id="S3925" Action="Warning" />
<Rule Id="S3881" Action="Warning" />
<Rule Id="S3447" Action="Warning" />
<Rule Id="S1451" Action="None" />
<Rule Id="S4069" Action="None" />
<Rule Id="S113" Action="None" />
<Rule Id="S3906" Action="None" />
<Rule Id="S3937" Action="None" />
<Rule Id="S3236" Action="Warning" />
<Rule Id="S3451" Action="Warning" />
<Rule Id="S4226" Action="None" />
<Rule Id="S3900" Action="None" />
<Rule Id="S3052" Action="None" />
<Rule Id="S3343" Action="Warning" />
<Rule Id="S3992" Action="None" />
<Rule Id="S3990" Action="None" />
<Rule Id="S6803" Action="None" />
<Rule Id="S4159" Action="Warning" />
<Rule Id="S4277" Action="Warning" />
<Rule Id="S4428" Action="Warning" />
<Rule Id="S4212" Action="None" />
<Rule Id="S2221" Action="None" />
<Rule Id="S2139" Action="Warning" />
<Rule Id="S6675" Action="Warning" />
<Rule Id="S6670" Action="Warning" />
<Rule Id="S6608" Action="Warning" />
<Rule Id="S3216" Action="None" />
<Rule Id="S1135" Action="Warning" />
<Rule Id="S109" Action="None" />
<Rule Id="S7714" Action="Warning" />
<Rule Id="S3649" Action="Warning" />
<Rule Id="S6802" Action="None" />
<Rule Id="S3168" Action="Warning" />
<Rule Id="S5344" Action="Warning" />
<Rule Id="S2083" Action="Warning" />
<Rule Id="S3885" Action="Warning" />
<Rule Id="S1854" Action="Warning" />
<Rule Id="S3267" Action="Warning" />
<Rule Id="S4036" Action="Warning" />
<Rule Id="S2245" Action="Warning" />
<Rule Id="S1215" Action="Warning" />
<Rule Id="S1313" Action="Warning" />
<Rule Id="S2068" Action="Warning" />
<Rule Id="S6418" Action="Warning" />
<Rule Id="S5122" Action="Warning" />
<Rule Id="S5146" Action="Warning" />
<Rule Id="S5144" Action="Warning" />
<Rule Id="S6350" Action="Warning" />
<Rule Id="S4790" Action="Warning" />
<Rule Id="S1871" Action="Warning" />
<Rule Id="S3949" Action="Warning" />
<Rule Id="S3626" Action="Warning" />
<Rule Id="S6547" Action="Warning" />
<Rule Id="S6549" Action="Warning" />
<Rule Id="S5135" Action="Warning" />
<Rule Id="S6641" Action="Warning" />
<Rule Id="S5334" Action="Warning" />
<Rule Id="S5131" Action="Warning" />
<Rule Id="S6287" Action="Warning" />
<Rule Id="S2631" Action="Warning" />
<Rule Id="S2078" Action="Warning" />
<Rule Id="S5883" Action="Warning" />
<Rule Id="S5145" Action="Warning" />
<Rule Id="S2076" Action="Warning" />
<Rule Id="S6776" Action="Warning" />
<Rule Id="S5147" Action="Warning" />
<Rule Id="S7044" Action="Warning" />
<Rule Id="S6096" Action="Warning" />
<Rule Id="S2091" Action="Warning" />
<Rule Id="S5445" Action="Warning" />
<Rule Id="S4502" Action="Warning" />
<Rule Id="S2696" Action="Warning" />
<Rule Id="S5547" Action="Warning" />
<Rule Id="S3330" Action="Warning" />
<Rule Id="S2755" Action="Warning" />
<Rule Id="S1699" Action="Warning" />
<Rule Id="S4830" Action="Warning" />
<Rule Id="S5034" Action="Warning" />
<Rule Id="S6377" Action="Warning" />
<Rule Id="S7039" Action="Warning" />
<Rule Id="S5332" Action="Warning" />
<Rule Id="S6423" Action="None" />
<Rule Id="S2184" Action="Warning" />
<Rule Id="S6781" Action="Warning" />
<Rule Id="S5443" Action="Warning" />
<Rule Id="S1133" Action="Warning" />
<Rule Id="S7130" Action="Warning" />
<Rule Id="S2737" Action="Warning" />
<Rule Id="S2115" Action="Warning" />
<Rule Id="S2259" Action="Warning" />
<Rule Id="S2479" Action="Warning" />
<Rule Id="S1192" Action="Warning" />
<Rule Id="S1125" Action="Warning" />
<Rule Id="S7133" Action="Warning" />
<Rule Id="S7131" Action="Warning" />
<Rule Id="S4487" Action="Warning" />
<Rule Id="S2589" Action="Warning" />
<Rule Id="S2222" Action="Warning" />
<Rule Id="S2583" Action="Warning" />
<Rule Id="S1264" Action="Warning" />
<Rule Id="S3329" Action="Warning" />
<Rule Id="S3655" Action="Warning" />
<Rule Id="S3247" Action="Warning" />
<Rule Id="S1155" Action="Warning" />
<Rule Id="S2629" Action="Warning" />
<Rule Id="S3966" Action="Warning" />
<Rule Id="S1643" Action="Warning" />
<Rule Id="S125" Action="Warning" />
<Rule Id="S2930" Action="Warning" />
<Rule Id="S3169" Action="Warning" />
<Rule Id="S4347" Action="Warning" />
<Rule Id="S4158" Action="Warning" />
<Rule Id="S2325" Action="Warning" />
<Rule Id="S2201" Action="Warning" />
<Rule Id="S6932" Action="Warning" />
<Rule Id="S1751" Action="Warning" />
<Rule Id="S1764" Action="Warning" />
<Rule Id="S3981" Action="Warning" />
<Rule Id="S3433" Action="Warning" />
<Rule Id="S1147" Action="None" />
<Rule Id="S3443" Action="Warning" />
<Rule Id="S6800" Action="Warning" />
<Rule Id="S6931" Action="Warning" />
<Rule Id="S2699" Action="Warning" />
<Rule Id="S6934" Action="Warning" />
<Rule Id="S6930" Action="Warning" />
<Rule Id="S3427" Action="Warning" />
<Rule Id="S3237" Action="Warning" />
<Rule Id="S2275" Action="Warning" />
<Rule Id="S2368" Action="Warning" />
<Rule Id="S6602" Action="None" />
<Rule Id="S6964" Action="Warning" />
<Rule Id="S6603" Action="None" />
<Rule Id="S6960" Action="Warning" />
<Rule Id="S6968" Action="Warning" />
<Rule Id="S6605" Action="None" />
<Rule Id="S1048" Action="Warning" />
<Rule Id="S3464" Action="Warning" />
<Rule Id="S1309" Action="None" />
<Rule Id="S2970" Action="Warning" />
<Rule Id="S2857" Action="Warning" />
<Rule Id="S3875" Action="Warning" />
<Rule Id="S2306" Action="Warning" />
<Rule Id="S3877" Action="Warning" />
<Rule Id="S2551" Action="Warning" />
<Rule Id="S2437" Action="Warning" />
<Rule Id="S3889" Action="Warning" />
<Rule Id="S3869" Action="Warning" />
<Rule Id="S2953" Action="Warning" />
<Rule Id="S2931" Action="None" />
<Rule Id="S6668" Action="Warning" />
<Rule Id="S6667" Action="Warning" />
<Rule Id="S6669" Action="Warning" />
<Rule Id="S6422" Action="Warning" />
<Rule Id="S6424" Action="Warning" />
<Rule Id="S2187" Action="Warning" />
<Rule Id="S6674" Action="Warning" />
<Rule Id="S6798" Action="Warning" />
<Rule Id="S6672" Action="Warning" />
<Rule Id="S2190" Action="Warning" />
<Rule Id="S4462" Action="None" />
<Rule Id="S2178" Action="Warning" />
<Rule Id="S3060" Action="Warning" />
<Rule Id="S3994" Action="None" />
<Rule Id="S4018" Action="None" />
<Rule Id="S2225" Action="Warning" />
<Rule Id="S2346" Action="Warning" />
<Rule Id="S2223" Action="Warning" />
<Rule Id="S5856" Action="Warning" />
<Rule Id="S2344" Action="Warning" />
<Rule Id="S2345" Action="Warning" />
<Rule Id="S4524" Action="Warning" />
<Rule Id="S1134" Action="Warning" />
<Rule Id="S3431" Action="Warning" />
<Rule Id="S2342" Action="Warning" />
<Rule Id="S2357" Action="None" />
<Rule Id="S2234" Action="Warning" />
<Rule Id="S3444" Action="Warning" />
<Rule Id="S3445" Action="Warning" />
<Rule Id="S1144" Action="Warning" />
<Rule Id="S3442" Action="Warning" />
<Rule Id="S3440" Action="Warning" />
<Rule Id="S3441" Action="None" />
<Rule Id="S881" Action="None" />
<Rule Id="S3449" Action="Warning" />
<Rule Id="S2445" Action="Warning" />
<Rule Id="S3897" Action="Warning" />
<Rule Id="S3898" Action="None" />
<Rule Id="S2688" Action="Warning" />
<Rule Id="S3532" Action="None" />
<Rule Id="S1110" Action="Warning" />
<Rule Id="S2681" Action="Warning" />
<Rule Id="S2328" Action="Warning" />
<Rule Id="S1118" Action="Warning" />
<Rule Id="S1117" Action="Warning" />
<Rule Id="S2326" Action="Warning" />
<Rule Id="S3415" Action="Warning" />
<Rule Id="S2327" Action="None" />
<Rule Id="S1479" Action="Warning" />
<Rule Id="S3416" Action="None" />
<Rule Id="S1116" Action="Warning" />
<Rule Id="S4635" Action="Warning" />
<Rule Id="S2333" Action="None" />
<Rule Id="S1123" Action="Warning" />
<Rule Id="S1244" Action="Warning" />
<Rule Id="S1121" Action="Warning" />
<Rule Id="S2692" Action="Warning" />
<Rule Id="S2219" Action="Warning" />
<Rule Id="S1128" Action="None" />
<Rule Id="S1006" Action="Warning" />
<Rule Id="S1481" Action="Warning" />
<Rule Id="S2148" Action="None" />
<Rule Id="S3358" Action="Warning" />
<Rule Id="S3598" Action="Warning" />
<Rule Id="S3235" Action="None" />
<Rule Id="S4200" Action="Warning" />
<Rule Id="S2386" Action="Warning" />
<Rule Id="S3597" Action="Warning" />
<Rule Id="S3234" Action="None" />
<Rule Id="S4201" Action="Warning" />
<Rule Id="S6507" Action="None" />
<Rule Id="S5659" Action="Warning" />
<Rule Id="S1172" Action="Warning" />
<Rule Id="S4457" Action="None" />
<Rule Id="S4456" Action="Warning" />
<Rule Id="S3249" Action="Warning" />
<Rule Id="S3246" Action="Warning" />
<Rule Id="S3005" Action="Warning" />
<Rule Id="S4211" Action="Warning" />
<Rule Id="S1067" Action="None" />
<Rule Id="S5542" Action="Warning" />
<Rule Id="S3244" Action="Warning" />
<Rule Id="S3366" Action="None" />
<Rule Id="S2156" Action="None" />
<Rule Id="S4210" Action="Warning" />
<Rule Id="S1066" Action="Warning" />
<Rule Id="S1186" Action="Warning" />
<Rule Id="S3363" Action="Warning" />
<Rule Id="S1185" Action="Warning" />
<Rule Id="S3240" Action="None" />
<Rule Id="S3241" Action="Warning" />
<Rule Id="S3457" Action="Warning" />
<Rule Id="S4545" Action="Warning" />
<Rule Id="S3215" Action="None" />
<Rule Id="S4423" Action="Warning" />
<Rule Id="S3458" Action="Warning" />
<Rule Id="S6965" Action="Warning" />
<Rule Id="S6966" Action="Warning" />
<Rule Id="S3456" Action="Warning" />
<Rule Id="S3453" Action="Warning" />
<Rule Id="S2123" Action="Warning" />
<Rule Id="S2365" Action="Warning" />
<Rule Id="S2486" Action="Warning" />
<Rule Id="S6961" Action="Warning" />
<Rule Id="S5753" Action="Warning" />
<Rule Id="S6962" Action="Warning" />
<Rule Id="S4663" Action="Warning" />
<Rule Id="S6609" Action="Warning" />
<Rule Id="S3459" Action="Warning" />
<Rule Id="S3217" Action="Warning" />
<Rule Id="S6607" Action="Warning" />
<Rule Id="S3218" Action="Warning" />
<Rule Id="S927" Action="Warning" />
<Rule Id="S1151" Action="None" />
<Rule Id="S3450" Action="Warning" />
<Rule Id="S6613" Action="Warning" />
<Rule Id="S6612" Action="Warning" />
<Rule Id="S1168" Action="Warning" />
<Rule Id="S3466" Action="Warning" />
<Rule Id="S2257" Action="Warning" />
<Rule Id="S3346" Action="Warning" />
<Rule Id="S2376" Action="Warning" />
<Rule Id="S4433" Action="Warning" />
<Rule Id="S3220" Action="Warning" />
<Rule Id="S2252" Action="Warning" />
<Rule Id="S6610" Action="Warning" />
<Rule Id="S1163" Action="Warning" />
<Rule Id="S6617" Action="Warning" />
<Rule Id="S6618" Action="Warning" />
<Rule Id="S818" Action="Warning" />
<Rule Id="S2372" Action="Warning" />
<Rule Id="S2251" Action="Warning" />
<Rule Id="S2743" Action="Warning" />
<Rule Id="S3717" Action="None" />
<Rule Id="S1659" Action="None" />
<Rule Id="S1656" Action="Warning" />
<Rule Id="S907" Action="Warning" />
<Rule Id="S2995" Action="Warning" />
<Rule Id="S3600" Action="Warning" />
<Rule Id="S3963" Action="Warning" />
<Rule Id="S2996" Action="Warning" />
<Rule Id="S1301" Action="None" />
<Rule Id="S3962" Action="None" />
<Rule Id="S2757" Action="Warning" />
<Rule Id="S3967" Action="None" />
<Rule Id="S3604" Action="Warning" />
<Rule Id="S2997" Action="Warning" />
<Rule Id="S3603" Action="Warning" />
<Rule Id="S1994" Action="Warning" />
<Rule Id="S2971" Action="Warning" />
<Rule Id="S3996" Action="None" />
<Rule Id="S1698" Action="None" />
<Rule Id="S2302" Action="None" />
<Rule Id="S3997" Action="None" />
<Rule Id="S3876" Action="None" />
<Rule Id="S1696" Action="Warning" />
<Rule Id="S3995" Action="None" />
<Rule Id="S3874" Action="None" />
<Rule Id="S3871" Action="Warning" />
<Rule Id="S1210" Action="Warning" />
<Rule Id="S1694" Action="Warning" />
<Rule Id="S3993" Action="Warning" />
<Rule Id="S3872" Action="None" />
<Rule Id="S1450" Action="Warning" />
<Rule Id="S3998" Action="Warning" />
<Rule Id="S3878" Action="Warning" />
<Rule Id="S1104" Action="Warning" />
<Rule Id="S3887" Action="Warning" />
<Rule Id="S2674" Action="Warning" />
<Rule Id="S3400" Action="Warning" />
<Rule Id="S3880" Action="None" />
<Rule Id="S1109" Action="None" />
<Rule Id="S2436" Action="Warning" />
<Rule Id="S1226" Action="None" />
<Rule Id="S3972" Action="Warning" />
<Rule Id="S3610" Action="Warning" />
<Rule Id="S3973" Action="Warning" />
<Rule Id="S2760" Action="None" />
<Rule Id="S2761" Action="Warning" />
<Rule Id="S3971" Action="Warning" />
<Rule Id="S3984" Action="Warning" />
<Rule Id="S1449" Action="None" />
<Rule Id="S1206" Action="Warning" />
<Rule Id="S1940" Action="Warning" />
<Rule Id="S1944" Action="Warning" />
<Rule Id="S1821" Action="None" />
<Rule Id="S1939" Action="Warning" />
<Rule Id="S1905" Action="Warning" />
<Rule Id="S4061" Action="Warning" />
<Rule Id="S4060" Action="None" />
<Rule Id="S5042" Action="Warning" />
<Rule Id="S4070" Action="Warning" />
<Rule Id="S1858" Action="None" />
<Rule Id="S2701" Action="Warning" />
<Rule Id="S3909" Action="None" />
<Rule Id="S3908" Action="None" />
<Rule Id="S2952" Action="None" />
<Rule Id="S1862" Action="Warning" />
<Rule Id="S3927" Action="Warning" />
<Rule Id="S3928" Action="Warning" />
<Rule Id="S3926" Action="Warning" />
<Rule Id="S2955" Action="Warning" />
<Rule Id="S3923" Action="Warning" />
<Rule Id="S131" Action="None" />
<Rule Id="S134" Action="None" />
<Rule Id="S2925" Action="Warning" />
<Rule Id="S127" Action="Warning" />
<Rule Id="S126" Action="None" />
<Rule Id="S1607" Action="Warning" />
<Rule Id="S1848" Action="Warning" />
<Rule Id="S3903" Action="Warning" />
<Rule Id="S3904" Action="Warning" />
<Rule Id="S2933" Action="Warning" />
<Rule Id="S2934" Action="Warning" />
<Rule Id="S3902" Action="None" />
<Rule Id="S4005" Action="None" />
<Rule Id="S6664" Action="Warning" />
<Rule Id="S3398" Action="Warning" />
<Rule Id="S4004" Action="None" />
<Rule Id="S6421" Action="None" />
<Rule Id="S112" Action="Warning" />
<Rule Id="S3397" Action="Warning" />
<Rule Id="S4002" Action="None" />
<Rule Id="S103" Action="None" />
<Rule Id="S4000" Action="None" />
<Rule Id="S105" Action="None" />
<Rule Id="S6420" Action="Warning" />
<Rule Id="S5693" Action="Warning" />
<Rule Id="S2183" Action="Warning" />
<Rule Id="S107" Action="Warning" />
<Rule Id="S106" Action="None" />
<Rule Id="S108" Action="Warning" />
<Rule Id="S6678" Action="Warning" />
<Rule Id="S4019" Action="Warning" />
<Rule Id="S4016" Action="None" />
<Rule Id="S4015" Action="Warning" />
<Rule Id="S4136" Action="Warning" />
<Rule Id="S6677" Action="Warning" />
<Rule Id="S2197" Action="None" />
<Rule Id="S6797" Action="Warning" />
<Rule Id="S2198" Action="Warning" />
<Rule Id="S122" Action="None" />
<Rule Id="S2077" Action="Warning" />
<Rule Id="S6673" Action="Warning" />
<Rule Id="S4225" Action="None" />
<Rule Id="S3257" Action="None" />
<Rule Id="S1199" Action="Warning" />
<Rule Id="S3376" Action="Warning" />
<Rule Id="S2166" Action="Warning" />
<Rule Id="S3256" Action="Warning" />
<Rule Id="S3253" Action="None" />
<Rule Id="S3011" Action="Warning" />
<Rule Id="S1075" Action="Warning" />
<Rule Id="S3254" Action="None" />
<Rule Id="S4586" Action="Warning" />
<Rule Id="S4581" Action="Warning" />
<Rule Id="S3251" Action="Warning" />
<Rule Id="S3010" Action="Warning" />
<Rule Id="S6640" Action="Warning" />
<Rule Id="S4220" Action="Warning" />
<Rule Id="S4583" Action="Warning" />
<Rule Id="S3264" Action="Warning" />
<Rule Id="S101" Action="Warning" />
<Rule Id="S3265" Action="Warning" />
<Rule Id="S100" Action="None" />
<Rule Id="S6419" Action="Warning" />
<Rule Id="S3262" Action="Warning" />
<Rule Id="S3263" Action="Warning" />
<Rule Id="S2292" Action="Warning" />
<Rule Id="S3260" Action="Warning" />
<Rule Id="S3261" Action="Warning" />
<Rule Id="S2290" Action="Warning" />
<Rule Id="S2291" Action="Warning" />
<Rule Id="S4047" Action="None" />
<Rule Id="S6588" Action="Warning" />
<Rule Id="S4041" Action="None" />
<Rule Id="S6585" Action="None" />
<Rule Id="S6580" Action="Warning" />
<Rule Id="S4058" Action="None" />
<Rule Id="S4056" Action="None" />
<Rule Id="S4057" Action="None" />
<Rule Id="S6354" Action="None" />
<Rule Id="S4052" Action="Warning" />
<Rule Id="S3059" Action="None" />
<Rule Id="S6444" Action="Warning" />
<Rule Id="S4144" Action="Warning" />
<Rule Id="S4023" Action="None" />
<Rule Id="S6566" Action="None" />
<Rule Id="S6561" Action="Warning" />
<Rule Id="S4261" Action="None" />
<Rule Id="S4022" Action="None" />
<Rule Id="S4143" Action="Warning" />
<Rule Id="S3172" Action="Warning" />
<Rule Id="S4260" Action="Warning" />
<Rule Id="S6575" Action="Warning" />
<Rule Id="S4035" Action="Warning" />
<Rule Id="S4275" Action="Warning" />
<Rule Id="S2094" Action="Warning" />
<Rule Id="S3063" Action="Warning" />
</Rules>
</RuleSet>
+243
View File
@@ -0,0 +1,243 @@
<?xml version="1.0" encoding="utf-8"?>
<RuleSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="Rules for SonarQube" Description="This rule set was automatically generated from SonarQube" ToolsVersion="14.0">
<Rules AnalyzerId="SonarScannerFor.NET" RuleNamespace="SonarScannerFor.NET">
<Rule Id="S3776" Action="None" />
<Rule Id="S4507" Action="None" />
<Rule Id="S5773" Action="None" />
<Rule Id="S138" Action="None" />
<Rule Id="S104" Action="None" />
<Rule Id="S1541" Action="None" />
<Rule Id="S2612" Action="None" />
<Rule Id="S2053" Action="None" />
<Rule Id="S6563" Action="None" />
<Rule Id="S6562" Action="None" />
<Rule Id="S6547" Action="None" />
<Rule Id="S6549" Action="None" />
<Rule Id="S5135" Action="None" />
<Rule Id="S6641" Action="None" />
<Rule Id="S5334" Action="None" />
<Rule Id="S2083" Action="None" />
<Rule Id="S6287" Action="None" />
<Rule Id="S6680" Action="None" />
<Rule Id="S2631" Action="None" />
<Rule Id="S5146" Action="None" />
<Rule Id="S2078" Action="None" />
<Rule Id="S5883" Action="None" />
<Rule Id="S6399" Action="None" />
<Rule Id="S5145" Action="None" />
<Rule Id="S2076" Action="None" />
<Rule Id="S6776" Action="None" />
<Rule Id="S5147" Action="None" />
<Rule Id="S6639" Action="None" />
<Rule Id="S3649" Action="None" />
<Rule Id="S7044" Action="None" />
<Rule Id="S5144" Action="None" />
<Rule Id="S6350" Action="None" />
<Rule Id="S6173" Action="None" />
<Rule Id="S6096" Action="None" />
<Rule Id="S2091" Action="None" />
<Rule Id="S4036" Action="None" />
<Rule Id="S4792" Action="None" />
<Rule Id="S2068" Action="None" />
<Rule Id="S6418" Action="None" />
<Rule Id="S1313" Action="None" />
<Rule Id="S4790" Action="None" />
<Rule Id="S3949" Action="None" />
<Rule Id="S5445" Action="None" />
<Rule Id="S5547" Action="None" />
<Rule Id="S5443" Action="None" />
<Rule Id="S4830" Action="None" />
<Rule Id="S1135" Action="None" />
<Rule Id="S1133" Action="None" />
<Rule Id="S7133" Action="None" />
<Rule Id="S7131" Action="None" />
<Rule Id="S3385" Action="None" />
<Rule Id="S2589" Action="None" />
<Rule Id="S2222" Action="None" />
<Rule Id="S2583" Action="None" />
<Rule Id="S3329" Action="None" />
<Rule Id="S3655" Action="None" />
<Rule Id="S7130" Action="None" />
<Rule Id="S2259" Action="None" />
<Rule Id="S3900" Action="None" />
<Rule Id="S3966" Action="None" />
<Rule Id="S4158" Action="None" />
<Rule Id="S2077" Action="None" />
<Rule Id="S1751" Action="None" />
<Rule Id="S1764" Action="None" />
<Rule Id="S1451" Action="None" />
<Rule Id="S3981" Action="None" />
<Rule Id="S1147" Action="None" />
<Rule Id="S6931" Action="None" />
<Rule Id="S6930" Action="None" />
<Rule Id="S2387" Action="None" />
<Rule Id="S2368" Action="None" />
<Rule Id="S6602" Action="None" />
<Rule Id="S6603" Action="None" />
<Rule Id="S6605" Action="None" />
<Rule Id="S1048" Action="None" />
<Rule Id="S3464" Action="None" />
<Rule Id="S2178" Action="None" />
<Rule Id="S3884" Action="None" />
<Rule Id="S2551" Action="None" />
<Rule Id="S2437" Action="None" />
<Rule Id="S3889" Action="None" />
<Rule Id="S4159" Action="None" />
<Rule Id="S3869" Action="None" />
<Rule Id="S2225" Action="None" />
<Rule Id="S2346" Action="None" />
<Rule Id="S2347" Action="None" />
<Rule Id="S5856" Action="None" />
<Rule Id="S2344" Action="None" />
<Rule Id="S2345" Action="None" />
<Rule Id="S1134" Action="None" />
<Rule Id="S2342" Action="None" />
<Rule Id="S3431" Action="None" />
<Rule Id="S6146" Action="None" />
<Rule Id="S2343" Action="None" />
<Rule Id="S2340" Action="None" />
<Rule Id="S2348" Action="None" />
<Rule Id="S2349" Action="None" />
<Rule Id="S6145" Action="None" />
<Rule Id="S2357" Action="None" />
<Rule Id="S1940" Action="None" />
<Rule Id="S2358" Action="None" />
<Rule Id="S2234" Action="None" />
<Rule Id="S2355" Action="None" />
<Rule Id="S2354" Action="None" />
<Rule Id="S2352" Action="None" />
<Rule Id="S1944" Action="None" />
<Rule Id="S1821" Action="None" />
<Rule Id="S2359" Action="None" />
<Rule Id="S3449" Action="None" />
<Rule Id="S3898" Action="None" />
<Rule Id="S1110" Action="None" />
<Rule Id="S1479" Action="None" />
<Rule Id="S4060" Action="None" />
<Rule Id="S1125" Action="None" />
<Rule Id="S1123" Action="None" />
<Rule Id="S2692" Action="None" />
<Rule Id="S2339" Action="None" />
<Rule Id="S1481" Action="None" />
<Rule Id="S5042" Action="None" />
<Rule Id="S3358" Action="None" />
<Rule Id="S3598" Action="None" />
<Rule Id="S4201" Action="None" />
<Rule Id="S5659" Action="None" />
<Rule Id="S1172" Action="None" />
<Rule Id="S2951" Action="None" />
<Rule Id="S6513" Action="None" />
<Rule Id="S1862" Action="None" />
<Rule Id="S1067" Action="None" />
<Rule Id="S5542" Action="None" />
<Rule Id="S4210" Action="None" />
<Rule Id="S1066" Action="None" />
<Rule Id="S1186" Action="None" />
<Rule Id="S3363" Action="None" />
<Rule Id="S3927" Action="None" />
<Rule Id="S3926" Action="None" />
<Rule Id="S3923" Action="None" />
<Rule Id="S4545" Action="None" />
<Rule Id="S4423" Action="None" />
<Rule Id="S2369" Action="None" />
<Rule Id="S2366" Action="None" />
<Rule Id="S2367" Action="None" />
<Rule Id="S2364" Action="None" />
<Rule Id="S1155" Action="None" />
<Rule Id="S3453" Action="None" />
<Rule Id="S131" Action="None" />
<Rule Id="S2365" Action="None" />
<Rule Id="S2362" Action="None" />
<Rule Id="S5753" Action="None" />
<Rule Id="S134" Action="None" />
<Rule Id="S2363" Action="None" />
<Rule Id="S4663" Action="None" />
<Rule Id="S6609" Action="None" />
<Rule Id="S2925" Action="None" />
<Rule Id="S4428" Action="None" />
<Rule Id="S6608" Action="None" />
<Rule Id="S6607" Action="None" />
<Rule Id="S927" Action="None" />
<Rule Id="S1151" Action="None" />
<Rule Id="S2360" Action="None" />
<Rule Id="S126" Action="None" />
<Rule Id="S6613" Action="None" />
<Rule Id="S6612" Action="None" />
<Rule Id="S3466" Action="None" />
<Rule Id="S2257" Action="None" />
<Rule Id="S2375" Action="None" />
<Rule Id="S2376" Action="None" />
<Rule Id="S2373" Action="None" />
<Rule Id="S6610" Action="None" />
<Rule Id="S2374" Action="None" />
<Rule Id="S1163" Action="None" />
<Rule Id="S3903" Action="None" />
<Rule Id="S3904" Action="None" />
<Rule Id="S6617" Action="None" />
<Rule Id="S2372" Action="None" />
<Rule Id="S2370" Action="None" />
<Rule Id="S139" Action="None" />
<Rule Id="S1654" Action="None" />
<Rule Id="S112" Action="None" />
<Rule Id="S1659" Action="None" />
<Rule Id="S1656" Action="None" />
<Rule Id="S907" Action="None" />
<Rule Id="S103" Action="None" />
<Rule Id="S105" Action="None" />
<Rule Id="S5693" Action="None" />
<Rule Id="S107" Action="None" />
<Rule Id="S108" Action="None" />
<Rule Id="S1301" Action="None" />
<Rule Id="S1542" Action="None" />
<Rule Id="S4136" Action="None" />
<Rule Id="S122" Action="None" />
<Rule Id="S2757" Action="None" />
<Rule Id="S3603" Action="None" />
<Rule Id="S114" Action="None" />
<Rule Id="S117" Action="None" />
<Rule Id="S119" Action="None" />
<Rule Id="S4225" Action="None" />
<Rule Id="S1871" Action="None" />
<Rule Id="S2166" Action="None" />
<Rule Id="S3011" Action="None" />
<Rule Id="S1197" Action="None" />
<Rule Id="S1075" Action="None" />
<Rule Id="S4586" Action="None" />
<Rule Id="S4581" Action="None" />
<Rule Id="S4583" Action="None" />
<Rule Id="S1192" Action="None" />
<Rule Id="S1643" Action="None" />
<Rule Id="S101" Action="None" />
<Rule Id="S2737" Action="None" />
<Rule Id="S1645" Action="None" />
<Rule Id="S2302" Action="None" />
<Rule Id="S3992" Action="None" />
<Rule Id="S3871" Action="None" />
<Rule Id="S3990" Action="None" />
<Rule Id="S6588" Action="None" />
<Rule Id="S2429" Action="None" />
<Rule Id="S2304" Action="None" />
<Rule Id="S3998" Action="None" />
<Rule Id="S3878" Action="None" />
<Rule Id="S6585" Action="None" />
<Rule Id="S6580" Action="None" />
<Rule Id="S5944" Action="None" />
<Rule Id="S1226" Action="None" />
<Rule Id="S6354" Action="None" />
<Rule Id="S6444" Action="None" />
<Rule Id="S4025" Action="None" />
<Rule Id="S2761" Action="None" />
<Rule Id="S4144" Action="None" />
<Rule Id="S6566" Action="None" />
<Rule Id="S6561" Action="None" />
<Rule Id="S4143" Action="None" />
<Rule Id="S4260" Action="None" />
<Rule Id="S3860" Action="None" />
<Rule Id="S4277" Action="None" />
<Rule Id="S6575" Action="None" />
<Rule Id="S3866" Action="None" />
<Rule Id="S4275" Action="None" />
<Rule Id="S2094" Action="None" />
<Rule Id="S3063" Action="None" />
</Rules>
</RuleSet>
+243
View File
@@ -0,0 +1,243 @@
<?xml version="1.0" encoding="utf-8"?>
<RuleSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="Rules for SonarQube" Description="This rule set was automatically generated from SonarQube" ToolsVersion="14.0">
<Rules AnalyzerId="SonarScannerFor.NET" RuleNamespace="SonarScannerFor.NET">
<Rule Id="S3776" Action="Warning" />
<Rule Id="S4507" Action="Warning" />
<Rule Id="S5773" Action="Warning" />
<Rule Id="S138" Action="None" />
<Rule Id="S104" Action="None" />
<Rule Id="S1541" Action="None" />
<Rule Id="S2612" Action="Warning" />
<Rule Id="S2053" Action="Warning" />
<Rule Id="S6563" Action="None" />
<Rule Id="S6562" Action="Warning" />
<Rule Id="S6547" Action="Warning" />
<Rule Id="S6549" Action="Warning" />
<Rule Id="S5135" Action="Warning" />
<Rule Id="S6641" Action="Warning" />
<Rule Id="S5334" Action="Warning" />
<Rule Id="S2083" Action="Warning" />
<Rule Id="S6287" Action="Warning" />
<Rule Id="S6680" Action="Warning" />
<Rule Id="S2631" Action="Warning" />
<Rule Id="S5146" Action="Warning" />
<Rule Id="S2078" Action="Warning" />
<Rule Id="S5883" Action="Warning" />
<Rule Id="S6399" Action="Warning" />
<Rule Id="S5145" Action="Warning" />
<Rule Id="S2076" Action="Warning" />
<Rule Id="S6776" Action="Warning" />
<Rule Id="S5147" Action="Warning" />
<Rule Id="S6639" Action="Warning" />
<Rule Id="S3649" Action="Warning" />
<Rule Id="S7044" Action="Warning" />
<Rule Id="S5144" Action="Warning" />
<Rule Id="S6350" Action="Warning" />
<Rule Id="S6173" Action="Warning" />
<Rule Id="S6096" Action="Warning" />
<Rule Id="S2091" Action="Warning" />
<Rule Id="S4036" Action="Warning" />
<Rule Id="S4792" Action="None" />
<Rule Id="S2068" Action="Warning" />
<Rule Id="S6418" Action="Warning" />
<Rule Id="S1313" Action="Warning" />
<Rule Id="S4790" Action="Warning" />
<Rule Id="S3949" Action="Warning" />
<Rule Id="S5445" Action="Warning" />
<Rule Id="S5547" Action="Warning" />
<Rule Id="S5443" Action="Warning" />
<Rule Id="S4830" Action="Warning" />
<Rule Id="S1135" Action="Warning" />
<Rule Id="S1133" Action="Warning" />
<Rule Id="S7133" Action="Warning" />
<Rule Id="S7131" Action="Warning" />
<Rule Id="S3385" Action="Warning" />
<Rule Id="S2589" Action="Warning" />
<Rule Id="S2222" Action="Warning" />
<Rule Id="S2583" Action="Warning" />
<Rule Id="S3329" Action="Warning" />
<Rule Id="S3655" Action="Warning" />
<Rule Id="S7130" Action="Warning" />
<Rule Id="S2259" Action="Warning" />
<Rule Id="S3900" Action="None" />
<Rule Id="S3966" Action="Warning" />
<Rule Id="S4158" Action="Warning" />
<Rule Id="S2077" Action="Warning" />
<Rule Id="S1751" Action="Warning" />
<Rule Id="S1764" Action="Warning" />
<Rule Id="S1451" Action="None" />
<Rule Id="S3981" Action="Warning" />
<Rule Id="S1147" Action="None" />
<Rule Id="S6931" Action="Warning" />
<Rule Id="S6930" Action="Warning" />
<Rule Id="S2387" Action="None" />
<Rule Id="S2368" Action="Warning" />
<Rule Id="S6602" Action="None" />
<Rule Id="S6603" Action="None" />
<Rule Id="S6605" Action="None" />
<Rule Id="S1048" Action="Warning" />
<Rule Id="S3464" Action="Warning" />
<Rule Id="S2178" Action="Warning" />
<Rule Id="S3884" Action="None" />
<Rule Id="S2551" Action="Warning" />
<Rule Id="S2437" Action="Warning" />
<Rule Id="S3889" Action="Warning" />
<Rule Id="S4159" Action="Warning" />
<Rule Id="S3869" Action="Warning" />
<Rule Id="S2225" Action="Warning" />
<Rule Id="S2346" Action="Warning" />
<Rule Id="S2347" Action="Warning" />
<Rule Id="S5856" Action="Warning" />
<Rule Id="S2344" Action="Warning" />
<Rule Id="S2345" Action="Warning" />
<Rule Id="S1134" Action="Warning" />
<Rule Id="S2342" Action="Warning" />
<Rule Id="S3431" Action="Warning" />
<Rule Id="S6146" Action="Warning" />
<Rule Id="S2343" Action="None" />
<Rule Id="S2340" Action="Warning" />
<Rule Id="S2348" Action="None" />
<Rule Id="S2349" Action="Warning" />
<Rule Id="S6145" Action="Warning" />
<Rule Id="S2357" Action="None" />
<Rule Id="S1940" Action="Warning" />
<Rule Id="S2358" Action="Warning" />
<Rule Id="S2234" Action="Warning" />
<Rule Id="S2355" Action="Warning" />
<Rule Id="S2354" Action="None" />
<Rule Id="S2352" Action="Warning" />
<Rule Id="S1944" Action="Warning" />
<Rule Id="S1821" Action="None" />
<Rule Id="S2359" Action="Warning" />
<Rule Id="S3449" Action="Warning" />
<Rule Id="S3898" Action="None" />
<Rule Id="S1110" Action="Warning" />
<Rule Id="S1479" Action="Warning" />
<Rule Id="S4060" Action="None" />
<Rule Id="S1125" Action="Warning" />
<Rule Id="S1123" Action="Warning" />
<Rule Id="S2692" Action="Warning" />
<Rule Id="S2339" Action="None" />
<Rule Id="S1481" Action="Warning" />
<Rule Id="S5042" Action="Warning" />
<Rule Id="S3358" Action="Warning" />
<Rule Id="S3598" Action="Warning" />
<Rule Id="S4201" Action="Warning" />
<Rule Id="S5659" Action="Warning" />
<Rule Id="S1172" Action="Warning" />
<Rule Id="S2951" Action="Warning" />
<Rule Id="S6513" Action="None" />
<Rule Id="S1862" Action="Warning" />
<Rule Id="S1067" Action="None" />
<Rule Id="S5542" Action="Warning" />
<Rule Id="S4210" Action="Warning" />
<Rule Id="S1066" Action="Warning" />
<Rule Id="S1186" Action="Warning" />
<Rule Id="S3363" Action="Warning" />
<Rule Id="S3927" Action="Warning" />
<Rule Id="S3926" Action="Warning" />
<Rule Id="S3923" Action="Warning" />
<Rule Id="S4545" Action="Warning" />
<Rule Id="S4423" Action="Warning" />
<Rule Id="S2369" Action="None" />
<Rule Id="S2366" Action="None" />
<Rule Id="S2367" Action="None" />
<Rule Id="S2364" Action="None" />
<Rule Id="S1155" Action="Warning" />
<Rule Id="S3453" Action="Warning" />
<Rule Id="S131" Action="None" />
<Rule Id="S2365" Action="Warning" />
<Rule Id="S2362" Action="None" />
<Rule Id="S5753" Action="Warning" />
<Rule Id="S134" Action="None" />
<Rule Id="S2363" Action="None" />
<Rule Id="S4663" Action="Warning" />
<Rule Id="S6609" Action="Warning" />
<Rule Id="S2925" Action="Warning" />
<Rule Id="S4428" Action="Warning" />
<Rule Id="S6608" Action="Warning" />
<Rule Id="S6607" Action="Warning" />
<Rule Id="S927" Action="Warning" />
<Rule Id="S1151" Action="None" />
<Rule Id="S2360" Action="None" />
<Rule Id="S126" Action="None" />
<Rule Id="S6613" Action="Warning" />
<Rule Id="S6612" Action="Warning" />
<Rule Id="S3466" Action="Warning" />
<Rule Id="S2257" Action="Warning" />
<Rule Id="S2375" Action="Warning" />
<Rule Id="S2376" Action="Warning" />
<Rule Id="S2373" Action="None" />
<Rule Id="S6610" Action="Warning" />
<Rule Id="S2374" Action="None" />
<Rule Id="S1163" Action="Warning" />
<Rule Id="S3903" Action="Warning" />
<Rule Id="S3904" Action="Warning" />
<Rule Id="S6617" Action="Warning" />
<Rule Id="S2372" Action="Warning" />
<Rule Id="S2370" Action="None" />
<Rule Id="S139" Action="None" />
<Rule Id="S1654" Action="Warning" />
<Rule Id="S112" Action="Warning" />
<Rule Id="S1659" Action="None" />
<Rule Id="S1656" Action="Warning" />
<Rule Id="S907" Action="Warning" />
<Rule Id="S103" Action="None" />
<Rule Id="S105" Action="None" />
<Rule Id="S5693" Action="Warning" />
<Rule Id="S107" Action="Warning" />
<Rule Id="S108" Action="Warning" />
<Rule Id="S1301" Action="None" />
<Rule Id="S1542" Action="Warning" />
<Rule Id="S4136" Action="Warning" />
<Rule Id="S122" Action="None" />
<Rule Id="S2757" Action="Warning" />
<Rule Id="S3603" Action="Warning" />
<Rule Id="S114" Action="Warning" />
<Rule Id="S117" Action="Warning" />
<Rule Id="S119" Action="None" />
<Rule Id="S4225" Action="None" />
<Rule Id="S1871" Action="Warning" />
<Rule Id="S2166" Action="Warning" />
<Rule Id="S3011" Action="Warning" />
<Rule Id="S1197" Action="None" />
<Rule Id="S1075" Action="Warning" />
<Rule Id="S4586" Action="Warning" />
<Rule Id="S4581" Action="Warning" />
<Rule Id="S4583" Action="Warning" />
<Rule Id="S1192" Action="Warning" />
<Rule Id="S1643" Action="Warning" />
<Rule Id="S101" Action="Warning" />
<Rule Id="S2737" Action="Warning" />
<Rule Id="S1645" Action="Warning" />
<Rule Id="S2302" Action="None" />
<Rule Id="S3992" Action="None" />
<Rule Id="S3871" Action="Warning" />
<Rule Id="S3990" Action="None" />
<Rule Id="S6588" Action="Warning" />
<Rule Id="S2429" Action="None" />
<Rule Id="S2304" Action="Warning" />
<Rule Id="S3998" Action="Warning" />
<Rule Id="S3878" Action="Warning" />
<Rule Id="S6585" Action="None" />
<Rule Id="S6580" Action="Warning" />
<Rule Id="S5944" Action="Warning" />
<Rule Id="S1226" Action="None" />
<Rule Id="S6354" Action="None" />
<Rule Id="S6444" Action="Warning" />
<Rule Id="S4025" Action="None" />
<Rule Id="S2761" Action="Warning" />
<Rule Id="S4144" Action="Warning" />
<Rule Id="S6566" Action="None" />
<Rule Id="S6561" Action="Warning" />
<Rule Id="S4143" Action="Warning" />
<Rule Id="S4260" Action="Warning" />
<Rule Id="S3860" Action="None" />
<Rule Id="S4277" Action="Warning" />
<Rule Id="S6575" Action="Warning" />
<Rule Id="S3866" Action="None" />
<Rule Id="S4275" Action="Warning" />
<Rule Id="S2094" Action="Warning" />
<Rule Id="S3063" Action="Warning" />
</Rules>
</RuleSet>
+279
View File
@@ -0,0 +1,279 @@
<?xml version="1.0" encoding="utf-8"?>
<AnalysisConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sonarsource.com/msbuild/integration/2015/1">
<SonarConfigDir>/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf</SonarConfigDir>
<SonarOutputDir>/Users/mihakralj/Github/QuanTAlib/.sonarqube/out</SonarOutputDir>
<SonarBinDir>/Users/mihakralj/Github/QuanTAlib/.sonarqube/bin</SonarBinDir>
<SonarScannerWorkingDirectory>/Users/mihakralj/Github/QuanTAlib</SonarScannerWorkingDirectory>
<JavaExePath>/Users/mihakralj/.sonar/cache/003d3e0a65a2f0633b8bfed42be133724b490acb323c174c708d3a446d5fc660/OpenJDK17U-jre_aarch64_mac_hotspot_17.0.11_9.tar.gz_extracted/jdk-17.0.11+9-jre/Contents/Home/bin/java</JavaExePath>
<EngineJarPath>/Users/mihakralj/.sonar/cache/57e3db253d03d633e07e01f1474cce196081b805c9a4292f0efe099f65db6161/sonarcloud-scanner-engine-12.9.0.1243-all.jar</EngineJarPath>
<UseSonarScannerCli>false</UseSonarScannerCli>
<ScanAllAnalysis>true</ScanAllAnalysis>
<HasBeginStepCommandLineCredentials>true</HasBeginStepCommandLineCredentials>
<HasBeginStepCommandLineTruststorePassword>false</HasBeginStepCommandLineTruststorePassword>
<SonarQubeHostUrl>https://sonarcloud.io</SonarQubeHostUrl>
<SonarQubeVersion>8.0.0.76937</SonarQubeVersion>
<SonarProjectKey>mihakralj_QuanTAlib</SonarProjectKey>
<AdditionalConfig>
<ConfigSetting Id="BuildUri" />
<ConfigSetting Id="TfsUri" />
<ConfigSetting Id="VsCoverageConverterToolPath" />
<ConfigSetting Id="UnchangedFilesPath" />
<ConfigSetting Id="sonar.pullrequest.cache.basepath" Value="/Users/mihakralj/Github/QuanTAlib" />
<ConfigSetting Id="settings.file.path" Value="/Users/mihakralj/.dotnet/tools/.store/dotnet-sonarscanner/11.0.0/dotnet-sonarscanner/11.0.0/tools/netcoreapp3.1/any/SonarQube.Analysis.xml" />
</AdditionalConfig>
<ServerSettings>
<Property Name="sonar.project.monorepo.enabled">false</Property>
<Property Name="sonaranalyzer.security.cs.pluginVersion">11.12.0.40973</Property>
<Property Name="sonar.cs.ignoreHeaderComments">true</Property>
<Property Name="sonar.c.file.suffixes">.c,.h</Property>
<Property Name="sonar.typescript.file.suffixes">.ts,.tsx,.cts,.mts</Property>
<Property Name="sonar.dre.enabled">true</Property>
<Property Name="sonar.cobol.dialect">ibm-enterprise-cobol</Property>
<Property Name="sonar.vbnet.analyzer.security.pluginVersion">11.12.0.40973</Property>
<Property Name="sonar.locationChecksums">true</Property>
<Property Name="email.fromName">SonarCloud</Property>
<Property Name="block_project_provisioning_subscription_type">DISABLED</Property>
<Property Name="sonar.python.xunit.skipDetails">false</Property>
<Property Name="sonar.ipynb.file.suffixes">ipynb</Property>
<Property Name="sonar.plsql.jdbc.driver.class">oracle.jdbc.OracleDriver</Property>
<Property Name="sonar.pullrequest.github.summary_comment">true</Property>
<Property Name="sonar.go.exclusions">**/vendor/**</Property>
<Property Name="sonar.terraform.file.suffixes">.tf</Property>
<Property Name="sonar.forceAuthentication">false</Property>
<Property Name="sonar.notifications.delay">60</Property>
<Property Name="sonar.cpp.file.suffixes">.cc,.cpp,.cxx,.c++,.hh,.hpp,.hxx,.h++,.ipp,.ixx,.mxx,.cppm,.ccm,.cxxm,.c++m</Property>
<Property Name="sonar.jcl.file.suffixes">.jcl</Property>
<Property Name="sonar.rust.file.suffixes">.rs</Property>
<Property Name="sonaranalyzer-cs.ruleNamespace">SonarAnalyzer.Enterprise.CSharp</Property>
<Property Name="sonar.pli.extralingualCharacters">#@$</Property>
<Property Name="sonar.cs.analyzeGeneratedCode">false</Property>
<Property Name="sonar.azureresourcemanager.file.identifier">https://schema.management.azure.com/schemas/,http://schema.management.azure.com/schemas/</Property>
<Property Name="sonar.java.jvmframeworkconfig.file.patterns">**/src/main/resources/**/*app*.properties,**/src/main/resources/**/*app*.yaml,**/src/main/resources/**/*app*.yml</Property>
<Property Name="sonar.builtInQualityProfiles.disableNotificationOnUpdate">false</Property>
<Property Name="sonar.css.file.suffixes">.css,.less,.scss,.sass</Property>
<Property Name="sonar.vbnet.analyzer.security.pluginKey">securityvbnetfrontend</Property>
<Property Name="sonar.organizations.createPersonalOrg">true</Property>
<Property Name="sonar.cpd.abap.minimumTokens">100</Property>
<Property Name="sonar.docker.file.patterns">Dockerfile,*.dockerfile</Property>
<Property Name="sonar.html.file.suffixes">.html,.xhtml,.cshtml,.vbhtml,.aspx,.ascx,.rhtml,.erb,.shtm,.shtml,.cmp,.twig</Property>
<Property Name="sonar.vb.file.suffixes">.bas,.frm,.ctl</Property>
<Property Name="sonar.vbnet.ignoreHeaderComments">true</Property>
<Property Name="sonar.rpg.leftMarginWidth">12</Property>
<Property Name="sonar.scanner.force-deprecated-java-version">false</Property>
<Property Name="sonar.vbnet.analyzer.dotnet.pluginKey">vbnetenterprise</Property>
<Property Name="sonar.scala.file.suffixes">.scala</Property>
<Property Name="sonar.cobol.byteBasedColumnCount">false</Property>
<Property Name="sonar.cloudformation.activate">true</Property>
<Property Name="sonar.pli.marginRight">72</Property>
<Property Name="sonar.dre.apex.activate">true</Property>
<Property Name="sonar.cs.analyzer.architecture.staticResourceName">SonarAnalyzer.Architecture-2.11.0.7399.zip</Property>
<Property Name="sonar.apex.file.suffixes">.cls,.trigger</Property>
<Property Name="sonaranalyzer-vbnet.ruleNamespace">SonarAnalyzer.Enterprise.VisualBasic</Property>
<Property Name="sonar.cloudformation.file.identifier">AWSTemplateFormatVersion</Property>
<Property Name="sonar.javascript.ignoreHeaderComments">true</Property>
<Property Name="sonar.dbcleaner.daysBeforeDeletingClosedIssues">30</Property>
<Property Name="sonar.java.enablePreview">False</Property>
<Property Name="sonar.dbcleaner.weeksBeforeKeepingOnlyOneSnapshotByMonth">4</Property>
<Property Name="sonar.lf.gravatarServerUrl">https://secure.gravatar.com/avatar/{EMAIL_MD5}.jpg?s={SIZE}&amp;d=identicon</Property>
<Property Name="sonar.cs.analyzer.security.pluginVersion">11.12.0.40973</Property>
<Property Name="publish_data_events">true</Property>
<Property Name="sonar.cobol.sourceFormat">fixed</Property>
<Property Name="sonar.notifications.runningDelayBeforeReportingStatus">600</Property>
<Property Name="sonar.jsp.file.suffixes">.jsp,.jspf,.jspx</Property>
<Property Name="sonar.pli.ignoreHeaderComments">true</Property>
<Property Name="sonar.javascript.maxFileSize">1000</Property>
<Property Name="sonar.javascript.environments">amd,applescript,atomtest,browser,commonjs,embertest,greasemonkey,jasmine,jest,jquery,meteor,mocha,mongo,nashorn,node,phantomjs,prototypejs,protractor,qunit,serviceworker,shared-node-browser,shelljs,webextensions,worker</Property>
<Property Name="sonar.scm.disabled">false</Property>
<Property Name="sonar.ruby.exclusions">**/vendor/**</Property>
<Property Name="sonar.dart.file.suffixes">.dart</Property>
<Property Name="sonar.ansible.activate">true</Property>
<Property Name="sonar.vbnet.file.suffixes">.vb</Property>
<Property Name="sonar.cs.analyzer.security.staticResourceName">SonarAnalyzer.Security.CSharp-11.12.0.40973.zip</Property>
<Property Name="sonar.sensor.cache.project.enable">true</Property>
<Property Name="sonar.rpg.file.suffixes">.rpg,.rpgle,.sqlrpgle,.RPG,.RPGLE,.SQLRPGLE</Property>
<Property Name="sonar.cobol.adaprep.activation">false</Property>
<Property Name="sonar.abap.file.suffixes">.abap,.ab4,.flow,.asprog</Property>
<Property Name="sonar.cfamily.ignoreHeaderComments">true</Property>
<Property Name="sonar.vbnet.analyzer.dotnet.pluginVersion">10.16.0.128591</Property>
<Property Name="sonar.technicalDebt.developmentCost">30</Property>
<Property Name="sonar.python.file.suffixes">py</Property>
<Property Name="sonar.cs.file.suffixes">.cs,.razor</Property>
<Property Name="sonar.plsql.file.suffixes">sql,tab,pkb</Property>
<Property Name="sonaranalyzer.security.cs.ruleNamespace">SonarAnalyzer.Security.CSharp</Property>
<Property Name="sonar.cobol.tab.width">8</Property>
<Property Name="sonar.rust.clippy.offline">false</Property>
<Property Name="sonaranalyzer-vbnet.staticResourceName">SonarAnalyzer-vbnetenterprise-10.16.0.128591.zip</Property>
<Property Name="sonar.text.inclusions.activate">true</Property>
<Property Name="sonar.githubactions.activate">true</Property>
<Property Name="sonar.java.file.suffixes">.java,.jav</Property>
<Property Name="sonar.kotlin.file.suffixes">.kt,.kts</Property>
<Property Name="sonar.php.file.suffixes">php,php3,php4,php5,phtml,inc</Property>
<Property Name="sonar.xml.file.suffixes">.xml,.xsd,.xsl,.config</Property>
<Property Name="sonar.dbcleaner.weeksBeforeDeletingAllSnapshots">260</Property>
<Property Name="sonar.azureresourcemanager.activate">true</Property>
<Property Name="sonar.shell.activate">true</Property>
<Property Name="sonar.dre.ruby.activate">true</Property>
<Property Name="sonar.python.coverage.reportPaths">coverage-reports/*coverage-*.xml</Property>
<Property Name="sonar.sensor.cache.enable">true</Property>
<Property Name="sonar.text.activate">true</Property>
<Property Name="sonar.go.file.suffixes">.go</Property>
<Property Name="sonar.cpd.cobol.minimumLines">30</Property>
<Property Name="sonar.cobol.exec.recoveryMode">true</Property>
<Property Name="block_report_submission_subscription_type">DISABLED</Property>
<Property Name="sonar.cs.analyzeRazorCode">true</Property>
<Property Name="sonar.dbcleaner.weeksBeforeKeepingOnlyAnalysesWithVersion">104</Property>
<Property Name="sonar.yaml.activate">true</Property>
<Property Name="sonar.php.exclusions">**/vendor/**</Property>
<Property Name="sonar.plugins.loadAll">false</Property>
<Property Name="sonar.rust.clippy.enabled">true</Property>
<Property Name="sonar.swift.file.suffixes">.swift</Property>
<Property Name="sonar.vbnet.roslyn.ignoreIssues">false</Property>
<Property Name="sonar.plsql.ignoreHeaderComments">false</Property>
<Property Name="sonar.flex.file.suffixes">as</Property>
<Property Name="sonar.json.activate">true</Property>
<Property Name="sonar.filesize.limit">20</Property>
<Property Name="sonar.ruby.file.suffixes">.rb</Property>
<Property Name="sonar.kubernetes.helm.activate">true</Property>
<Property Name="sonar.python.xunit.reportPath">xunit-reports/xunit-result-*.xml</Property>
<Property Name="sonar.pli.marginLeft">2</Property>
<Property Name="sonar.javascript.globals">angular,goog,google,OpenLayers,d3,dojo,dojox,dijit,Backbone,moment,casper,_,sap</Property>
<Property Name="sonar.enableIssueAnnotation">true</Property>
<Property Name="sonar.dbcleaner.hoursBeforeKeepingOnlyOneSnapshotByDay">24</Property>
<Property Name="sonar.yaml.file.suffixes">.yaml,.yml</Property>
<Property Name="sonar.cs.analyzer.architecture.pluginKey">architecturecsharpfrontend</Property>
<Property Name="sonar.terraform.activate">true</Property>
<Property Name="sonar.php.frameworkDetection">true</Property>
<Property Name="sonar.enableAiPrSummary">false</Property>
<Property Name="sonar.architecture.config.model">Model is not configured.</Property>
<Property Name="sonar.cs.analyzer.dotnet.pluginVersion">10.16.0.128591</Property>
<Property Name="email.from">noreply@sonarcloud.io</Property>
<Property Name="sonaranalyzer-vbnet.pluginVersion">10.16.0.128591</Property>
<Property Name="sonaranalyzer.security.cs.analyzerId">SonarAnalyzer.Security.CSharp</Property>
<Property Name="sonar.dbcleaner.weeksBeforeKeepingOnlyOneSnapshotByWeek">1</Property>
<Property Name="sonaranalyzer-vbnet.analyzerId">SonarAnalyzer.Enterprise.VisualBasic</Property>
<Property Name="email.prefix">[SonarCloud]</Property>
<Property Name="sonar.cs.roslyn.ignoreIssues">false</Property>
<Property Name="sonaranalyzer-cs.pluginKey">csharpenterprise</Property>
<Property Name="sonar.dre.go.activate">true</Property>
<Property Name="sonar.kubernetes.activate">true</Property>
<Property Name="sonar.cpd.cobol.minimumTokens">100</Property>
<Property Name="sonar.java.ignoreUnnamedModuleForSplitPackage">False</Property>
<Property Name="sonar.vbnet.analyzer.dotnet.staticResourceName">SonarAnalyzer-vbnetenterprise-10.16.0.128591.zip</Property>
<Property Name="sonar.json.file.suffixes">.json</Property>
<Property Name="sonaranalyzer.security.cs.pluginKey">securitycsharpfrontend</Property>
<Property Name="sonar.sca.enabled">true</Property>
<Property Name="sonar.vb.ignoreHeaderComments">true</Property>
<Property Name="sonar.vbnet.analyzer.security.staticResourceName">SonarAnalyzer.Security.VisualBasic-11.12.0.40973.zip</Property>
<Property Name="sonar.branch.longLivedBranches.regex">(branch|release)-.*</Property>
<Property Name="sonar.objc.file.suffixes">.m</Property>
<Property Name="sonar.autoscan.enabled">false</Property>
<Property Name="sonar.ruby.coverage.reportPaths">coverage/.resultset.json</Property>
<Property Name="sonar.text.inclusions">**/*.sh,**/*.bash,**/*.zsh,**/*.ksh,**/*.ps1,**/*.properties,**/*.conf,**/*.pem,**/*.config,.env,.aws/config,**/*.key</Property>
<Property Name="rp.entitlements.api.enabled">true</Property>
<Property Name="sonar.qualityProfiles.allowDisableInheritedRules">true</Property>
<Property Name="sonaranalyzer-cs.staticResourceName">SonarAnalyzer-csharpenterprise-10.16.0.128591.zip</Property>
<Property Name="sonar.cpd.cobol.ignoreLiteral">true</Property>
<Property Name="sonar.cs.analyzer.dotnet.staticResourceName">SonarAnalyzer-csharpenterprise-10.16.0.128591.zip</Property>
<Property Name="sonar.authenticator.downcase">false</Property>
<Property Name="sonaranalyzer-cs.analyzerId">SonarAnalyzer.Enterprise.CSharp</Property>
<Property Name="sonar.cs.analyzer.dotnet.pluginKey">csharpenterprise</Property>
<Property Name="sonar.cs.analyzer.security.pluginKey">securitycsharpfrontend</Property>
<Property Name="sonar.organizations.anyoneCanCreate">true</Property>
<Property Name="sonar.technicalDebt.ratingGrid">0.05,0.1,0.2,0.5</Property>
<Property Name="sonar.cs.analyzer.architecture.pluginVersion">2.11.0.7399</Property>
<Property Name="sonar.lf.enableGravatar">true</Property>
<Property Name="sonar.docker.activate">true</Property>
<Property Name="sonar.dre.baselineTimeout">90000</Property>
<Property Name="sonaranalyzer-cs.pluginVersion">10.16.0.128591</Property>
<Property Name="sonaranalyzer.security.cs.staticResourceName">SonarAnalyzer.Security.CSharp-11.12.0.40973.zip</Property>
<Property Name="sonar.azureresourcemanager.file.suffixes">.bicep</Property>
<Property Name="sonar.architecture.config.directive">Directives are not configured.</Property>
<Property Name="sonar.javascript.file.suffixes">.js,.jsx,.cjs,.mjs,.vue</Property>
<Property Name="sonar.cpd.abap.minimumLines">20</Property>
<Property Name="sonar.shell.file.suffixes">.sh,.bash</Property>
<Property Name="sonar.vbnet.analyzeGeneratedCode">false</Property>
<Property Name="sonar.pli.file.suffixes">.pli</Property>
<Property Name="sonar.scanner.skipNodeProvisioning">false</Property>
<Property Name="sonaranalyzer-vbnet.pluginKey">vbnetenterprise</Property>
<Property Name="sonar.java.jvmframeworkconfig.activate">true</Property>
<Property Name="sonar.maxLinesOfCodePerFile">2000000</Property>
<Property Name="sonar.tsql.file.suffixes">.tsql</Property>
<Property Name="sonar.core.serverBaseURL">https://sonarcloud.io</Property>
<Property Name="sonar.lf.logoWidthPx">105</Property>
<Property Name="sonar.core.id">1BD809FA-AWHW8ct9-T_TB3XqouNu</Property>
<Property Name="delete_old_projects_deployment_date">1671634414000</Property>
<Property Name="delete_old_projects_excluded_project_kees">brave_brave-core,simgrid_simgrid,apache_struts,microsoft_vscode-python,mediawiki-core,jhipster-sample-application,JMeter,typo3,org.xwiki.platform:xwiki-platform,apache_ofbiz-framework,org.nuxeo:nuxeo-ecm,monica,sonarlint-visualstudio</Property>
<Property Name="suspend_analysis_of_projects">OXYGEN:*</Property>
<Property Name="sonar.global.exclusions">**/build-wrapper-dump.json</Property>
<Property Name="sonar.maintenance_mode.message">SonarCloud will undergo maintenance on Thursday, September 28th.
Automatic Analysis will not be available between 07:00 CET and 09:00 CET</Property>
<Property Name="sonar.maintenance_mode.link">https://community.sonarsource.com/t/sonarcloud-autoscan-maintenance-september-28th-07-00-and-09-00-cet/101442</Property>
<Property Name="sonar.maintenance_mode.start_date">2023-09-28T09:10:00:00.000+01:00</Property>
<Property Name="sonar.sensor.cache.baseUrl">https://api.sonarcloud.io/analysis</Property>
<Property Name="sonar.core.startTime">11/28/2025 8:53:41AM</Property>
</ServerSettings>
<LocalSettings>
<Property Name="sonar.cs.opencover.reportsPaths">**/coverage.opencover.xml</Property>
<Property Name="sonar.organization">mihakralj-quantalib</Property>
<Property Name="sonar.exclusions">**/coverage.opencover.xml</Property>
</LocalSettings>
<ScannerOptsSettings />
<AnalyzersSettings>
<AnalyzerSettings>
<Language>cs</Language>
<RulesetPath>/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf/Sonar-cs.ruleset</RulesetPath>
<DeactivatedRulesetPath>/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf/Sonar-cs-none.ruleset</DeactivatedRulesetPath>
<AnalyzerPlugins>
<AnalyzerPlugin Key="architecturecsharpfrontend" Version="2.11.0.7399" StaticResourceName="SonarAnalyzer.Architecture-2.11.0.7399.zip">
<AssemblyPaths>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/0/SonarAnalyzer.Architecture.CSharp.dll</Path>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/0/Google.Protobuf.License.txt</Path>
</AssemblyPaths>
</AnalyzerPlugin>
<AnalyzerPlugin Key="securitycsharpfrontend" Version="11.12.0.40973" StaticResourceName="SonarAnalyzer.Security.CSharp-11.12.0.40973.zip">
<AssemblyPaths>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/1/SonarAnalyzer.Security.CSharp.dll</Path>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/1/Google.Protobuf.License.txt</Path>
</AssemblyPaths>
</AnalyzerPlugin>
<AnalyzerPlugin Key="csharpenterprise" Version="10.16.0.128591" StaticResourceName="SonarAnalyzer-csharpenterprise-10.16.0.128591.zip">
<AssemblyPaths>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/2/SonarAnalyzer.CSharp.dll</Path>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/2/SonarAnalyzer.Enterprise.CSharp.dll</Path>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/2/licenses/LICENSE.txt</Path>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/2/licenses/THIRD_PARTY_LICENSES/Google.Protobuf-LICENSE.txt</Path>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/2/licenses/THIRD_PARTY_LICENSES/StyleCop.Analyzers-LICENSE.txt</Path>
</AssemblyPaths>
</AnalyzerPlugin>
</AnalyzerPlugins>
<AdditionalFilePaths>
<Path>/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf/cs/SonarLint.xml</Path>
</AdditionalFilePaths>
</AnalyzerSettings>
<AnalyzerSettings>
<Language>vbnet</Language>
<RulesetPath>/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf/Sonar-vbnet.ruleset</RulesetPath>
<DeactivatedRulesetPath>/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf/Sonar-vbnet-none.ruleset</DeactivatedRulesetPath>
<AnalyzerPlugins>
<AnalyzerPlugin Key="securityvbnetfrontend" Version="11.12.0.40973" StaticResourceName="SonarAnalyzer.Security.VisualBasic-11.12.0.40973.zip">
<AssemblyPaths>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/3/Google.Protobuf.License.txt</Path>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/3/SonarAnalyzer.Security.VisualBasic.dll</Path>
</AssemblyPaths>
</AnalyzerPlugin>
<AnalyzerPlugin Key="vbnetenterprise" Version="10.16.0.128591" StaticResourceName="SonarAnalyzer-vbnetenterprise-10.16.0.128591.zip">
<AssemblyPaths>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/4/SonarAnalyzer.Enterprise.VisualBasic.dll</Path>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/4/SonarAnalyzer.VisualBasic.dll</Path>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/4/licenses/LICENSE.txt</Path>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/4/licenses/THIRD_PARTY_LICENSES/Google.Protobuf-LICENSE.txt</Path>
<Path>/var/folders/qk/fg0x90rn1dl7k5d8z3m89hnw0000gn/T/.sonarqube/resources/4/licenses/THIRD_PARTY_LICENSES/StyleCop.Analyzers-LICENSE.txt</Path>
</AssemblyPaths>
</AnalyzerPlugin>
</AnalyzerPlugins>
<AdditionalFilePaths>
<Path>/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf/vbnet/SonarLint.xml</Path>
</AdditionalFilePaths>
</AnalyzerSettings>
</AnalyzersSettings>
</AnalysisConfig>
File diff suppressed because it is too large Load Diff
+601
View File
@@ -0,0 +1,601 @@
<?xml version="1.0" encoding="UTF-8"?>
<AnalysisInput>
<Settings>
<Setting>
<Key>sonar.vbnet.ignoreHeaderComments</Key>
<Value>true</Value>
</Setting>
<Setting>
<Key>sonar.vbnet.file.suffixes</Key>
<Value>.vb</Value>
</Setting>
<Setting>
<Key>sonar.vbnet.roslyn.ignoreIssues</Key>
<Value>false</Value>
</Setting>
<Setting>
<Key>sonar.vbnet.analyzeGeneratedCode</Key>
<Value>false</Value>
</Setting>
</Settings>
<Rules>
<Rule>
<Key>S3776</Key>
<Parameters>
<Parameter>
<Key>threshold</Key>
<Value>15</Value>
</Parameter>
<Parameter>
<Key>propertyThreshold</Key>
<Value>3</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S4507</Key>
</Rule>
<Rule>
<Key>S5773</Key>
</Rule>
<Rule>
<Key>S2612</Key>
</Rule>
<Rule>
<Key>S2053</Key>
</Rule>
<Rule>
<Key>S6562</Key>
</Rule>
<Rule>
<Key>S4036</Key>
</Rule>
<Rule>
<Key>S2068</Key>
<Parameters>
<Parameter>
<Key>credentialWords</Key>
<Value>password, passwd, pwd, passphrase</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S6418</Key>
<Parameters>
<Parameter>
<Key>secretWords</Key>
<Value>api[_\-]?key, auth, credential, secret, token</Value>
</Parameter>
<Parameter>
<Key>randomnessSensibility</Key>
<Value>3</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S1313</Key>
</Rule>
<Rule>
<Key>S4790</Key>
</Rule>
<Rule>
<Key>S3949</Key>
</Rule>
<Rule>
<Key>S5445</Key>
</Rule>
<Rule>
<Key>S5547</Key>
</Rule>
<Rule>
<Key>S5443</Key>
</Rule>
<Rule>
<Key>S4830</Key>
</Rule>
<Rule>
<Key>S1135</Key>
</Rule>
<Rule>
<Key>S1133</Key>
</Rule>
<Rule>
<Key>S7133</Key>
</Rule>
<Rule>
<Key>S7131</Key>
</Rule>
<Rule>
<Key>S3385</Key>
</Rule>
<Rule>
<Key>S2589</Key>
</Rule>
<Rule>
<Key>S2222</Key>
</Rule>
<Rule>
<Key>S2583</Key>
</Rule>
<Rule>
<Key>S3329</Key>
</Rule>
<Rule>
<Key>S3655</Key>
</Rule>
<Rule>
<Key>S7130</Key>
</Rule>
<Rule>
<Key>S2259</Key>
</Rule>
<Rule>
<Key>S3966</Key>
</Rule>
<Rule>
<Key>S4158</Key>
</Rule>
<Rule>
<Key>S2077</Key>
</Rule>
<Rule>
<Key>S1751</Key>
</Rule>
<Rule>
<Key>S1764</Key>
</Rule>
<Rule>
<Key>S3981</Key>
</Rule>
<Rule>
<Key>S6931</Key>
</Rule>
<Rule>
<Key>S6930</Key>
</Rule>
<Rule>
<Key>S2368</Key>
</Rule>
<Rule>
<Key>S1048</Key>
</Rule>
<Rule>
<Key>S3464</Key>
</Rule>
<Rule>
<Key>S2178</Key>
</Rule>
<Rule>
<Key>S2551</Key>
</Rule>
<Rule>
<Key>S2437</Key>
</Rule>
<Rule>
<Key>S3889</Key>
</Rule>
<Rule>
<Key>S4159</Key>
</Rule>
<Rule>
<Key>S3869</Key>
</Rule>
<Rule>
<Key>S2225</Key>
</Rule>
<Rule>
<Key>S2346</Key>
</Rule>
<Rule>
<Key>S2347</Key>
<Parameters>
<Parameter>
<Key>format</Key>
<Value>^(([a-z][a-z0-9]*)?([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?_)?([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?$</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S5856</Key>
</Rule>
<Rule>
<Key>S2344</Key>
</Rule>
<Rule>
<Key>S2345</Key>
</Rule>
<Rule>
<Key>S1134</Key>
</Rule>
<Rule>
<Key>S2342</Key>
<Parameters>
<Parameter>
<Key>format</Key>
<Value>^([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?$</Value>
</Parameter>
<Parameter>
<Key>flagsAttributeFormat</Key>
<Value>^([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?s$</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S3431</Key>
</Rule>
<Rule>
<Key>S6146</Key>
</Rule>
<Rule>
<Key>S2340</Key>
</Rule>
<Rule>
<Key>S2349</Key>
</Rule>
<Rule>
<Key>S6145</Key>
</Rule>
<Rule>
<Key>S1940</Key>
</Rule>
<Rule>
<Key>S2358</Key>
</Rule>
<Rule>
<Key>S2234</Key>
</Rule>
<Rule>
<Key>S2355</Key>
</Rule>
<Rule>
<Key>S2352</Key>
</Rule>
<Rule>
<Key>S1944</Key>
</Rule>
<Rule>
<Key>S2359</Key>
</Rule>
<Rule>
<Key>S3449</Key>
</Rule>
<Rule>
<Key>S1110</Key>
</Rule>
<Rule>
<Key>S1479</Key>
<Parameters>
<Parameter>
<Key>maximum</Key>
<Value>30</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S1125</Key>
</Rule>
<Rule>
<Key>S1123</Key>
</Rule>
<Rule>
<Key>S2692</Key>
</Rule>
<Rule>
<Key>S1481</Key>
</Rule>
<Rule>
<Key>S5042</Key>
</Rule>
<Rule>
<Key>S3358</Key>
</Rule>
<Rule>
<Key>S3598</Key>
</Rule>
<Rule>
<Key>S4201</Key>
</Rule>
<Rule>
<Key>S5659</Key>
</Rule>
<Rule>
<Key>S1172</Key>
</Rule>
<Rule>
<Key>S2951</Key>
</Rule>
<Rule>
<Key>S1862</Key>
</Rule>
<Rule>
<Key>S5542</Key>
</Rule>
<Rule>
<Key>S4210</Key>
</Rule>
<Rule>
<Key>S1066</Key>
</Rule>
<Rule>
<Key>S1186</Key>
</Rule>
<Rule>
<Key>S3363</Key>
</Rule>
<Rule>
<Key>S3927</Key>
</Rule>
<Rule>
<Key>S3926</Key>
</Rule>
<Rule>
<Key>S3923</Key>
</Rule>
<Rule>
<Key>S4545</Key>
</Rule>
<Rule>
<Key>S4423</Key>
</Rule>
<Rule>
<Key>S1155</Key>
</Rule>
<Rule>
<Key>S3453</Key>
</Rule>
<Rule>
<Key>S2365</Key>
</Rule>
<Rule>
<Key>S5753</Key>
</Rule>
<Rule>
<Key>S4663</Key>
</Rule>
<Rule>
<Key>S6609</Key>
</Rule>
<Rule>
<Key>S2925</Key>
</Rule>
<Rule>
<Key>S4428</Key>
</Rule>
<Rule>
<Key>S6608</Key>
</Rule>
<Rule>
<Key>S6607</Key>
</Rule>
<Rule>
<Key>S927</Key>
</Rule>
<Rule>
<Key>S6613</Key>
</Rule>
<Rule>
<Key>S6612</Key>
</Rule>
<Rule>
<Key>S3466</Key>
</Rule>
<Rule>
<Key>S2257</Key>
</Rule>
<Rule>
<Key>S2375</Key>
<Parameters>
<Parameter>
<Key>minimumSeriesLength</Key>
<Value>6</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S2376</Key>
</Rule>
<Rule>
<Key>S6610</Key>
</Rule>
<Rule>
<Key>S1163</Key>
</Rule>
<Rule>
<Key>S3903</Key>
</Rule>
<Rule>
<Key>S3904</Key>
</Rule>
<Rule>
<Key>S6617</Key>
</Rule>
<Rule>
<Key>S2372</Key>
</Rule>
<Rule>
<Key>S1654</Key>
<Parameters>
<Parameter>
<Key>format</Key>
<Value>^[a-z][a-z0-9]*([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?$</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S112</Key>
</Rule>
<Rule>
<Key>S1656</Key>
</Rule>
<Rule>
<Key>S907</Key>
</Rule>
<Rule>
<Key>S5693</Key>
<Parameters>
<Parameter>
<Key>fileUploadSizeLimit</Key>
<Value>8388608</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S107</Key>
<Parameters>
<Parameter>
<Key>max</Key>
<Value>7</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S108</Key>
</Rule>
<Rule>
<Key>S1542</Key>
<Parameters>
<Parameter>
<Key>format</Key>
<Value>^([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?$</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S4136</Key>
</Rule>
<Rule>
<Key>S2757</Key>
</Rule>
<Rule>
<Key>S3603</Key>
</Rule>
<Rule>
<Key>S114</Key>
<Parameters>
<Parameter>
<Key>format</Key>
<Value>^I([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?$</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S117</Key>
<Parameters>
<Parameter>
<Key>format</Key>
<Value>^[a-z][a-z0-9]*([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?$</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S1871</Key>
</Rule>
<Rule>
<Key>S2166</Key>
</Rule>
<Rule>
<Key>S3011</Key>
</Rule>
<Rule>
<Key>S1075</Key>
</Rule>
<Rule>
<Key>S4586</Key>
</Rule>
<Rule>
<Key>S4581</Key>
</Rule>
<Rule>
<Key>S4583</Key>
</Rule>
<Rule>
<Key>S1192</Key>
<Parameters>
<Parameter>
<Key>threshold</Key>
<Value>3</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S1643</Key>
</Rule>
<Rule>
<Key>S101</Key>
<Parameters>
<Parameter>
<Key>format</Key>
<Value>^([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?$</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S2737</Key>
</Rule>
<Rule>
<Key>S1645</Key>
</Rule>
<Rule>
<Key>S3871</Key>
</Rule>
<Rule>
<Key>S6588</Key>
</Rule>
<Rule>
<Key>S2304</Key>
<Parameters>
<Parameter>
<Key>format</Key>
<Value>^([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?(\.([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?)*$</Value>
</Parameter>
</Parameters>
</Rule>
<Rule>
<Key>S3998</Key>
</Rule>
<Rule>
<Key>S3878</Key>
</Rule>
<Rule>
<Key>S6580</Key>
</Rule>
<Rule>
<Key>S5944</Key>
</Rule>
<Rule>
<Key>S6444</Key>
</Rule>
<Rule>
<Key>S2761</Key>
</Rule>
<Rule>
<Key>S4144</Key>
</Rule>
<Rule>
<Key>S6561</Key>
</Rule>
<Rule>
<Key>S4143</Key>
</Rule>
<Rule>
<Key>S4260</Key>
</Rule>
<Rule>
<Key>S4277</Key>
</Rule>
<Rule>
<Key>S6575</Key>
</Rule>
<Rule>
<Key>S4275</Key>
</Rule>
<Rule>
<Key>S2094</Key>
</Rule>
<Rule>
<Key>S3063</Key>
</Rule>
</Rules>
<Files>
</Files>
</AnalysisInput>
View File
+7
View File
@@ -0,0 +1,7 @@
organization=mihakralj-quantalib
projectKey=mihakralj_QuanTAlib
serverUrl=https://sonarcloud.io
serverVersion=8.0.0.76937
dashboardUrl=https://sonarcloud.io/dashboard?id=mihakralj_QuanTAlib
ceTaskId=AZrSNMLCeZsUkJLW-DRa
ceTaskUrl=https://sonarcloud.io/api/ce/task?id=AZrSNMLCeZsUkJLW-DRa
+897
View File
@@ -0,0 +1,897 @@
{
"$schema": "http://json.schemastore.org/sarif-1.0.0",
"version": "1.0.0",
"runs": [
{
"tool": {
"name": "Microsoft (R) Visual C# Compiler",
"version": "5.0.0.0",
"fileVersion": "5.0.0-2.25523.111 (b0f34d51)",
"semanticVersion": "5.0.0",
"language": "en-US"
},
"results": [
{
"ruleId": "S1244",
"level": "warning",
"message": "Do not check floating point equality with exact values, use a range instead.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.cs",
"region": {
"startLine": 51,
"startColumn": 69,
"endLine": 51,
"endColumn": 71
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "S1244",
"level": "warning",
"message": "Do not check floating point equality with exact values, use a range instead.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.cs",
"region": {
"startLine": 73,
"startColumn": 14,
"endLine": 73,
"endColumn": 16
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "S1244",
"level": "warning",
"message": "Do not check floating point equality with exact values, use a range instead.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.cs",
"region": {
"startLine": 74,
"startColumn": 14,
"endLine": 74,
"endColumn": 16
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "S1244",
"level": "warning",
"message": "Do not check floating point equality with exact values, use a range instead.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.cs",
"region": {
"startLine": 75,
"startColumn": 13,
"endLine": 75,
"endColumn": 15
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "S1244",
"level": "warning",
"message": "Do not check floating point equality with exact values, use a range instead.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.cs",
"region": {
"startLine": 76,
"startColumn": 15,
"endLine": 76,
"endColumn": 17
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "S1244",
"level": "warning",
"message": "Do not check floating point equality with exact values, use a range instead.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.cs",
"region": {
"startLine": 77,
"startColumn": 16,
"endLine": 77,
"endColumn": 18
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Graphics.SetClip(Rectangle)' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 101,
"startColumn": 9,
"endLine": 101,
"endColumn": 31
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Graphics.DrawLine(Pen, Point, Point)' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 108,
"startColumn": 13,
"endLine": 108,
"endColumn": 72
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'DashStyle.Dot' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 232,
"startColumn": 30,
"endLine": 232,
"endColumn": 43
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'DashStyle.Dash' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 231,
"startColumn": 31,
"endLine": 231,
"endColumn": 45
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'DashStyle.Solid' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 230,
"startColumn": 32,
"endLine": 230,
"endColumn": 47
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'DashStyle.Solid' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 234,
"startColumn": 18,
"endLine": 234,
"endColumn": 33
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'DashStyle.DashDot' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 233,
"startColumn": 34,
"endLine": 233,
"endColumn": 51
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Graphics.DrawString(string?, Font, Brush, PointF)' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 223,
"startColumn": 9,
"endLine": 223,
"endColumn": 93
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Brushes.White' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 223,
"startColumn": 35,
"endLine": 223,
"endColumn": 48
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Brushes.DarkBlue' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 222,
"startColumn": 26,
"endLine": 222,
"endColumn": 42
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Graphics.FillRectangle(Brush, RectangleF)' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 222,
"startColumn": 9,
"endLine": 222,
"endColumn": 53
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Graphics.MeasureString(string?, Font)' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 217,
"startColumn": 26,
"endLine": 217,
"endColumn": 54
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Font' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 216,
"startColumn": 21,
"endLine": 216,
"endColumn": 41
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Graphics.FillRectangle(Brush, int, int, int, int)' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 196,
"startColumn": 21,
"endLine": 196,
"endColumn": 93
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Graphics.SetClip(Rectangle)' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 178,
"startColumn": 9,
"endLine": 178,
"endColumn": 31
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Graphics.FillRectangle(Brush, int, int, int, int)' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 203,
"startColumn": 21,
"endLine": 203,
"endColumn": 94
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'SolidBrush' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 194,
"startColumn": 37,
"endLine": 194,
"endColumn": 83
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Graphics.SmoothingMode' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 173,
"startColumn": 9,
"endLine": 173,
"endColumn": 25
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'SmoothingMode.AntiAlias' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 173,
"startColumn": 28,
"endLine": 173,
"endColumn": 51
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'SolidBrush' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 201,
"startColumn": 37,
"endLine": 201,
"endColumn": 83
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Graphics.SetClip(Rectangle)' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 123,
"startColumn": 9,
"endLine": 123,
"endColumn": 31
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Pen.DashStyle' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 146,
"startColumn": 68,
"endLine": 146,
"endColumn": 77
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Pen.DashStyle' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 145,
"startColumn": 71,
"endLine": 145,
"endColumn": 80
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Graphics.DrawCurve(Pen, Point[], int, int, float)' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 161,
"startColumn": 21,
"endLine": 161,
"endColumn": 96
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'SmoothingMode.AntiAlias' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 118,
"startColumn": 28,
"endLine": 118,
"endColumn": 51
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Graphics.SmoothingMode' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 118,
"startColumn": 9,
"endLine": 118,
"endColumn": 25
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'DashStyle.Dot' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 146,
"startColumn": 80,
"endLine": 146,
"endColumn": 93
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Pen' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 145,
"startColumn": 37,
"endLine": 145,
"endColumn": 126
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Graphics.DrawCurve(Pen, Point[], int, int, float)' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 154,
"startColumn": 21,
"endLine": 154,
"endColumn": 97
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1416",
"level": "warning",
"message": "This call site is reachable on all platforms. 'Pen' is only supported on: 'windows' 6.1 and later.",
"suppressionStates": [
"suppressedInSource"
],
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",
"region": {
"startLine": 146,
"startColumn": 34,
"endLine": 146,
"endColumn": 95
}
}
}
],
"properties": {
"warningLevel": 1
}
}
],
"rules": {
"CA1416": {
"id": "CA1416",
"shortDescription": "Validate platform compatibility",
"fullDescription": "Using platform dependent API on a component makes the code no longer work across all platforms.",
"defaultLevel": "warning",
"helpUri": "https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416",
"properties": {
"category": "Interoperability",
"isEnabledByDefault": true,
"tags": [
"Telemetry",
"EnabledRuleInAggressiveMode"
]
}
},
"S1244": {
"id": "S1244",
"shortDescription": "Floating point numbers should not be tested for equality",
"fullDescription": "Floating point numbers in C# (and in most other programming languages) are not precise. They are a binary approximation of the actual value. This means that even if two floating point numbers appear to be equal, they might not be due to the tiny differences in their binary representation.",
"defaultLevel": "warning",
"helpUri": "https://rules.sonarsource.com/csharp/RSPEC-1244",
"properties": {
"category": "Major Bug",
"isEnabledByDefault": true,
"tags": [
"C#",
"MainSourceScope",
"TestSourceScope",
"SonarWay"
]
}
}
}
}
]
}
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sonarsource.com/msbuild/integration/2015/1">
<ProjectName>Averages</ProjectName>
<ProjectLanguage>C#</ProjectLanguage>
<ProjectType>Product</ProjectType>
<ProjectGuid>d8f03b19-f99f-475f-8951-85c9d2258b73</ProjectGuid>
<FullPath>/Users/mihakralj/Github/QuanTAlib/quantower/Averages.csproj</FullPath>
<IsExcluded>false</IsExcluded>
<AnalysisResultFiles>
<AnalysisResultFile Id="FilesToAnalyze" Location="/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf/0/FilesToAnalyze.txt" />
</AnalysisResultFiles>
<AnalysisSettings>
<Property Name="sonar.cs.roslyn.reportFilePaths">/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/0/Issues.json</Property>
<Property Name="sonar.cs.analyzer.projectOutPaths">/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/0</Property>
<Property Name="sonar.cs.scanner.telemetry">/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/0/Telemetry.json</Property>
</AnalysisSettings>
<Configuration>Debug</Configuration>
<Platform>AnyCPU</Platform>
<TargetFramework>net8.0</TargetFramework>
</ProjectInfo>
+1
View File
@@ -0,0 +1 @@
{"dotnetenterprise.s4net.build.target_framework_moniker":".NETCoreApp,Version=v8.0"}
@@ -0,0 +1,13 @@
Y
N/Users/mihakralj/Github/QuanTAlib/quantower/obj/Debug/Averages.AssemblyInfo.csutf-8o
d/Users/mihakralj/Github/QuanTAlib/quantower/obj/Debug/.NETCoreApp,Version=v8.0.AssemblyAttributes.csutf-8[
P/Users/mihakralj/Github/QuanTAlib/quantower/obj/Debug/Averages.GlobalUsings.g.csutf-8U
L/Users/mihakralj/Github/QuanTAlib/quantower/../lib/averages/ema/EmaVector.csutf-8Y
P/Users/mihakralj/Github/QuanTAlib/quantower/../lib/averages/ema/Ema.Quantower.csutf-8O
F/Users/mihakralj/Github/QuanTAlib/quantower/../lib/averages/ema/Ema.csutf-8Q
H/Users/mihakralj/Github/QuanTAlib/quantower/../lib/core/tvalue/TValue.csutf-8S
J/Users/mihakralj/Github/QuanTAlib/quantower/../lib/core/tseries/TSeries.csutf-8Y
P/Users/mihakralj/Github/QuanTAlib/quantower/../lib/core/tbarseries/TBarSeries.csutf-8M
D/Users/mihakralj/Github/QuanTAlib/quantower/../lib/core/tbar/TBar.csutf-8W
N/Users/mihakralj/Github/QuanTAlib/quantower/../lib/core/simd/SimdExtensions.csutf-8K
B/Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.csutf-8
+1
View File
@@ -0,0 +1 @@
Roslyn version: 5.0.0.0Language version: Preview!Concurrent execution: enableduqFile '/Users/mihakralj/Github/QuanTAlib/quantower/obj/Debug/Averages.AssemblyInfo.cs' was recognized as generatedŒFile '/Users/mihakralj/Github/QuanTAlib/quantower/obj/Debug/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs' was recognized as generatedwsFile '/Users/mihakralj/Github/QuanTAlib/quantower/obj/Debug/Averages.GlobalUsings.g.cs' was recognized as generated
+19
View File
@@ -0,0 +1,19 @@
Â
L/Users/mihakralj/Github/QuanTAlib/quantower/../lib/averages/ema/EmaVector.csy
8"jj
2345OPQ]^_jklmnopq€ƒ˜œ ¡¢¥¦©ª­±¹ÏÐÑÒÓÙñŠ®º»¼½¾¿
 !"#$%&'(*+,-./06789:;<=>@ABCDEFGIJKLMRSTUVWXYZ[`abcdefghrstuvwxyz{|}~ˆŠŽšž£§¨©ª«®¯²³´µ·º»¼½¿ÀÁÂÃÄÅÆÇÉÊÌÍÔÕÖ×ÚÛÝÞßàáâãåæèéêìíîïòôö÷øùúûüýÿˆŠŒŽ˜šœŸ ¡¢£¤¥¦§©ª«¬¯°±²³´µ·¸ÀÁÂÃÄÅx, "#$%&'(*,-.89:;<=>@BCDEKLUWXZbdfguwx|}Šš£§¨®¯²´º½ÀÂÃÅÉÌÖÝßàáâåæèéìò÷ùÿˆŽš ¢£¥©ª¯±²³´·Ã¥
P/Users/mihakralj/Github/QuanTAlib/quantower/../lib/averages/ema/Ema.Quantower.cs
8j2r/  !"#%&'()*,-./012356789:x  !"'()./01278
J/Users/mihakralj/Github/QuanTAlib/quantower/../lib/core/tseries/TSeries.cs 8j
 !")*+PQRYZ[lt„ˆrt
#$%&',-./02345689:;<>?@ABDEFGHJKLMNSTUVW\]^_`bcdefghijkmnopqruvxy{|~ƒŠŒŽx $%&./5AGMV_eghmnoqvy|€ƒû
F/Users/mihakralj/Github/QuanTAlib/quantower/../lib/averages/ema/Ema.cs2 8jI !"+,-.789<=>ABCOPQRghijkly€ƒž ¦§¨©ª«²³´r“
#$%&()/01245:?DEFGHIJKLMSTUVXYZ[\]^_`abdemnopqrstuvwz{|}~…ˆŠŽ˜šœŸ ¢£¤¬­®¯°µ·¸¹º»¼x E%&(124?GIJLVY[\]adprvz{|}‡ŠŽ˜šŸ ¢£¯·¸¹º·
D/Users/mihakralj/Github/QuanTAlib/quantower/../lib/core/tbar/TBar.cs 8jr@
 !"$%&'()*+,-/012345678:;=>@ACDFGHIJKLMOPQRSx'()*+,234567;>AHIJKLMOPQR•
H/Users/mihakralj/Github/QuanTAlib/quantower/../lib/core/tvalue/TValue.cs 8 j

r!
File diff suppressed because it is too large Load Diff
+1
View File
@@ -0,0 +1 @@
PR;/Users/mihakralj/Github/QuanTAlib/quantower/Averages.csproj¢net8.0òPreview
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+605
View File
@@ -0,0 +1,605 @@
{
"$schema": "http://json.schemastore.org/sarif-1.0.0",
"version": "1.0.0",
"runs": [
{
"tool": {
"name": "Microsoft (R) Visual C# Compiler",
"version": "5.0.0.0",
"fileVersion": "5.0.0-2.25523.111 (b0f34d51)",
"semanticVersion": "5.0.0",
"language": "en-US"
},
"results": [
{
"ruleId": "S101",
"level": "warning",
"message": "Rename class 'GBM' to match pascal case naming rules, consider using 'Gbm'.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.cs",
"region": {
"startLine": 11,
"startColumn": 14,
"endLine": 11,
"endColumn": 17
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "IDE0028",
"level": "note",
"message": "Collection initialization can be simplified",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs",
"region": {
"startLine": 16,
"startColumn": 42,
"endLine": 16,
"endColumn": 45
}
}
}
],
"relatedLocations": [
{
"physicalLocation": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs",
"region": {
"startLine": 16,
"startColumn": 42,
"endLine": 16,
"endColumn": 47
}
}
}
],
"properties": {
"warningLevel": 1,
"customProperties": {
"UseCollectionExpressionName": "UseCollectionExpressionName"
}
}
},
{
"ruleId": "IDE0028",
"level": "note",
"message": "Collection initialization can be simplified",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs",
"region": {
"startLine": 18,
"startColumn": 42,
"endLine": 18,
"endColumn": 45
}
}
}
],
"relatedLocations": [
{
"physicalLocation": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs",
"region": {
"startLine": 18,
"startColumn": 42,
"endLine": 18,
"endColumn": 47
}
}
}
],
"properties": {
"warningLevel": 1,
"customProperties": {
"UseCollectionExpressionName": "UseCollectionExpressionName"
}
}
},
{
"ruleId": "IDE0028",
"level": "note",
"message": "Collection initialization can be simplified",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs",
"region": {
"startLine": 17,
"startColumn": 42,
"endLine": 17,
"endColumn": 45
}
}
}
],
"relatedLocations": [
{
"physicalLocation": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs",
"region": {
"startLine": 17,
"startColumn": 42,
"endLine": 17,
"endColumn": 47
}
}
}
],
"properties": {
"warningLevel": 1,
"customProperties": {
"UseCollectionExpressionName": "UseCollectionExpressionName"
}
}
},
{
"ruleId": "S1450",
"level": "warning",
"message": "Remove the field '_dt' and declare it as a local variable in the relevant methods.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.cs",
"region": {
"startLine": 20,
"startColumn": 29,
"endLine": 20,
"endColumn": 32
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "IDE0028",
"level": "note",
"message": "Collection initialization can be simplified",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs",
"region": {
"startLine": 15,
"startColumn": 40,
"endLine": 15,
"endColumn": 43
}
}
}
],
"relatedLocations": [
{
"physicalLocation": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs",
"region": {
"startLine": 15,
"startColumn": 40,
"endLine": 15,
"endColumn": 45
}
}
}
],
"properties": {
"warningLevel": 1,
"customProperties": {
"UseCollectionExpressionName": "UseCollectionExpressionName"
}
}
},
{
"ruleId": "IDE0028",
"level": "note",
"message": "Collection initialization can be simplified",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs",
"region": {
"startLine": 19,
"startColumn": 42,
"endLine": 19,
"endColumn": 45
}
}
}
],
"relatedLocations": [
{
"physicalLocation": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs",
"region": {
"startLine": 19,
"startColumn": 42,
"endLine": 19,
"endColumn": 47
}
}
}
],
"properties": {
"warningLevel": 1,
"customProperties": {
"UseCollectionExpressionName": "UseCollectionExpressionName"
}
}
},
{
"ruleId": "IDE0028",
"level": "note",
"message": "Collection initialization can be simplified",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs",
"region": {
"startLine": 20,
"startColumn": 42,
"endLine": 20,
"endColumn": 45
}
}
}
],
"relatedLocations": [
{
"physicalLocation": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs",
"region": {
"startLine": 20,
"startColumn": 42,
"endLine": 20,
"endColumn": 47
}
}
}
],
"properties": {
"warningLevel": 1,
"customProperties": {
"UseCollectionExpressionName": "UseCollectionExpressionName"
}
}
},
{
"ruleId": "IDE0028",
"level": "note",
"message": "Collection initialization can be simplified",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.cs",
"region": {
"startLine": 28,
"startColumn": 14,
"endLine": 28,
"endColumn": 17
}
}
}
],
"relatedLocations": [
{
"physicalLocation": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.cs",
"region": {
"startLine": 28,
"startColumn": 14,
"endLine": 28,
"endColumn": 30
}
}
}
],
"properties": {
"warningLevel": 1,
"customProperties": {
"UseCollectionExpressionName": "UseCollectionExpressionName"
}
}
},
{
"ruleId": "IDE0028",
"level": "note",
"message": "Collection initialization can be simplified",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.cs",
"region": {
"startLine": 29,
"startColumn": 14,
"endLine": 29,
"endColumn": 17
}
}
}
],
"relatedLocations": [
{
"physicalLocation": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.cs",
"region": {
"startLine": 29,
"startColumn": 14,
"endLine": 29,
"endColumn": 32
}
}
}
],
"properties": {
"warningLevel": 1,
"customProperties": {
"UseCollectionExpressionName": "UseCollectionExpressionName"
}
}
},
{
"ruleId": "S1244",
"level": "warning",
"message": "Do not check floating point equality with exact values, use a range instead.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.cs",
"region": {
"startLine": 51,
"startColumn": 69,
"endLine": 51,
"endColumn": 71
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "S1244",
"level": "warning",
"message": "Do not check floating point equality with exact values, use a range instead.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.cs",
"region": {
"startLine": 73,
"startColumn": 14,
"endLine": 73,
"endColumn": 16
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "S1244",
"level": "warning",
"message": "Do not check floating point equality with exact values, use a range instead.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.cs",
"region": {
"startLine": 74,
"startColumn": 14,
"endLine": 74,
"endColumn": 16
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "S1244",
"level": "warning",
"message": "Do not check floating point equality with exact values, use a range instead.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.cs",
"region": {
"startLine": 75,
"startColumn": 13,
"endLine": 75,
"endColumn": 15
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "S1244",
"level": "warning",
"message": "Do not check floating point equality with exact values, use a range instead.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.cs",
"region": {
"startLine": 76,
"startColumn": 15,
"endLine": 76,
"endColumn": 17
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "S1244",
"level": "warning",
"message": "Do not check floating point equality with exact values, use a range instead.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.cs",
"region": {
"startLine": 77,
"startColumn": 16,
"endLine": 77,
"endColumn": 18
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "S2245",
"level": "warning",
"message": "Make sure that using this pseudorandom number generator is safe here.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.cs",
"region": {
"startLine": 53,
"startColumn": 32,
"endLine": 53,
"endColumn": 54
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "S2245",
"level": "warning",
"message": "Make sure that using this pseudorandom number generator is safe here.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.cs",
"region": {
"startLine": 53,
"startColumn": 57,
"endLine": 53,
"endColumn": 69
}
}
}
],
"properties": {
"warningLevel": 1
}
}
],
"rules": {
"IDE0028": {
"id": "IDE0028",
"shortDescription": "Simplify collection initialization",
"defaultLevel": "note",
"helpUri": "https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0028",
"properties": {
"category": "Style",
"isEnabledByDefault": true,
"tags": [
"Telemetry",
"EnforceOnBuild_Recommended"
]
}
},
"S101": {
"id": "S101",
"shortDescription": "Types should be named in PascalCase",
"fullDescription": "Shared naming conventions allow teams to collaborate efficiently.",
"defaultLevel": "warning",
"helpUri": "https://rules.sonarsource.com/csharp/RSPEC-101",
"properties": {
"category": "Minor Code Smell",
"isEnabledByDefault": true,
"tags": [
"C#",
"MainSourceScope",
"TestSourceScope",
"SonarWay"
]
}
},
"S1244": {
"id": "S1244",
"shortDescription": "Floating point numbers should not be tested for equality",
"fullDescription": "Floating point numbers in C# (and in most other programming languages) are not precise. They are a binary approximation of the actual value. This means that even if two floating point numbers appear to be equal, they might not be due to the tiny differences in their binary representation.",
"defaultLevel": "warning",
"helpUri": "https://rules.sonarsource.com/csharp/RSPEC-1244",
"properties": {
"category": "Major Bug",
"isEnabledByDefault": true,
"tags": [
"C#",
"MainSourceScope",
"TestSourceScope",
"SonarWay"
]
}
},
"S1450": {
"id": "S1450",
"shortDescription": "Private fields only used as local variables in methods should become local variables",
"fullDescription": "When the value of a private field is always assigned to in a class' methods before being read, then it is not being used to store class information. Therefore, it should become a local variable in the relevant methods to prevent any misunderstanding.",
"defaultLevel": "warning",
"helpUri": "https://rules.sonarsource.com/csharp/RSPEC-1450",
"properties": {
"category": "Minor Code Smell",
"isEnabledByDefault": true,
"tags": [
"C#",
"MainSourceScope",
"SonarWay"
]
}
},
"S2245": {
"id": "S2245",
"shortDescription": "Using pseudorandom number generators (PRNGs) is security-sensitive",
"fullDescription": "PRNGs are algorithms that produce sequences of numbers that only approximate true randomness. While they are suitable for applications like simulations or modeling, they are not appropriate for security-sensitive contexts because their outputs can be predictable if the internal state is known.",
"defaultLevel": "warning",
"helpUri": "https://rules.sonarsource.com/csharp/RSPEC-2245",
"properties": {
"category": "Critical Security Hotspot",
"isEnabledByDefault": true,
"tags": [
"C#",
"MainSourceScope",
"SonarWay"
]
}
}
}
}
]
}
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sonarsource.com/msbuild/integration/2015/1">
<ProjectName>quantalib</ProjectName>
<ProjectLanguage>C#</ProjectLanguage>
<ProjectType>Product</ProjectType>
<ProjectGuid>f455234b-2a3c-140a-17c3-683d7820a733</ProjectGuid>
<FullPath>/Users/mihakralj/Github/QuanTAlib/lib/quantalib.csproj</FullPath>
<IsExcluded>false</IsExcluded>
<AnalysisResultFiles>
<AnalysisResultFile Id="FilesToAnalyze" Location="/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf/1/FilesToAnalyze.txt" />
</AnalysisResultFiles>
<AnalysisSettings>
<Property Name="sonar.cs.roslyn.reportFilePaths">/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/1/Issues.json</Property>
<Property Name="sonar.cs.analyzer.projectOutPaths">/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/1</Property>
<Property Name="sonar.cs.scanner.telemetry">/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/1/Telemetry.json</Property>
</AnalysisSettings>
<Configuration>Debug</Configuration>
<Platform>AnyCPU</Platform>
<TargetFramework>net10.0</TargetFramework>
</ProjectInfo>
+1
View File
@@ -0,0 +1 @@
{"dotnetenterprise.s4net.build.target_framework_moniker":".NETCoreApp,Version=v10.0"}
@@ -0,0 +1,16 @@
\
Q/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.AssemblyInfo.csutf-8T
I/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/AssemblyInfo.g.csutf-8]
R/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/GitVersionInformation.g.csutf-8r
g/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.csutf-8^
S/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.GlobalUsings.g.csutf-8=
4/Users/mihakralj/Github/QuanTAlib/lib/feeds/IFeed.csutf-8?
6/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.csutf-8C
:/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.csutf-8D
;/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.csutf-8F
=/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.csutf-8L
C/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.csutf-8@
7/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.csutf-8J
A/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.csutf-8H
?/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/EmaVector.csutf-8B
9/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.csutf-8
+1
View File
@@ -0,0 +1 @@
Roslyn version: 5.0.0.0Language version: CSharp14!Concurrent execution: enabledxtFile '/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.AssemblyInfo.cs' was recognized as generatedplFile '/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/AssemblyInfo.g.cs' was recognized as generatedyuFile '/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/GitVersionInformation.g.cs' was recognized as generatedŠFile '/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs' was recognized as generatedzvFile '/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.GlobalUsings.g.cs' was recognized as generated
+22
View File
@@ -0,0 +1,22 @@
\
4/Users/mihakralj/Github/QuanTAlib/lib/feeds/IFeed.csj
 !r "#¥
6/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.csT 8 j6 #$%&'()*<@HIJ_`abfj~š¤¬ÍÏÑÔ
 !+,-./01235679:=>ABDEFKLMNOPQRTUVWYZ\]cdehikmnoqrstvwyz{|}ƒˆŠŒœžŸ ¢¥¦§¨©ª­®¯°²³´·¸¹»¼¾¿ÀÂÃÄÅÆÇÉÊËÎÏÒÕרÙxa235679:=>BDENPQTUVWYZ\hmnostvwyzˆŒŸ ®°²¸¹¾¿ÀÂÃÄÅÆÇÉÊÎÏÒÕך
:/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.csJ 8j8
&'()*?NQcdefru€ˆ¦®°ºÇ
 "#$+,-./012456789:<=@BDEFHIJLMORSTUVXYZ[\]^`aghijklmnpqstvwxz{|}~ŠŒŽœžŸ ¡¢£¤§¨ª«¬¯°²³´µ·¸¹»¼¾¿ÀÁÂÃÄÅÈÉËÌÍx [ "#.0124678<=@BDHIJORSTUVX\`jlmpsvwz{|„Ÿ¡¢ª¯°²´µ¸»¼¾ÀÁÂÈÉˈ
;/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.cs 8 j

r!
 "#$%&')*,-/02356789x %&*-35678„
=/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.cs 8j
 !")*+PQRYZ[lt„ˆrt
#$%&',-./02345689:;<>?@ABDEFGHJKLMNSTUVW\]^_`bcdefghijkmnopqruvxy{|~ƒŠŒŽx $%&./5AGMV_eghmnoqvy|€ƒÐ
C/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs/ 83j

 )123=r
!"#$%'(*+,-./456789:;>?@ABCEFGHIKLMNOQRSTUWXYZ[\^_`abcdefghijklmnopqrsuvxyz|}~€ƒŠŒŽ˜šœž ¡xO*+,-.6789:;>?@ABHTWXYZ[\acdefghlmnopqruz~ƒŠšœ ª
7/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.cs 8jr@
File diff suppressed because it is too large Load Diff
+1
View File
@@ -0,0 +1 @@
MR6/Users/mihakralj/Github/QuanTAlib/lib/quantalib.csproj¢net10.0òCSharp14
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+207
View File
@@ -0,0 +1,207 @@
{
"$schema": "http://json.schemastore.org/sarif-1.0.0",
"version": "1.0.0",
"runs": [
{
"tool": {
"name": "Microsoft (R) Visual C# Compiler",
"version": "5.0.0.0",
"fileVersion": "5.0.0-2.25523.111 (b0f34d51)",
"semanticVersion": "5.0.0",
"language": "en-US"
},
"results": [
{
"ruleId": "CA1816",
"level": "note",
"message": "Change EmaValidationTests.Dispose() to call GC.SuppressFinalize(object). This will prevent derived types that introduce a finalizer from needing to re-implement 'IDisposable' to call it.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Validation.Tests.cs",
"region": {
"startLine": 48,
"startColumn": 17,
"endLine": 48,
"endColumn": 24
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1822",
"level": "note",
"message": "Member 'VerifyData' does not access instance data and can be marked as static",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Validation.Tests.cs",
"region": {
"startLine": 150,
"startColumn": 18,
"endLine": 150,
"endColumn": 28
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1822",
"level": "note",
"message": "Member 'VerifyData' does not access instance data and can be marked as static",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Validation.Tests.cs",
"region": {
"startLine": 132,
"startColumn": 18,
"endLine": 132,
"endColumn": 28
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "CA1822",
"level": "note",
"message": "Member 'VerifyData_Talib' does not access instance data and can be marked as static",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Validation.Tests.cs",
"region": {
"startLine": 171,
"startColumn": 18,
"endLine": 171,
"endColumn": 34
}
}
}
],
"properties": {
"warningLevel": 1
}
},
{
"ruleId": "xUnit2024",
"level": "note",
"message": "Do not use Assert.True to test equality against null, numeric, string, or enum literals. Use Assert.Equal instead.",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.Tests.cs",
"region": {
"startLine": 252,
"startColumn": 9,
"endLine": 252,
"endColumn": 39
}
}
}
],
"properties": {
"warningLevel": 1,
"customProperties": {
"LiteralValue": "False",
"MethodName": "True",
"Replacement": "Equal"
}
}
},
{
"ruleId": "CA1859",
"level": "note",
"message": "Change type of variable 'feed' from 'QuanTAlib.IFeed' to 'QuanTAlib.CsvFeed' for improved performance",
"locations": [
{
"resultFile": {
"uri": "file:///Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.Tests.cs",
"region": {
"startLine": 201,
"startColumn": 15,
"endLine": 201,
"endColumn": 19
}
}
}
],
"properties": {
"warningLevel": 1
}
}
],
"rules": {
"CA1816": {
"id": "CA1816",
"shortDescription": "Dispose methods should call SuppressFinalize",
"fullDescription": "A method that is an implementation of Dispose does not call GC.SuppressFinalize; or a method that is not an implementation of Dispose calls GC.SuppressFinalize; or a method calls GC.SuppressFinalize and passes something other than this (Me in Visual Basic).",
"defaultLevel": "note",
"helpUri": "https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1816",
"properties": {
"category": "Usage",
"isEnabledByDefault": true,
"tags": [
"PortedFromFxCop",
"Telemetry",
"EnabledRuleInAggressiveMode"
]
}
},
"CA1822": {
"id": "CA1822",
"shortDescription": "Mark members as static",
"fullDescription": "Members that do not access instance data or call instance methods can be marked as static. After you mark the methods as static, the compiler will emit nonvirtual call sites to these members. This can give you a measurable performance gain for performance-sensitive code.",
"defaultLevel": "note",
"helpUri": "https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1822",
"properties": {
"category": "Performance",
"isEnabledByDefault": true,
"tags": [
"PortedFromFxCop",
"Telemetry",
"EnabledRuleInAggressiveMode"
]
}
},
"CA1859": {
"id": "CA1859",
"shortDescription": "Use concrete types when possible for improved performance",
"fullDescription": "Using concrete types avoids virtual or interface call overhead and enables inlining.",
"defaultLevel": "note",
"helpUri": "https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1859",
"properties": {
"category": "Performance",
"isEnabledByDefault": true,
"tags": [
"Telemetry",
"EnabledRuleInAggressiveMode"
]
}
},
"xUnit2024": {
"id": "xUnit2024",
"shortDescription": "Do not use boolean asserts for simple equality tests",
"defaultLevel": "note",
"helpUri": "https://xunit.net/xunit.analyzers/rules/xUnit2024",
"properties": {
"category": "Assertions",
"isEnabledByDefault": true
}
}
}
}
]
}
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sonarsource.com/msbuild/integration/2015/1">
<ProjectName>QuanTAlib.Tests</ProjectName>
<ProjectLanguage>C#</ProjectLanguage>
<ProjectType>Test</ProjectType>
<ProjectGuid>953f0406-dd9b-406e-993d-6d988d5f5423</ProjectGuid>
<FullPath>/Users/mihakralj/Github/QuanTAlib/lib/QuanTAlib.Tests.csproj</FullPath>
<IsExcluded>false</IsExcluded>
<AnalysisResultFiles>
<AnalysisResultFile Id="FilesToAnalyze" Location="/Users/mihakralj/Github/QuanTAlib/.sonarqube/conf/2/FilesToAnalyze.txt" />
</AnalysisResultFiles>
<AnalysisSettings>
<Property Name="sonar.cs.roslyn.reportFilePaths">/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/2/Issues.json</Property>
<Property Name="sonar.cs.analyzer.projectOutPaths">/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/2</Property>
<Property Name="sonar.cs.scanner.telemetry">/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/2/Telemetry.json</Property>
</AnalysisSettings>
<Configuration>Debug</Configuration>
<Platform>AnyCPU</Platform>
<TargetFramework>net10.0</TargetFramework>
</ProjectInfo>
+1
View File
@@ -0,0 +1 @@
{"dotnetenterprise.s4net.build.target_framework_moniker":".NETCoreApp,Version=v10.0"}
@@ -0,0 +1,15 @@
h
]/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/Debug/net10.0/QuanTAlib.Tests.AssemblyInfo.csutf-8x
m/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.csutf-8j
_/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/Debug/net10.0/QuanTAlib.Tests.GlobalUsings.g.csutf-8y
n/Users/mihakralj/.nuget/packages/microsoft.net.test.sdk/17.14.1/build/net8.0/Microsoft.NET.Test.Sdk.Program.csutf-8E
</Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/Gbm.Tests.csutf-8I
@/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.Tests.csutf-8J
A/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.Tests.csutf-8L
C/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.Tests.csutf-8R
I/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.Tests.csutf-8F
=/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.Tests.csutf-8P
G/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.Tests.csutf-8S
J/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Validation.Tests.csutf-8N
E/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/EmaVector.Tests.csutf-8H
?/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Tests.csutf-8
+1
View File
@@ -0,0 +1 @@
Roslyn version: 5.0.0.0Language version: Preview!Concurrent execution: enabled…File '/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/Debug/net10.0/QuanTAlib.Tests.AssemblyInfo.cs' was recognized as generated•File '/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs' was recognized as generated‡File '/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/Debug/net10.0/QuanTAlib.Tests.GlobalUsings.g.cs' was recognized as generatedFile '/Users/mihakralj/.nuget/packages/microsoft.net.test.sdk/17.14.1/build/net8.0/Microsoft.NET.Test.Sdk.Program.cs' was recognized as generated
File diff suppressed because it is too large Load Diff
+1
View File
@@ -0,0 +1 @@
RR</Users/mihakralj/Github/QuanTAlib/lib/QuanTAlib.Tests.csproj¢net10.0òPreview
@@ -0,0 +1,276 @@
ã
</Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/Gbm.Tests.csQuanTAlib.TestsA
QuanTAlib.Tests.GBMTests%Next_DefaultParameter_GeneratesNewBar;
QuanTAlib.Tests.GBMTestsNext_IsNewTrue_AdvancesToNewBar=
QuanTAlib.Tests.GBMTests!Next_IsNewFalse_UpdatesCurrentBar6
QuanTAlib.Tests.GBMTestsNext_RefBool_HonorsRequest7
QuanTAlib.Tests.GBMTestsFetch_GeneratesCorrectCount9
QuanTAlib.Tests.GBMTestsFetch_GeneratesSequentialBars2
QuanTAlib.Tests.GBMTestsFetch_RespectsInterval7
QuanTAlib.Tests.GBMTestsFetch_StartsAtSpecifiedTimeG
QuanTAlib.Tests.GBMTests+Fetch_WithDifferentIntervals_WorksCorrectly3
QuanTAlib.Tests.GBMTestsGeneratesRealisticOHLCV<
QuanTAlib.Tests.GBMTests IntraBarUpdates_ModifyCurrentBarA
QuanTAlib.Tests.GBMTests%MixedStreamingAndBatch_WorksCorrectlyB
QuanTAlib.Tests.GBMTests&DriftAndVolatility_AffectPriceMovement?
QuanTAlib.Tests.GBMTests#ConsecutiveCalls_MaintainContinuity6
QuanTAlib.Tests.GBMTestsStateless_NoHistoryStorage‡
@/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.Tests.csQuanTAlib.Tests?
QuanTAlib.Tests.CsvFeedTestsConstructor_ValidFile_LoadsDataW
QuanTAlib.Tests.CsvFeedTests7Constructor_NonExistentFile_ThrowsFileNotFoundExceptionL
QuanTAlib.Tests.CsvFeedTests,Constructor_NullPath_ThrowsArgumentExceptionM
QuanTAlib.Tests.CsvFeedTests-Constructor_EmptyPath_ThrowsArgumentException?
QuanTAlib.Tests.CsvFeedTestsNext_StreamsDataChronologicallyF
QuanTAlib.Tests.CsvFeedTests&Next_WithRefParameter_StreamsCorrectlyD
QuanTAlib.Tests.CsvFeedTests$Next_UpdateCurrentBar_ReturnsSameBar@
QuanTAlib.Tests.CsvFeedTests Next_EndOfData_SignalsNoMoreData@
QuanTAlib.Tests.CsvFeedTests Fetch_ReturnsCorrectNumberOfBarsJ
QuanTAlib.Tests.CsvFeedTests*Fetch_InvalidCount_ThrowsArgumentException=
QuanTAlib.Tests.CsvFeedTestsFetch_ResetsStreamingPositionA
QuanTAlib.Tests.CsvFeedTests!LoadFromCsv_ParsesValuesCorrectlyD
QuanTAlib.Tests.CsvFeedTests$LoadFromCsv_DataInChronologicalOrder?
QuanTAlib.Tests.CsvFeedTestsCsvFeed_WorksWithIFeedInterfaceE
QuanTAlib.Tests.CsvFeedTests%Next_MixedNewAndUpdate_WorksCorrectlyD
QuanTAlib.Tests.CsvFeedTests$Fetch_WithEarlyStartTime_ReturnsDataF
QuanTAlib.Tests.CsvFeedTests&Fetch_WithFutureStartTime_ReturnsEmpty†
A/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.Tests.csQuanTAlib.TestsO
QuanTAlib.Tests.TValueTests0Constructor_WithLongTime_SetsPropertiesCorrectlyO
QuanTAlib.Tests.TValueTests0Constructor_WithDateTime_SetsPropertiesCorrectly@
QuanTAlib.Tests.TValueTests!AsDateTime_ReturnsCorrectDateTime8
QuanTAlib.Tests.TValueTestsToString_FormatsCorrectlyG
QuanTAlib.Tests.TValueTests(ImplicitConversion_ToDouble_ReturnsValueS
QuanTAlib.Tests.TValueTests4ImplicitConversion_ToDateTime_ReturnsCorrectDateTimeC
QuanTAlib.Tests.TValueTests$Equals_TValue_SameValues_ReturnsTrueG
QuanTAlib.Tests.TValueTests(Equals_TValue_DifferentTime_ReturnsFalseH
QuanTAlib.Tests.TValueTests)Equals_TValue_DifferentValue_ReturnsFalseC
QuanTAlib.Tests.TValueTests$Equals_Object_SameTValue_ReturnsTrueG
QuanTAlib.Tests.TValueTests(Equals_Object_DifferentType_ReturnsFalse>
QuanTAlib.Tests.TValueTestsEquals_Object_Null_ReturnsFalseI
QuanTAlib.Tests.TValueTests*GetHashCode_SameValues_ReturnsSameHashCodeS
QuanTAlib.Tests.TValueTests4GetHashCode_DifferentValues_ReturnsDifferentHashCodeF
QuanTAlib.Tests.TValueTests'EqualityOperator_SameValues_ReturnsTrueL
QuanTAlib.Tests.TValueTests-EqualityOperator_DifferentValues_ReturnsFalseI
QuanTAlib.Tests.TValueTests*InequalityOperator_SameValues_ReturnsFalseM
QuanTAlib.Tests.TValueTests.InequalityOperator_DifferentValues_ReturnsTrue¸
C/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.Tests.csQuanTAlib.TestsF
QuanTAlib.Tests.TSeriesTests&Constructor_Default_CreatesEmptySeriesK
QuanTAlib.Tests.TSeriesTests+Constructor_WithCapacity_CreatesEmptySeriesG
QuanTAlib.Tests.TSeriesTests'Constructor_WithLists_WrapsExistingData8
QuanTAlib.Tests.TSeriesTestsName_DefaultValue_IsData-
QuanTAlib.Tests.TSeriesTests Name_CanBeSet;
QuanTAlib.Tests.TSeriesTestsAdd_NewValue_IncreasesCountD
QuanTAlib.Tests.TSeriesTests$Add_UpdateValue_DoesNotIncreaseCountA
QuanTAlib.Tests.TSeriesTests!Add_MultipleValues_MaintainsOrder6
QuanTAlib.Tests.TSeriesTestsAdd_TValue_AddsNewItemA
QuanTAlib.Tests.TSeriesTests!Add_TValueWithIsNew_AddsOrUpdates:
QuanTAlib.Tests.TSeriesTestsAdd_WithDateTime_AddsValueC
QuanTAlib.Tests.TSeriesTests#Add_EnumerableDoubles_AddsAllValuesC
QuanTAlib.Tests.TSeriesTests#Add_UpdateOnEmptySeries_AddsNewItem?
QuanTAlib.Tests.TSeriesTestsLast_EmptySeries_ReturnsDefaultD
QuanTAlib.Tests.TSeriesTests$Last_NonEmptySeries_ReturnsLastValue@
QuanTAlib.Tests.TSeriesTests LastValue_EmptySeries_ReturnsNaNI
QuanTAlib.Tests.TSeriesTests)LastValue_NonEmptySeries_ReturnsLastValue@
QuanTAlib.Tests.TSeriesTests LastTime_EmptySeries_ReturnsZeroG
QuanTAlib.Tests.TSeriesTests'LastTime_NonEmptySeries_ReturnsLastTimeB
QuanTAlib.Tests.TSeriesTests"Values_ReturnsReadOnlySpanOfValues@
QuanTAlib.Tests.TSeriesTests Times_ReturnsReadOnlySpanOfTimes<
QuanTAlib.Tests.TSeriesTestsIndexer_ReturnsCorrectTValue?
QuanTAlib.Tests.TSeriesTestsGetEnumerator_IteratesAllValues>
QuanTAlib.Tests.TSeriesTestsGetEnumerator_NonGeneric_Works7
QuanTAlib.Tests.TSeriesTestsPub_Event_IsRaisedOnAdd:
QuanTAlib.Tests.TSeriesTestsPub_Event_IsRaisedOnUpdate9
QuanTAlib.Tests.TSeriesTestsCount_ReturnsCorrectValueš
I/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.Tests.csQuanTAlib.TestsI
QuanTAlib.Tests.TBarSeriesTests&Constructor_Default_CreatesEmptySeriesN
QuanTAlib.Tests.TBarSeriesTests+Constructor_WithCapacity_CreatesEmptySeries:
QuanTAlib.Tests.TBarSeriesTestsName_DefaultValue_IsBar0
QuanTAlib.Tests.TBarSeriesTests Name_CanBeSet<
QuanTAlib.Tests.TBarSeriesTestsAdd_NewBar_IncreasesCountE
QuanTAlib.Tests.TBarSeriesTests"Add_UpdateBar_DoesNotIncreaseCountE
QuanTAlib.Tests.TBarSeriesTests"Add_UpdateOnEmptySeries_AddsNewBar;
QuanTAlib.Tests.TBarSeriesTestsAdd_WithLongTime_AddsBar;
QuanTAlib.Tests.TBarSeriesTestsAdd_WithDateTime_AddsBarG
QuanTAlib.Tests.TBarSeriesTests$Add_WithEnumerables_AddsMultipleBars7
QuanTAlib.Tests.TBarSeriesTestsSubSeries_AreUpdated9
QuanTAlib.Tests.TBarSeriesTestsSubSeries_Aliases_Work=
QuanTAlib.Tests.TBarSeriesTestsSubSeries_HaveCorrectNamesB
QuanTAlib.Tests.TBarSeriesTestsLast_EmptySeries_ReturnsDefaultE
QuanTAlib.Tests.TBarSeriesTests"Last_NonEmptySeries_ReturnsLastBarC
QuanTAlib.Tests.TBarSeriesTests LastTime_EmptySeries_ReturnsZeroJ
QuanTAlib.Tests.TBarSeriesTests'LastTime_NonEmptySeries_ReturnsLastTimeB
QuanTAlib.Tests.TBarSeriesTestsLastOpen_EmptySeries_ReturnsNaNJ
QuanTAlib.Tests.TBarSeriesTests'LastOpen_NonEmptySeries_ReturnsLastOpenB
QuanTAlib.Tests.TBarSeriesTestsLastHigh_EmptySeries_ReturnsNaNJ
QuanTAlib.Tests.TBarSeriesTests'LastHigh_NonEmptySeries_ReturnsLastHighA
QuanTAlib.Tests.TBarSeriesTestsLastLow_EmptySeries_ReturnsNaNH
QuanTAlib.Tests.TBarSeriesTests%LastLow_NonEmptySeries_ReturnsLastLowC
QuanTAlib.Tests.TBarSeriesTests LastClose_EmptySeries_ReturnsNaNL
QuanTAlib.Tests.TBarSeriesTests)LastClose_NonEmptySeries_ReturnsLastCloseD
QuanTAlib.Tests.TBarSeriesTests!LastVolume_EmptySeries_ReturnsNaNN
QuanTAlib.Tests.TBarSeriesTests+LastVolume_NonEmptySeries_ReturnsLastVolume<
QuanTAlib.Tests.TBarSeriesTestsIndexer_ReturnsCorrectBar<
QuanTAlib.Tests.TBarSeriesTestsCount_ReturnsCorrectValue@
QuanTAlib.Tests.TBarSeriesTestsGetEnumerator_IteratesAllBarsA
QuanTAlib.Tests.TBarSeriesTestsGetEnumerator_NonGeneric_Works:
QuanTAlib.Tests.TBarSeriesTestsPub_Event_IsRaisedOnAdd=
QuanTAlib.Tests.TBarSeriesTestsPub_Event_IsRaisedOnUpdate?
QuanTAlib.Tests.TBarSeriesTestsSubSeries_ShareSameTimeArrayB
QuanTAlib.Tests.TBarSeriesTestsAdd_MultipleBars_MaintainsOrderÊ
=/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.Tests.csQuanTAlib.Tests@
QuanTAlib.Tests.TBarTests#Constructor_SetsPropertiesCorrectlyM
QuanTAlib.Tests.TBarTests0Constructor_WithDateTime_SetsPropertiesCorrectly>
QuanTAlib.Tests.TBarTests!AsDateTime_ReturnsCorrectDateTimeB
QuanTAlib.Tests.TBarTests%O_Property_ReturnsTValueWithOpenPriceB
QuanTAlib.Tests.TBarTests%H_Property_ReturnsTValueWithHighPriceA
QuanTAlib.Tests.TBarTests$L_Property_ReturnsTValueWithLowPriceC
QuanTAlib.Tests.TBarTests&C_Property_ReturnsTValueWithClosePrice?
QuanTAlib.Tests.TBarTests"V_Property_ReturnsTValueWithVolume4
QuanTAlib.Tests.TBarTestsHL2_CalculatesCorrectly4
QuanTAlib.Tests.TBarTestsOC2_CalculatesCorrectly5
QuanTAlib.Tests.TBarTestsOHL3_CalculatesCorrectly5
QuanTAlib.Tests.TBarTestsHLC3_CalculatesCorrectly6
QuanTAlib.Tests.TBarTestsOHLC4_CalculatesCorrectly6
QuanTAlib.Tests.TBarTestsHLCC4_CalculatesCorrectlyJ
QuanTAlib.Tests.TBarTests-ImplicitConversion_ToDouble_ReturnsClosePriceR
QuanTAlib.Tests.TBarTests5ImplicitConversion_ToTValue_ReturnsClosePriceWithTimeQ
QuanTAlib.Tests.TBarTests4ImplicitConversion_ToDateTime_ReturnsCorrectDateTime<
QuanTAlib.Tests.TBarTestsToString_ReturnsFormattedString=
QuanTAlib.Tests.TBarTests Equals_TBar_SameBars_ReturnsTrueC
QuanTAlib.Tests.TBarTests&Equals_TBar_DifferentTime_ReturnsFalseC
QuanTAlib.Tests.TBarTests&Equals_TBar_DifferentOpen_ReturnsFalseC
QuanTAlib.Tests.TBarTests&Equals_TBar_DifferentHigh_ReturnsFalseB
QuanTAlib.Tests.TBarTests%Equals_TBar_DifferentLow_ReturnsFalseD
QuanTAlib.Tests.TBarTests'Equals_TBar_DifferentClose_ReturnsFalseE
QuanTAlib.Tests.TBarTests(Equals_TBar_DifferentVolume_ReturnsFalse?
QuanTAlib.Tests.TBarTests"Equals_Object_SameTBar_ReturnsTrueE
QuanTAlib.Tests.TBarTests(Equals_Object_DifferentType_ReturnsFalse<
QuanTAlib.Tests.TBarTestsEquals_Object_Null_ReturnsFalseE
QuanTAlib.Tests.TBarTests(GetHashCode_SameBars_ReturnsSameHashCodeO
QuanTAlib.Tests.TBarTests2GetHashCode_DifferentBars_ReturnsDifferentHashCodeB
QuanTAlib.Tests.TBarTests%EqualityOperator_SameBars_ReturnsTrueH
QuanTAlib.Tests.TBarTests+EqualityOperator_DifferentBars_ReturnsFalseE
QuanTAlib.Tests.TBarTests(InequalityOperator_SameBars_ReturnsFalseI
QuanTAlib.Tests.TBarTests,InequalityOperator_DifferentBars_ReturnsTrue
J/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Validation.Tests.csQuanTAlib.Tests6
"QuanTAlib.Tests.EmaValidationTestsValidate_Skender4
"QuanTAlib.Tests.EmaValidationTestsValidate_Talib4
"QuanTAlib.Tests.EmaValidationTestsValidate_Tulipò
E/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/EmaVector.Tests.csQuanTAlib.TestsN
QuanTAlib.Tests.EmaVectorTests,Initialization_WithPeriods_SetsCorrectAlphasA
QuanTAlib.Tests.EmaVectorTestsInitialization_WithAlphas_WorksW
QuanTAlib.Tests.EmaVectorTests5Initialization_WithZeroPeriod_ThrowsArgumentException[
QuanTAlib.Tests.EmaVectorTests9Initialization_WithNegativePeriod_ThrowsArgumentExceptionV
QuanTAlib.Tests.EmaVectorTests4Initialization_WithZeroAlpha_ThrowsArgumentExceptionZ
QuanTAlib.Tests.EmaVectorTests8Initialization_WithNegativeAlpha_ThrowsArgumentException`
QuanTAlib.Tests.EmaVectorTests>Initialization_WithAlphaGreaterThanOne_ThrowsArgumentExceptionJ
QuanTAlib.Tests.EmaVectorTests(Initialization_WithAlphaEqualToOne_WorksA
QuanTAlib.Tests.EmaVectorTestsCalc_Streaming_MatchesSingleEma>
QuanTAlib.Tests.EmaVectorTestsCalc_Series_MatchesSingleEma>
QuanTAlib.Tests.EmaVectorTestsCalc_Series_MatchesStreamingH
QuanTAlib.Tests.EmaVectorTests&Calculate_Static_MatchesInstanceMethod3
QuanTAlib.Tests.EmaVectorTestsReset_ClearsStateE
QuanTAlib.Tests.EmaVectorTests#Update_NaN_Input_UsesLastValidValueJ
QuanTAlib.Tests.EmaVectorTests(Update_Infinity_Input_UsesLastValidValueK
QuanTAlib.Tests.EmaVectorTests)Update_MultipleNaN_ContinuesWithLastValid=
QuanTAlib.Tests.EmaVectorTestsCalculate_Series_HandlesNaN<
QuanTAlib.Tests.EmaVectorTestsReset_ClearsLastValidValue?
QuanTAlib.Tests.EmaVectorTestsNaN_Handling_MatchesSingleEmaD
QuanTAlib.Tests.EmaVectorTests"Values_Property_UpdatesAfterUpdateG
QuanTAlib.Tests.EmaVectorTests%Values_Property_UpdatesAfterCalculateÐ1
G/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.Tests.csQuanTAlib.TestsO
#QuanTAlib.Tests.SimdExtensionsTests(ContainsNonFinite_EmptySpan_ReturnsFalseO
#QuanTAlib.Tests.SimdExtensionsTests(ContainsNonFinite_AllFinite_ReturnsFalseP
#QuanTAlib.Tests.SimdExtensionsTests)ContainsNonFinite_ContainsNaN_ReturnsTrue]
#QuanTAlib.Tests.SimdExtensionsTests6ContainsNonFinite_ContainsPositiveInfinity_ReturnsTrue]
#QuanTAlib.Tests.SimdExtensionsTests6ContainsNonFinite_ContainsNegativeInfinity_ReturnsTrueY
#QuanTAlib.Tests.SimdExtensionsTests2ContainsNonFinite_NonFiniteInRemainder_ReturnsTrueN
#QuanTAlib.Tests.SimdExtensionsTests'ContainsNonFinite_SingleNaN_ReturnsTrue[
#QuanTAlib.Tests.SimdExtensionsTests4ContainsNonFinite_TwoElements_AllFinite_ReturnsFalseW
#QuanTAlib.Tests.SimdExtensionsTests0ContainsNonFinite_TwoElements_OneNaN_ReturnsTrueD
#QuanTAlib.Tests.SimdExtensionsTestsSumSIMD_EmptySpan_ReturnsZeroK
#QuanTAlib.Tests.SimdExtensionsTests$SumSIMD_SingleElement_ReturnsElementE
#QuanTAlib.Tests.SimdExtensionsTestsSumSIMD_TwoElements_ReturnsSumQ
#QuanTAlib.Tests.SimdExtensionsTests*SumSIMD_MultipleElements_ReturnsCorrectSumK
#QuanTAlib.Tests.SimdExtensionsTests$SumSIMD_LargeArray_ReturnsCorrectSumE
#QuanTAlib.Tests.SimdExtensionsTestsSumSIMD_ContainsNaN_ReturnsNaNJ
#QuanTAlib.Tests.SimdExtensionsTests#SumSIMD_ContainsInfinity_ReturnsNaNO
#QuanTAlib.Tests.SimdExtensionsTests(SumSIMD_NegativeValues_ReturnsCorrectSumC
#QuanTAlib.Tests.SimdExtensionsTestsMinSIMD_EmptySpan_ReturnsNaNK
#QuanTAlib.Tests.SimdExtensionsTests$MinSIMD_SingleElement_ReturnsElementI
#QuanTAlib.Tests.SimdExtensionsTests"MinSIMD_TwoElements_ReturnsMinimumN
#QuanTAlib.Tests.SimdExtensionsTests'MinSIMD_MultipleElements_ReturnsMinimumE
#QuanTAlib.Tests.SimdExtensionsTestsMinSIMD_ContainsNaN_ReturnsNaNO
#QuanTAlib.Tests.SimdExtensionsTests(MinSIMD_MinInRemainder_ReturnsCorrectMinL
#QuanTAlib.Tests.SimdExtensionsTests%MinSIMD_NegativeValues_ReturnsMinimumC
#QuanTAlib.Tests.SimdExtensionsTestsMaxSIMD_EmptySpan_ReturnsNaNK
#QuanTAlib.Tests.SimdExtensionsTests$MaxSIMD_SingleElement_ReturnsElementI
#QuanTAlib.Tests.SimdExtensionsTests"MaxSIMD_TwoElements_ReturnsMaximumN
#QuanTAlib.Tests.SimdExtensionsTests'MaxSIMD_MultipleElements_ReturnsMaximumE
#QuanTAlib.Tests.SimdExtensionsTestsMaxSIMD_ContainsNaN_ReturnsNaNO
#QuanTAlib.Tests.SimdExtensionsTests(MaxSIMD_MaxInRemainder_ReturnsCorrectMaxL
#QuanTAlib.Tests.SimdExtensionsTests%MaxSIMD_NegativeValues_ReturnsMaximumG
#QuanTAlib.Tests.SimdExtensionsTests AverageSIMD_EmptySpan_ReturnsNaNM
#QuanTAlib.Tests.SimdExtensionsTests&AverageSIMD_TwoElements_ReturnsAverageY
#QuanTAlib.Tests.SimdExtensionsTests2AverageSIMD_MultipleElements_ReturnsCorrectAverageI
#QuanTAlib.Tests.SimdExtensionsTests"AverageSIMD_ContainsNaN_ReturnsNaNR
#QuanTAlib.Tests.SimdExtensionsTests+VarianceSIMD_LessThanTwoElements_ReturnsNaNH
#QuanTAlib.Tests.SimdExtensionsTests!VarianceSIMD_EmptySpan_ReturnsNaNN
#QuanTAlib.Tests.SimdExtensionsTests'VarianceSIMD_TwoElements_ReturnsCorrectP
#QuanTAlib.Tests.SimdExtensionsTests)VarianceSIMD_ThreeElements_ReturnsCorrect[
#QuanTAlib.Tests.SimdExtensionsTests4VarianceSIMD_MultipleElements_ReturnsCorrectVarianceU
#QuanTAlib.Tests.SimdExtensionsTests.VarianceSIMD_WithProvidedMean_UsesProvidedMeanJ
#QuanTAlib.Tests.SimdExtensionsTests#VarianceSIMD_ContainsNaN_ReturnsNaNJ
#QuanTAlib.Tests.SimdExtensionsTests#VarianceSIMD_WithNaNMean_ReturnsNaNO
#QuanTAlib.Tests.SimdExtensionsTests(VarianceSIMD_WithInfinityMean_ReturnsNaNL
#QuanTAlib.Tests.SimdExtensionsTests%StdDevSIMD_TwoElements_ReturnsCorrectW
#QuanTAlib.Tests.SimdExtensionsTests0StdDevSIMD_MultipleElements_ReturnsCorrectStdDevH
#QuanTAlib.Tests.SimdExtensionsTests!StdDevSIMD_WithProvidedMean_WorksH
#QuanTAlib.Tests.SimdExtensionsTests!StdDevSIMD_ContainsNaN_ReturnsNaNJ
#QuanTAlib.Tests.SimdExtensionsTests#MinMaxSIMD_EmptySpan_ReturnsBothNaNP
#QuanTAlib.Tests.SimdExtensionsTests)MinMaxSIMD_SingleElement_ReturnsSameValueL
#QuanTAlib.Tests.SimdExtensionsTests%MinMaxSIMD_TwoElements_ReturnsCorrectW
#QuanTAlib.Tests.SimdExtensionsTests0MinMaxSIMD_MultipleElements_ReturnsCorrectMinMaxL
#QuanTAlib.Tests.SimdExtensionsTests%MinMaxSIMD_ContainsNaN_ReturnsBothNaNR
#QuanTAlib.Tests.SimdExtensionsTests+MinMaxSIMD_MinMaxInRemainder_ReturnsCorrectO
#QuanTAlib.Tests.SimdExtensionsTests(MinMaxSIMD_NegativeValues_ReturnsCorrectB
#QuanTAlib.Tests.SimdExtensionsTestsSIMD_WorksWithTSeriesValuesD
#QuanTAlib.Tests.SimdExtensionsTestsSIMD_WorksWithTBarSeriesCloseH
#QuanTAlib.Tests.SimdExtensionsTests!SIMD_PerformanceTest_LargeDatasetE
#QuanTAlib.Tests.SimdExtensionsTestsSIMD_ScalarFallback_SmallArrayY
'QuanTAlib.Tests.SimdScalarFallbackTests.ContainsNonFiniteScalar_AllFinite_ReturnsFalseZ
'QuanTAlib.Tests.SimdScalarFallbackTests/ContainsNonFiniteScalar_ContainsNaN_ReturnsTrue_
'QuanTAlib.Tests.SimdScalarFallbackTests4ContainsNonFiniteScalar_ContainsInfinity_ReturnsTrueU
'QuanTAlib.Tests.SimdScalarFallbackTests*ContainsNonFiniteScalar_Empty_ReturnsFalseW
'QuanTAlib.Tests.SimdScalarFallbackTests,SumScalar_MultipleElements_ReturnsCorrectSumU
'QuanTAlib.Tests.SimdScalarFallbackTests*SumScalar_NegativeValues_ReturnsCorrectSumF
'QuanTAlib.Tests.SimdScalarFallbackTestsSumScalar_Empty_ReturnsZeroT
'QuanTAlib.Tests.SimdScalarFallbackTests)MinScalar_MultipleElements_ReturnsMinimumR
'QuanTAlib.Tests.SimdScalarFallbackTests'MinScalar_NegativeValues_ReturnsMinimumQ
'QuanTAlib.Tests.SimdScalarFallbackTests&MinScalar_SingleElement_ReturnsElementT
'QuanTAlib.Tests.SimdScalarFallbackTests)MaxScalar_MultipleElements_ReturnsMaximumR
'QuanTAlib.Tests.SimdScalarFallbackTests'MaxScalar_NegativeValues_ReturnsMaximumQ
'QuanTAlib.Tests.SimdScalarFallbackTests&MaxScalar_SingleElement_ReturnsElementa
'QuanTAlib.Tests.SimdScalarFallbackTests6VarianceScalar_MultipleElements_ReturnsCorrectVariance\
'QuanTAlib.Tests.SimdScalarFallbackTests1VarianceScalar_TwoElements_ReturnsCorrectVariance]
'QuanTAlib.Tests.SimdScalarFallbackTests2MinMaxScalar_MultipleElements_ReturnsCorrectMinMax[
'QuanTAlib.Tests.SimdScalarFallbackTests0MinMaxScalar_NegativeValues_ReturnsCorrectMinMaxV
'QuanTAlib.Tests.SimdScalarFallbackTests+MinMaxScalar_SingleElement_ReturnsSameValueý
?/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Tests.csQuanTAlib.TestsA
QuanTAlib.Tests.EmaTests%Ema_Constructor_Period_ValidatesInput@
QuanTAlib.Tests.EmaTests$Ema_Constructor_Alpha_ValidatesInput1
QuanTAlib.Tests.EmaTestsEma_Calc_ReturnsValue;
QuanTAlib.Tests.EmaTestsEma_Calc_IsNew_AcceptsParameter=
QuanTAlib.Tests.EmaTests!Ema_Calc_IsNew_False_UpdatesValue1
QuanTAlib.Tests.EmaTestsEma_Reset_ClearsState5
QuanTAlib.Tests.EmaTestsEma_Properties_Accessible<
QuanTAlib.Tests.EmaTests Ema_IsHot_BecomesTrueAfterWarmupF
QuanTAlib.Tests.EmaTests*Ema_PeriodEquivalence_BothConstructorsWorkK
QuanTAlib.Tests.EmaTests/Ema_IterativeCorrections_RestoreToOriginalState>
QuanTAlib.Tests.EmaTests"Ema_BatchCalc_MatchesIterativeCalcA
QuanTAlib.Tests.EmaTests%Ema_Result_ImplicitConversionToDouble<
QuanTAlib.Tests.EmaTests Ema_NaN_Input_UsesLastValidValueA
QuanTAlib.Tests.EmaTests%Ema_Infinity_Input_UsesLastValidValueB
QuanTAlib.Tests.EmaTests&Ema_MultipleNaN_ContinuesWithLastValid4
QuanTAlib.Tests.EmaTestsEma_BatchCalc_HandlesNaN:
QuanTAlib.Tests.EmaTestsEma_Reset_ClearsLastValidValue
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
{"dotnetenterprise.s4net.params.sonar_cs_opencover_reportspaths.source":"CLI"}
{"dotnetenterprise.s4net.serverInfo.region":"default"}
{"dotnetenterprise.s4net.serverInfo.product":"SQ_Cloud"}
{"dotnetenterprise.s4net.serverInfo.serverUrl":"https://sonarcloud.io"}
{"dotnetenterprise.s4net.serverInfo.version":"8.0.0.76937"}
{"dotnetenterprise.s4net.jre.bootstrapping":"Enabled"}
{"dotnetenterprise.s4net.jre.download":"CacheHit"}
{"dotnetenterprise.s4net.scannerEngine.bootstrapping":"Enabled"}
{"dotnetenterprise.s4net.scannerEngine.download":"CacheHit"}
{"dotnetenterprise.s4net.endstep.legacyTFS":"NotCalled"}
@@ -0,0 +1,2 @@
{"dotnetenterprise.s4net.build.visual_studio_version":"18.0"}
{"dotnetenterprise.s4net.build.msbuild_version":"18.0.2"}
+188
View File
@@ -0,0 +1,188 @@
{
"scannerProperties": [
{
"key": "sonar.scanner.app",
"value": "ScannerMSBuild"
},
{
"key": "sonar.scanner.appVersion",
"value": "11.0"
},
{
"key": "sonar.scanner.bootstrapStartTime",
"value": "1764463248000"
},
{
"key": "sonar.projectKey",
"value": "mihakralj_QuanTAlib"
},
{
"key": "sonar.working.directory",
"value": "/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/.sonar"
},
{
"key": "sonar.projectBaseDir",
"value": "/Users/mihakralj/Github/QuanTAlib"
},
{
"key": "sonar.pullrequest.cache.basepath",
"value": "/Users/mihakralj/Github/QuanTAlib"
},
{
"key": "sonar.sources",
"value": "/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Quantower.cs,/Users/mihakralj/Github/QuanTAlib/.github/TradingPlatform.BusinessLayer.xml,/Users/mihakralj/Github/QuanTAlib/.config/dotnet-tools.json,/Users/mihakralj/Github/QuanTAlib/.vs/VSWorkspaceState.json,/Users/mihakralj/Github/QuanTAlib/.codacy/cli.sh,/Users/mihakralj/Github/QuanTAlib/.codacy/codacy.yaml,/Users/mihakralj/Github/QuanTAlib/.codacy/cli-config.yaml,/Users/mihakralj/Github/QuanTAlib/.sonarlint/QuanTAlib.json,/Users/mihakralj/Github/QuanTAlib/.vscode/settings.json,/Users/mihakralj/Github/QuanTAlib/.vscode/extensions.json,/Users/mihakralj/Github/QuanTAlib/.vscode/launch.json,/Users/mihakralj/Github/QuanTAlib/.vscode/tasks.json,/Users/mihakralj/Github/QuanTAlib/.codacy/tools-configs/semgrep.yaml,/Users/mihakralj/Github/QuanTAlib/.codacy/tools-configs/trivy.yaml,/Users/mihakralj/Github/QuanTAlib/.codacy/tools-configs/languages-config.yaml,/Users/mihakralj/Github/QuanTAlib/.codacy/tools-configs/lizard.yaml,/Users/mihakralj/Github/QuanTAlib/.codacy/tools-configs/analysis_options.yaml,/Users/mihakralj/Github/QuanTAlib/.codacy/tools-configs/eslint.config.mjs,/Users/mihakralj/Github/QuanTAlib/.github/workflows/Publish.yml,/Users/mihakralj/Github/QuanTAlib/.github/codeql/codeql-config.yml,/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/8B1B55C024A0F0FBB24C2964F83C886E34CA54C0.yml,/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/346F370EBFD8AF8C2CE1A41185526E6742960059.yml,/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/3D2F07AEF9A822DC75C243AD4D59A1E997F198B8.yml,/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/358F1E2A063F7660166E92FB30EB20CCD604D883.yml,/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/341C225BE5349EBCBA453D151E9662FAEF63087E.yml,/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/7C52B17B004F856D97769A2A664C666EC4950E2E.yml,/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/B41A98D34504190C3581ED77A64579331F9C25C4.yml,/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/86D2F0BD616CFACEE52FA1335C519FD51A62928B.yml,/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/DA3611089A00C3F2C077C00D2D676C3E06DCF328.yml,/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/3D2281F760C3CC3E57CBFDD474781F65E7CB5290.yml,/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/FD12E40B4AE77AF581DFBE205749EFF7051F549F.yml,/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/0BACF8A4E876691D2D84FB01C4110EB0CCEB210A.yml,/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/3823E2C03E6D7A2C63B916E93A88C74DB04A14DC.yml,/Users/mihakralj/Github/QuanTAlib/.vs/QuanTAlib/v18/DocumentLayout.backup.json,/Users/mihakralj/Github/QuanTAlib/.vs/QuanTAlib/v18/DocumentLayout.json,/Users/mihakralj/Github/QuanTAlib/omnisharp.json,/Users/mihakralj/Github/QuanTAlib/GitVersion.yml,/Users/mihakralj/Github/QuanTAlib/.github/QuanTAlib2.png"
},
{
"key": "sonar.tests",
"value": ""
},
{
"key": "sonar.modules",
"value": "D8F03B19-F99F-475F-8951-85C9D2258B73,F455234B-2A3C-140A-17C3-683D7820A733,953F0406-DD9B-406E-993D-6D988D5F5423"
},
{
"key": "D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.projectKey",
"value": "mihakralj_QuanTAlib:D8F03B19-F99F-475F-8951-85C9D2258B73"
},
{
"key": "D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.projectName",
"value": "Averages"
},
{
"key": "D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.projectBaseDir",
"value": "/Users/mihakralj/Github/QuanTAlib/quantower"
},
{
"key": "D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.working.directory",
"value": "/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/.sonar/mod0"
},
{
"key": "D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.sourceEncoding",
"value": "utf-8"
},
{
"key": "D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.tests",
"value": ""
},
{
"key": "D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.sources",
"value": "/Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs,/Users/mihakralj/Github/QuanTAlib/quantower/obj/Averages.csproj.nuget.dgspec.json,/Users/mihakralj/Github/QuanTAlib/quantower/obj/project.packagespec.json,/Users/mihakralj/Github/QuanTAlib/quantower/obj/project.assets.json,/Users/mihakralj/Github/QuanTAlib/quantower/obj/Debug/Averages.sourcelink.json,/Users/mihakralj/Github/QuanTAlib/quantower/bin/Debug/Averages.deps.json"
},
{
"key": "D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.cs.analyzer.projectOutPaths",
"value": "/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/0"
},
{
"key": "D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.cs.roslyn.reportFilePaths",
"value": "/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/0/Issues.json"
},
{
"key": "D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.cs.scanner.telemetry",
"value": "/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/0/Telemetry.json"
},
{
"key": "F455234B-2A3C-140A-17C3-683D7820A733.sonar.projectKey",
"value": "mihakralj_QuanTAlib:F455234B-2A3C-140A-17C3-683D7820A733"
},
{
"key": "F455234B-2A3C-140A-17C3-683D7820A733.sonar.projectName",
"value": "quantalib"
},
{
"key": "F455234B-2A3C-140A-17C3-683D7820A733.sonar.projectBaseDir",
"value": "/Users/mihakralj/Github/QuanTAlib/lib"
},
{
"key": "F455234B-2A3C-140A-17C3-683D7820A733.sonar.working.directory",
"value": "/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/.sonar/mod1"
},
{
"key": "F455234B-2A3C-140A-17C3-683D7820A733.sonar.sourceEncoding",
"value": "utf-8"
},
{
"key": "F455234B-2A3C-140A-17C3-683D7820A733.sonar.tests",
"value": ""
},
{
"key": "F455234B-2A3C-140A-17C3-683D7820A733.sonar.sources",
"value": "/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.cs,/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.cs,/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs,/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.cs,/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.cs,/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.cs,/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/EmaVector.cs,/Users/mihakralj/Github/QuanTAlib/lib/obj/project.packagespec.json,/Users/mihakralj/Github/QuanTAlib/lib/obj/project.assets.json,/Users/mihakralj/Github/QuanTAlib/lib/obj/gitversion.json,/Users/mihakralj/Github/QuanTAlib/lib/obj/quantalib.csproj.nuget.dgspec.json,/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/QuanTAlib.Tests.csproj.nuget.dgspec.json,/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/project.packagespec.json,/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/project.assets.json,/Users/mihakralj/Github/QuanTAlib/lib/bin/net9.0/QuanTAlib.deps.json,/Users/mihakralj/Github/QuanTAlib/lib/bin/net10.0/QuanTAlib.deps.json,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.sourcelink.json,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.sourcelink.json,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.sourcelink.json,/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/net9.0/QuanTAlib.Tests.runtimeconfig.json,/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/net9.0/QuanTAlib.Tests.deps.json,/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/net10.0/QuanTAlib.Tests.runtimeconfig.json,/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/net10.0/QuanTAlib.Tests.deps.json,/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net8.0/QuanTAlib.deps.json,/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net9.0/QuanTAlib.deps.json,/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net10.0/QuanTAlib.deps.json,/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/Debug/net9.0/QuanTAlib.Tests.sourcelink.json,/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/Debug/net10.0/QuanTAlib.Tests.sourcelink.json,/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/Debug/net9.0/QuanTAlib.Tests.runtimeconfig.json,/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/Debug/net9.0/QuanTAlib.Tests.deps.json,/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/Debug/net10.0/QuanTAlib.Tests.runtimeconfig.json,/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/Debug/net10.0/QuanTAlib.Tests.deps.json,/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.cs,/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.cs,/Users/mihakralj/Github/QuanTAlib/lib/feeds/IFeed.cs,/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.md,/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Notebook.dib,/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.md,/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.Notebook.dib,/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.md,/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.Notebook.dib,/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.md,/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.Notebook.dib,/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.md,/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.Notebook.dib,/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.md,/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.Notebook.dib,/Users/mihakralj/Github/QuanTAlib/lib/Directory.Build.props,/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.md,/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.Notebook.dib,/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/daily_IBM.csv,/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.md,/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.Notebook.dib,/Users/mihakralj/Github/QuanTAlib/lib/feeds/IFeed.md,/Users/mihakralj/Github/QuanTAlib/lib/TestResults/09aa8f8b-17ca-430d-be58-992d5ce2aacd/coverage.opencover.xml,/Users/mihakralj/Github/QuanTAlib/lib/TestResults/b06e7fe4-4f16-46e2-8b46-bf971ee7d63d/coverage.cobertura.xml,/Users/mihakralj/Github/QuanTAlib/lib/TestResults/d5449c1c-f3e9-43cc-b9d9-304cd71e763e/coverage.opencover.xml"
},
{
"key": "F455234B-2A3C-140A-17C3-683D7820A733.sonar.cs.analyzer.projectOutPaths",
"value": "/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/1"
},
{
"key": "F455234B-2A3C-140A-17C3-683D7820A733.sonar.cs.roslyn.reportFilePaths",
"value": "/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/1/Issues.json"
},
{
"key": "F455234B-2A3C-140A-17C3-683D7820A733.sonar.cs.scanner.telemetry",
"value": "/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/1/Telemetry.json"
},
{
"key": "953F0406-DD9B-406E-993D-6D988D5F5423.sonar.projectKey",
"value": "mihakralj_QuanTAlib:953F0406-DD9B-406E-993D-6D988D5F5423"
},
{
"key": "953F0406-DD9B-406E-993D-6D988D5F5423.sonar.projectName",
"value": "QuanTAlib.Tests"
},
{
"key": "953F0406-DD9B-406E-993D-6D988D5F5423.sonar.projectBaseDir",
"value": "/Users/mihakralj/Github/QuanTAlib/lib"
},
{
"key": "953F0406-DD9B-406E-993D-6D988D5F5423.sonar.working.directory",
"value": "/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/.sonar/mod2"
},
{
"key": "953F0406-DD9B-406E-993D-6D988D5F5423.sonar.sourceEncoding",
"value": "utf-8"
},
{
"key": "953F0406-DD9B-406E-993D-6D988D5F5423.sonar.sources",
"value": ""
},
{
"key": "953F0406-DD9B-406E-993D-6D988D5F5423.sonar.tests",
"value": "/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Tests.cs,/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Validation.Tests.cs,/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/EmaVector.Tests.cs,/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.Tests.cs,/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.Tests.cs,/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.Tests.cs,/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.Tests.cs,/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.Tests.cs,/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.Tests.cs,/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/Gbm.Tests.cs,/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net10.0/QuanTAlib.pdb,/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net8.0/QuanTAlib.pdb,/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net9.0/QuanTAlib.pdb,/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/QuanTAlib.0.7.14-simd-dev.1.nupkg,/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/QuanTAlib.0.7.14-simd-dev.1.snupkg,/Users/mihakralj/Github/QuanTAlib/lib/bin/net10.0/QuanTAlib.pdb,/Users/mihakralj/Github/QuanTAlib/lib/bin/net9.0/QuanTAlib.pdb,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.AssemblyInfoInputs.cache,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.assets.cache,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.csproj.AssemblyReference.cache,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.csproj.CoreCompileInputs.cache,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.csproj.FileListAbsolute.txt,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.GeneratedMSBuildEditorConfig.editorconfig,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/QuanTAlib.pdb,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.AssemblyInfoInputs.cache,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.assets.cache,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.csproj.CoreCompileInputs.cache,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.csproj.FileListAbsolute.txt,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.GeneratedMSBuildEditorConfig.editorconfig,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/QuanTAlib.pdb,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.AssemblyInfoInputs.cache,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.assets.cache,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.csproj.CoreCompileInputs.cache,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.csproj.FileListAbsolute.txt,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.GeneratedMSBuildEditorConfig.editorconfig,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/QuanTAlib.pdb,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/QuanTAlib.0.7.14-simd-dev.1.nuspec,/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/QuanTAlib.0.7.14-simd-dev.1.symbols.nuspec,/Users/mihakralj/Github/QuanTAlib/lib/obj/project.nuget.cache,/Users/mihakralj/Github/QuanTAlib/lib/obj/quantalib.csproj.nuget.g.props,/Users/mihakralj/Github/QuanTAlib/lib/obj/quantalib.csproj.nuget.g.targets,/Users/mihakralj/Github/QuanTAlib/lib/obj/rider.project.restore.info"
},
{
"key": "953F0406-DD9B-406E-993D-6D988D5F5423.sonar.cs.analyzer.projectOutPaths",
"value": "/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/2"
},
{
"key": "953F0406-DD9B-406E-993D-6D988D5F5423.sonar.cs.roslyn.reportFilePaths",
"value": "/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/2/Issues.json"
},
{
"key": "953F0406-DD9B-406E-993D-6D988D5F5423.sonar.cs.scanner.telemetry",
"value": "/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/2/Telemetry.json"
},
{
"key": "sonar.token",
"value": "***"
},
{
"key": "sonar.cs.opencover.reportsPaths",
"value": "**/coverage.opencover.xml"
},
{
"key": "sonar.organization",
"value": "mihakralj-quantalib"
},
{
"key": "sonar.exclusions",
"value": "**/coverage.opencover.xml"
},
{
"key": "sonar.visualstudio.enable",
"value": "false"
},
{
"key": "sonar.host.url",
"value": "https://sonarcloud.io"
}
]
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
+202
View File
@@ -0,0 +1,202 @@
sonar.projectKey=mihakralj_QuanTAlib
sonar.working.directory=/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/.sonar
sonar.projectBaseDir=/Users/mihakralj/Github/QuanTAlib
sonar.pullrequest.cache.basepath=/Users/mihakralj/Github/QuanTAlib
sonar.sources=\
"/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Quantower.cs",\
"/Users/mihakralj/Github/QuanTAlib/.github/TradingPlatform.BusinessLayer.xml",\
"/Users/mihakralj/Github/QuanTAlib/.config/dotnet-tools.json",\
"/Users/mihakralj/Github/QuanTAlib/.vs/VSWorkspaceState.json",\
"/Users/mihakralj/Github/QuanTAlib/.codacy/cli.sh",\
"/Users/mihakralj/Github/QuanTAlib/.codacy/codacy.yaml",\
"/Users/mihakralj/Github/QuanTAlib/.codacy/cli-config.yaml",\
"/Users/mihakralj/Github/QuanTAlib/.sonarlint/QuanTAlib.json",\
"/Users/mihakralj/Github/QuanTAlib/.vscode/settings.json",\
"/Users/mihakralj/Github/QuanTAlib/.vscode/extensions.json",\
"/Users/mihakralj/Github/QuanTAlib/.vscode/launch.json",\
"/Users/mihakralj/Github/QuanTAlib/.vscode/tasks.json",\
"/Users/mihakralj/Github/QuanTAlib/.codacy/tools-configs/semgrep.yaml",\
"/Users/mihakralj/Github/QuanTAlib/.codacy/tools-configs/trivy.yaml",\
"/Users/mihakralj/Github/QuanTAlib/.codacy/tools-configs/languages-config.yaml",\
"/Users/mihakralj/Github/QuanTAlib/.codacy/tools-configs/lizard.yaml",\
"/Users/mihakralj/Github/QuanTAlib/.codacy/tools-configs/analysis_options.yaml",\
"/Users/mihakralj/Github/QuanTAlib/.codacy/tools-configs/eslint.config.mjs",\
"/Users/mihakralj/Github/QuanTAlib/.github/workflows/Publish.yml",\
"/Users/mihakralj/Github/QuanTAlib/.github/codeql/codeql-config.yml",\
"/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/8B1B55C024A0F0FBB24C2964F83C886E34CA54C0.yml",\
"/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/346F370EBFD8AF8C2CE1A41185526E6742960059.yml",\
"/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/3D2F07AEF9A822DC75C243AD4D59A1E997F198B8.yml",\
"/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/358F1E2A063F7660166E92FB30EB20CCD604D883.yml",\
"/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/341C225BE5349EBCBA453D151E9662FAEF63087E.yml",\
"/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/7C52B17B004F856D97769A2A664C666EC4950E2E.yml",\
"/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/B41A98D34504190C3581ED77A64579331F9C25C4.yml",\
"/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/86D2F0BD616CFACEE52FA1335C519FD51A62928B.yml",\
"/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/DA3611089A00C3F2C077C00D2D676C3E06DCF328.yml",\
"/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/3D2281F760C3CC3E57CBFDD474781F65E7CB5290.yml",\
"/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/FD12E40B4AE77AF581DFBE205749EFF7051F549F.yml",\
"/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/0BACF8A4E876691D2D84FB01C4110EB0CCEB210A.yml",\
"/Users/mihakralj/Github/QuanTAlib/.git/gitversion_cache/3823E2C03E6D7A2C63B916E93A88C74DB04A14DC.yml",\
"/Users/mihakralj/Github/QuanTAlib/.vs/QuanTAlib/v18/DocumentLayout.backup.json",\
"/Users/mihakralj/Github/QuanTAlib/.vs/QuanTAlib/v18/DocumentLayout.json",\
"/Users/mihakralj/Github/QuanTAlib/omnisharp.json",\
"/Users/mihakralj/Github/QuanTAlib/GitVersion.yml",\
"/Users/mihakralj/Github/QuanTAlib/.github/QuanTAlib2.png"
D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.projectKey=mihakralj_QuanTAlib:D8F03B19-F99F-475F-8951-85C9D2258B73
D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.projectName=Averages
D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.projectBaseDir=/Users/mihakralj/Github/QuanTAlib/quantower
D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.sourceEncoding=utf-8
D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.tests=
D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.sources=\
"/Users/mihakralj/Github/QuanTAlib/quantower/IndicatorExtensions.cs",\
"/Users/mihakralj/Github/QuanTAlib/quantower/obj/Averages.csproj.nuget.dgspec.json",\
"/Users/mihakralj/Github/QuanTAlib/quantower/obj/project.packagespec.json",\
"/Users/mihakralj/Github/QuanTAlib/quantower/obj/project.assets.json",\
"/Users/mihakralj/Github/QuanTAlib/quantower/obj/Debug/Averages.sourcelink.json",\
"/Users/mihakralj/Github/QuanTAlib/quantower/bin/Debug/Averages.deps.json"
D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.cs.analyzer.projectOutPaths=\
"/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/0"
D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.cs.roslyn.reportFilePaths=\
"/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/0/Issues.json"
D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.cs.scanner.telemetry=\
"/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/0/Telemetry.json"
D8F03B19-F99F-475F-8951-85C9D2258B73.sonar.working.directory=/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/.sonar/mod0
F455234B-2A3C-140A-17C3-683D7820A733.sonar.projectKey=mihakralj_QuanTAlib:F455234B-2A3C-140A-17C3-683D7820A733
F455234B-2A3C-140A-17C3-683D7820A733.sonar.projectName=quantalib
F455234B-2A3C-140A-17C3-683D7820A733.sonar.projectBaseDir=/Users/mihakralj/Github/QuanTAlib/lib
F455234B-2A3C-140A-17C3-683D7820A733.sonar.sourceEncoding=utf-8
F455234B-2A3C-140A-17C3-683D7820A733.sonar.tests=
F455234B-2A3C-140A-17C3-683D7820A733.sonar.sources=\
"/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/EmaVector.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/project.packagespec.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/project.assets.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/gitversion.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/quantalib.csproj.nuget.dgspec.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/QuanTAlib.Tests.csproj.nuget.dgspec.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/project.packagespec.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/project.assets.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/net9.0/QuanTAlib.deps.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/net10.0/QuanTAlib.deps.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.sourcelink.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.sourcelink.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.sourcelink.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/net9.0/QuanTAlib.Tests.runtimeconfig.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/net9.0/QuanTAlib.Tests.deps.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/net10.0/QuanTAlib.Tests.runtimeconfig.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/net10.0/QuanTAlib.Tests.deps.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net8.0/QuanTAlib.deps.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net9.0/QuanTAlib.deps.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net10.0/QuanTAlib.deps.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/Debug/net9.0/QuanTAlib.Tests.sourcelink.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/tests/Debug/net10.0/QuanTAlib.Tests.sourcelink.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/Debug/net9.0/QuanTAlib.Tests.runtimeconfig.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/Debug/net9.0/QuanTAlib.Tests.deps.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/Debug/net10.0/QuanTAlib.Tests.runtimeconfig.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/tests/Debug/net10.0/QuanTAlib.Tests.deps.json",\
"/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/feeds/IFeed.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.md",\
"/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Notebook.dib",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.md",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.Notebook.dib",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.md",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.Notebook.dib",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.md",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.Notebook.dib",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.md",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.Notebook.dib",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.md",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.Notebook.dib",\
"/Users/mihakralj/Github/QuanTAlib/lib/Directory.Build.props",\
"/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.md",\
"/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.Notebook.dib",\
"/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/daily_IBM.csv",\
"/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.md",\
"/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/GBM.Notebook.dib",\
"/Users/mihakralj/Github/QuanTAlib/lib/feeds/IFeed.md",\
"/Users/mihakralj/Github/QuanTAlib/lib/TestResults/09aa8f8b-17ca-430d-be58-992d5ce2aacd/coverage.opencover.xml",\
"/Users/mihakralj/Github/QuanTAlib/lib/TestResults/b06e7fe4-4f16-46e2-8b46-bf971ee7d63d/coverage.cobertura.xml",\
"/Users/mihakralj/Github/QuanTAlib/lib/TestResults/d5449c1c-f3e9-43cc-b9d9-304cd71e763e/coverage.opencover.xml"
F455234B-2A3C-140A-17C3-683D7820A733.sonar.cs.analyzer.projectOutPaths=\
"/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/1"
F455234B-2A3C-140A-17C3-683D7820A733.sonar.cs.roslyn.reportFilePaths=\
"/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/1/Issues.json"
F455234B-2A3C-140A-17C3-683D7820A733.sonar.cs.scanner.telemetry=\
"/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/1/Telemetry.json"
F455234B-2A3C-140A-17C3-683D7820A733.sonar.working.directory=/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/.sonar/mod1
953F0406-DD9B-406E-993D-6D988D5F5423.sonar.projectKey=mihakralj_QuanTAlib:953F0406-DD9B-406E-993D-6D988D5F5423
953F0406-DD9B-406E-993D-6D988D5F5423.sonar.projectName=QuanTAlib.Tests
953F0406-DD9B-406E-993D-6D988D5F5423.sonar.projectBaseDir=/Users/mihakralj/Github/QuanTAlib/lib
953F0406-DD9B-406E-993D-6D988D5F5423.sonar.sourceEncoding=utf-8
953F0406-DD9B-406E-993D-6D988D5F5423.sonar.sources=
953F0406-DD9B-406E-993D-6D988D5F5423.sonar.tests=\
"/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Tests.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/Ema.Validation.Tests.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/averages/ema/EmaVector.Tests.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/simd/SimdExtensions.Tests.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tbar/TBar.Tests.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tbarseries/TBarSeries.Tests.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tseries/TSeries.Tests.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/core/tvalue/TValue.Tests.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/feeds/csv/CsvFeed.Tests.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/feeds/gbm/Gbm.Tests.cs",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net10.0/QuanTAlib.pdb",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net8.0/QuanTAlib.pdb",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/net9.0/QuanTAlib.pdb",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/QuanTAlib.0.7.14-simd-dev.1.nupkg",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/Debug/QuanTAlib.0.7.14-simd-dev.1.snupkg",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/net10.0/QuanTAlib.pdb",\
"/Users/mihakralj/Github/QuanTAlib/lib/bin/net9.0/QuanTAlib.pdb",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.AssemblyInfoInputs.cache",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.assets.cache",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.csproj.AssemblyReference.cache",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.csproj.CoreCompileInputs.cache",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.csproj.FileListAbsolute.txt",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/quantalib.GeneratedMSBuildEditorConfig.editorconfig",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net10.0/QuanTAlib.pdb",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.AssemblyInfoInputs.cache",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.assets.cache",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.csproj.CoreCompileInputs.cache",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.csproj.FileListAbsolute.txt",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/quantalib.GeneratedMSBuildEditorConfig.editorconfig",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net8.0/QuanTAlib.pdb",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.AssemblyInfoInputs.cache",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.assets.cache",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.csproj.CoreCompileInputs.cache",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.csproj.FileListAbsolute.txt",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/quantalib.GeneratedMSBuildEditorConfig.editorconfig",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/net9.0/QuanTAlib.pdb",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/QuanTAlib.0.7.14-simd-dev.1.nuspec",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/Debug/QuanTAlib.0.7.14-simd-dev.1.symbols.nuspec",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/project.nuget.cache",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/quantalib.csproj.nuget.g.props",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/quantalib.csproj.nuget.g.targets",\
"/Users/mihakralj/Github/QuanTAlib/lib/obj/rider.project.restore.info"
953F0406-DD9B-406E-993D-6D988D5F5423.sonar.cs.analyzer.projectOutPaths=\
"/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/2"
953F0406-DD9B-406E-993D-6D988D5F5423.sonar.cs.roslyn.reportFilePaths=\
"/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/2/Issues.json"
953F0406-DD9B-406E-993D-6D988D5F5423.sonar.cs.scanner.telemetry=\
"/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/2/Telemetry.json"
953F0406-DD9B-406E-993D-6D988D5F5423.sonar.working.directory=/Users/mihakralj/Github/QuanTAlib/.sonarqube/out/.sonar/mod2
sonar.cs.opencover.reportsPaths=**/coverage.opencover.xml
sonar.organization=mihakralj-quantalib
sonar.exclusions=**/coverage.opencover.xml
sonar.visualstudio.enable=false
sonar.host.url=https://sonarcloud.io
sonar.modules=D8F03B19-F99F-475F-8951-85C9D2258B73,F455234B-2A3C-140A-17C3-683D7820A733,953F0406-DD9B-406E-993D-6D988D5F5423
Binary file not shown.
+190
View File
@@ -0,0 +1,190 @@
p
QuanTAlib.SourceType System.EnumSystem.ValueTypeobject1
SourceType()!QuanTAlib.SourceType.SourceType()`
QuanTAlib.MaType System.EnumSystem.ValueTypeobject%
MaType()QuanTAlib.MaType.MaType()
6QuanTAlib.IndicatorExtensions.DataSourceInputAttribute5TradingPlatform.BusinessLayer.InputParameterAttributeSystem.Attributeobject
%DataSourceInputAttribute(string, int)\QuanTAlib.IndicatorExtensions.DataSourceInputAttribute.DataSourceInputAttribute(string, int)ó
QuanTAlib.Emaobject"
Ema(int)QuanTAlib.Ema.Ema(int)(
Ema(double)QuanTAlib.Ema.Ema(double)<
GetValidValue(double)#QuanTAlib.Ema.GetValidValue(double)N
Update(QuanTAlib.TValue, bool),QuanTAlib.Ema.Update(QuanTAlib.TValue, bool)D
Update(QuanTAlib.TSeries)'QuanTAlib.Ema.Update(QuanTAlib.TSeries)
Reset()QuanTAlib.Ema.Reset()$
Value.getQuanTAlib.Ema.Value.get$
Value.setQuanTAlib.Ema.Value.set$
IsHot.getQuanTAlib.Ema.IsHot.get$
IsHot.setQuanTAlib.Ema.IsHot.setî
QuanTAlib.TSeriesobject+System.Collections.Generic.IReadOnlyList<T>$
Pub.addQuanTAlib.TSeries.Pub.add*
Pub.removeQuanTAlib.TSeries.Pub.remove(
TSeries()QuanTAlib.TSeries.TSeries().
TSeries(int)QuanTAlib.TSeries.TSeries(int)Ä
WTSeries(System.Collections.Generic.List<long>, System.Collections.Generic.List<double>)iQuanTAlib.TSeries.TSeries(System.Collections.Generic.List<long>, System.Collections.Generic.List<double>)d
Add(QuanTAlib.TValue, bool)ESystem.Collections.Generic.ICollection<T>.Add(QuanTAlib.TValue, bool)X
Add(QuanTAlib.TValue)?System.Collections.Generic.ICollection<T>.Add(QuanTAlib.TValue)\
Add(long, double, bool)ASystem.Collections.Generic.ICollection<T>.Add(long, double, bool)r
"Add(System.DateTime, double, bool)LSystem.Collections.Generic.ICollection<T>.Add(System.DateTime, double, bool)
3Add(System.Collections.Generic.IEnumerable<double>)]System.Collections.Generic.ICollection<T>.Add(System.Collections.Generic.IEnumerable<double>)L
GetEnumerator()9System.Collections.Generic.ICollection<T>.GetEnumerator()r
.System.Collections.IEnumerable.GetEnumerator()@QuanTAlib.TSeries.System.Collections.IEnumerable.GetEnumerator()>
Name.get2System.Collections.Generic.ICollection<T>.Name.get>
Name.set2System.Collections.Generic.ICollection<T>.Name.set@
Count.get3System.Collections.Generic.ICollection<T>.Count.get@
Count.set3System.Collections.Generic.ICollection<T>.Count.setH
this[int].get7System.Collections.Generic.ICollection<T>.this[int].getH
this[int].set7System.Collections.Generic.ICollection<T>.this[int].set>
Last.get2System.Collections.Generic.ICollection<T>.Last.get>
Last.set2System.Collections.Generic.ICollection<T>.Last.setH
LastValue.get7System.Collections.Generic.ICollection<T>.LastValue.getH
LastValue.set7System.Collections.Generic.ICollection<T>.LastValue.setF
LastTime.get6System.Collections.Generic.ICollection<T>.LastTime.getF
LastTime.set6System.Collections.Generic.ICollection<T>.LastTime.setB
Values.get4System.Collections.Generic.ICollection<T>.Values.getB
Values.set4System.Collections.Generic.ICollection<T>.Values.set@
Times.get3System.Collections.Generic.ICollection<T>.Times.get@
Times.set3System.Collections.Generic.ICollection<T>.Times.setË
QuanTAlib.TBarSeriesobject+System.Collections.Generic.IReadOnlyList<T>'
Pub.addQuanTAlib.TBarSeries.Pub.add-
Pub.removeQuanTAlib.TBarSeries.Pub.remove1
TBarSeries()!QuanTAlib.TBarSeries.TBarSeries()7
TBarSeries(int)$QuanTAlib.TBarSeries.TBarSeries(int)`
Add(QuanTAlib.TBar, bool)CSystem.Collections.Generic.ICollection<T>.Add(QuanTAlib.TBar, bool)œ
7Add(long, double, double, double, double, double, bool)aSystem.Collections.Generic.ICollection<T>.Add(long, double, double, double, double, double, bool)²
BAdd(System.DateTime, double, double, double, double, double, bool)lSystem.Collections.Generic.ICollection<T>.Add(System.DateTime, double, double, double, double, double, bool)ò
¡Add(System.Collections.Generic.IEnumerable<long>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>)ËSystem.Collections.Generic.ICollection<T>.Add(System.Collections.Generic.IEnumerable<long>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>)L
GetEnumerator()9System.Collections.Generic.ICollection<T>.GetEnumerator()u
.System.Collections.IEnumerable.GetEnumerator()CQuanTAlib.TBarSeries.System.Collections.IEnumerable.GetEnumerator()>
Name.get2System.Collections.Generic.ICollection<T>.Name.get>
Name.set2System.Collections.Generic.ICollection<T>.Name.set>
Open.get2System.Collections.Generic.ICollection<T>.Open.get>
Open.set2System.Collections.Generic.ICollection<T>.Open.set>
High.get2System.Collections.Generic.ICollection<T>.High.get>
High.set2System.Collections.Generic.ICollection<T>.High.set<
Low.get1System.Collections.Generic.ICollection<T>.Low.get<
Low.set1System.Collections.Generic.ICollection<T>.Low.set@
Close.get3System.Collections.Generic.ICollection<T>.Close.get@
Close.set3System.Collections.Generic.ICollection<T>.Close.setB
Volume.get4System.Collections.Generic.ICollection<T>.Volume.getB
Volume.set4System.Collections.Generic.ICollection<T>.Volume.set8
O.get/System.Collections.Generic.ICollection<T>.O.get8
O.set/System.Collections.Generic.ICollection<T>.O.set8
H.get/System.Collections.Generic.ICollection<T>.H.get8
H.set/System.Collections.Generic.ICollection<T>.H.set8
L.get/System.Collections.Generic.ICollection<T>.L.get8
L.set/System.Collections.Generic.ICollection<T>.L.set8
C.get/System.Collections.Generic.ICollection<T>.C.get8
C.set/System.Collections.Generic.ICollection<T>.C.set8
V.get/System.Collections.Generic.ICollection<T>.V.get8
V.set/System.Collections.Generic.ICollection<T>.V.set@
Count.get3System.Collections.Generic.ICollection<T>.Count.get@
Count.set3System.Collections.Generic.ICollection<T>.Count.setH
this[int].get7System.Collections.Generic.ICollection<T>.this[int].getH
this[int].set7System.Collections.Generic.ICollection<T>.this[int].set>
Last.get2System.Collections.Generic.ICollection<T>.Last.get>
Last.set2System.Collections.Generic.ICollection<T>.Last.setF
LastTime.get6System.Collections.Generic.ICollection<T>.LastTime.getF
LastTime.set6System.Collections.Generic.ICollection<T>.LastTime.setF
LastOpen.get6System.Collections.Generic.ICollection<T>.LastOpen.getF
LastOpen.set6System.Collections.Generic.ICollection<T>.LastOpen.setF
LastHigh.get6System.Collections.Generic.ICollection<T>.LastHigh.getF
LastHigh.set6System.Collections.Generic.ICollection<T>.LastHigh.setD
LastLow.get5System.Collections.Generic.ICollection<T>.LastLow.getD
LastLow.set5System.Collections.Generic.ICollection<T>.LastLow.setH
LastClose.get7System.Collections.Generic.ICollection<T>.LastClose.getH
LastClose.set7System.Collections.Generic.ICollection<T>.LastClose.setJ
LastVolume.get8System.Collections.Generic.ICollection<T>.LastVolume.getJ
LastVolume.set8System.Collections.Generic.ICollection<T>.LastVolume.setÀ
QuanTAlib.EmaIndicator'TradingPlatform.BusinessLayer.Indicator-TradingPlatform.BusinessLayer.ExecutionEntityobject1TradingPlatform.BusinessLayer.IWatchlistIndicator7
EmaIndicator()%QuanTAlib.EmaIndicator.EmaIndicator()+
OnInit()QuanTAlib.EmaIndicator.OnInit()
2OnUpdate(TradingPlatform.BusinessLayer.UpdateArgs)IQuanTAlib.EmaIndicator.OnUpdate(TradingPlatform.BusinessLayer.UpdateArgs)
?OnPaintChart(TradingPlatform.BusinessLayer.PaintChartEventArgs)VQuanTAlib.EmaIndicator.OnPaintChart(TradingPlatform.BusinessLayer.PaintChartEventArgs)/
Period.get!QuanTAlib.EmaIndicator.Period.get/
Period.set!QuanTAlib.EmaIndicator.Period.set/
Source.get!QuanTAlib.EmaIndicator.Source.get/
Source.set!QuanTAlib.EmaIndicator.Source.set?
ShowColdValues.get)QuanTAlib.EmaIndicator.ShowColdValues.get?
ShowColdValues.set)QuanTAlib.EmaIndicator.ShowColdValues.setC
MinHistoryDepths.get+QuanTAlib.EmaIndicator.MinHistoryDepths.getC
MinHistoryDepths.set+QuanTAlib.EmaIndicator.MinHistoryDepths.set§
FTradingPlatform.BusinessLayer.IWatchlistIndicator.MinHistoryDepths.get]QuanTAlib.EmaIndicator.TradingPlatform.BusinessLayer.IWatchlistIndicator.MinHistoryDepths.get§
FTradingPlatform.BusinessLayer.IWatchlistIndicator.MinHistoryDepths.set]QuanTAlib.EmaIndicator.TradingPlatform.BusinessLayer.IWatchlistIndicator.MinHistoryDepths.set5
ShortName.get$QuanTAlib.EmaIndicator.ShortName.get5
ShortName.set$QuanTAlib.EmaIndicator.ShortName.set¹
QuanTAlib.EmaVectorobject8
EmaVector(int[])$QuanTAlib.EmaVector.EmaVector(int[])>
EmaVector(double[])'QuanTAlib.EmaVector.EmaVector(double[])0
ResetAt(int) QuanTAlib.EmaVector.ResetAt(int)B
GetValidValue(double))QuanTAlib.EmaVector.GetValidValue(double)&
Reset()QuanTAlib.EmaVector.Reset()T
Update(QuanTAlib.TValue, bool)2QuanTAlib.EmaVector.Update(QuanTAlib.TValue, bool)P
Calculate(QuanTAlib.TSeries)0QuanTAlib.EmaVector.Calculate(QuanTAlib.TSeries),
Values.getQuanTAlib.EmaVector.Values.get,
Values.setQuanTAlib.EmaVector.Values.set»
QuanTAlib.TValueSystem.ValueTypeobjectSystem.IEquatable<T>=
TValue(long, double)%QuanTAlib.TValue.TValue(long, double)S
TValue(System.DateTime, double)0QuanTAlib.TValue.TValue(System.DateTime, double))
ToString()QuanTAlib.TValue.ToString()E
Equals(QuanTAlib.TValue))QuanTAlib.TValue.Equals(QuanTAlib.TValue)3
Equals(object?) QuanTAlib.TValue.Equals(object?)/
GetHashCode()QuanTAlib.TValue.GetHashCode()%
TValue()QuanTAlib.TValue.TValue()1
AsDateTime.getQuanTAlib.TValue.AsDateTime.get1
AsDateTime.setQuanTAlib.TValue.AsDateTime.setÅ
QuanTAlib.EmaStateSystem.ValueTypeobject+
EmaState()QuanTAlib.EmaState.EmaState()%
Ema.getQuanTAlib.EmaState.Ema.get%
Ema.setQuanTAlib.EmaState.Ema.set!
E.getQuanTAlib.EmaState.E.get!
E.setQuanTAlib.EmaState.E.set)
IsHot.getQuanTAlib.EmaState.IsHot.get)
IsHot.setQuanTAlib.EmaState.IsHot.setŠ
QuanTAlib.TBarSystem.ValueTypeobjectSystem.IEquatable<T>w
2TBar(long, double, double, double, double, double)AQuanTAlib.TBar.TBar(long, double, double, double, double, double)
=TBar(System.DateTime, double, double, double, double, double)LQuanTAlib.TBar.TBar(System.DateTime, double, double, double, double, double)'
ToString()QuanTAlib.TBar.ToString()?
Equals(QuanTAlib.TBar)%QuanTAlib.TBar.Equals(QuanTAlib.TBar)1
Equals(object?)QuanTAlib.TBar.Equals(object?)-
GetHashCode()QuanTAlib.TBar.GetHashCode()
TBar()QuanTAlib.TBar.TBar()/
AsDateTime.getQuanTAlib.TBar.AsDateTime.get/
AsDateTime.setQuanTAlib.TBar.AsDateTime.set
O.getQuanTAlib.TBar.O.get
O.setQuanTAlib.TBar.O.set
H.getQuanTAlib.TBar.H.get
H.setQuanTAlib.TBar.H.set
L.getQuanTAlib.TBar.L.get
L.setQuanTAlib.TBar.L.set
C.getQuanTAlib.TBar.C.get
C.setQuanTAlib.TBar.C.set
V.getQuanTAlib.TBar.V.get
V.setQuanTAlib.TBar.V.set!
HL2.getQuanTAlib.TBar.HL2.get!
HL2.setQuanTAlib.TBar.HL2.set!
OC2.getQuanTAlib.TBar.OC2.get!
OC2.setQuanTAlib.TBar.OC2.set#
OHL3.getQuanTAlib.TBar.OHL3.get#
OHL3.setQuanTAlib.TBar.OHL3.set#
HLC3.getQuanTAlib.TBar.HLC3.get#
HLC3.setQuanTAlib.TBar.HLC3.set%
OHLC4.getQuanTAlib.TBar.OHLC4.get%
OHLC4.setQuanTAlib.TBar.OHLC4.set%
HLCC4.getQuanTAlib.TBar.HLCC4.get%
HLCC4.setQuanTAlib.TBar.HLCC4.set
Binary file not shown.
+177
View File
@@ -0,0 +1,177 @@
ó
QuanTAlib.Emaobject"
Ema(int)QuanTAlib.Ema.Ema(int)(
Ema(double)QuanTAlib.Ema.Ema(double)<
GetValidValue(double)#QuanTAlib.Ema.GetValidValue(double)N
Update(QuanTAlib.TValue, bool),QuanTAlib.Ema.Update(QuanTAlib.TValue, bool)D
Update(QuanTAlib.TSeries)'QuanTAlib.Ema.Update(QuanTAlib.TSeries)
Reset()QuanTAlib.Ema.Reset()$
Value.getQuanTAlib.Ema.Value.get$
Value.setQuanTAlib.Ema.Value.set$
IsHot.getQuanTAlib.Ema.IsHot.get$
IsHot.setQuanTAlib.Ema.IsHot.set¹
QuanTAlib.EmaVectorobject8
EmaVector(int[])$QuanTAlib.EmaVector.EmaVector(int[])>
EmaVector(double[])'QuanTAlib.EmaVector.EmaVector(double[])0
ResetAt(int) QuanTAlib.EmaVector.ResetAt(int)B
GetValidValue(double))QuanTAlib.EmaVector.GetValidValue(double)&
Reset()QuanTAlib.EmaVector.Reset()T
Update(QuanTAlib.TValue, bool)2QuanTAlib.EmaVector.Update(QuanTAlib.TValue, bool)P
Calculate(QuanTAlib.TSeries)0QuanTAlib.EmaVector.Calculate(QuanTAlib.TSeries),
Values.getQuanTAlib.EmaVector.Values.get,
Values.setQuanTAlib.EmaVector.Values.setÅ
QuanTAlib.EmaStateSystem.ValueTypeobject+
EmaState()QuanTAlib.EmaState.EmaState()%
Ema.getQuanTAlib.EmaState.Ema.get%
Ema.setQuanTAlib.EmaState.Ema.set!
E.getQuanTAlib.EmaState.E.get!
E.setQuanTAlib.EmaState.E.set)
IsHot.getQuanTAlib.EmaState.IsHot.get)
IsHot.setQuanTAlib.EmaState.IsHot.setî
QuanTAlib.TSeriesobject+System.Collections.Generic.IReadOnlyList<T>$
Pub.addQuanTAlib.TSeries.Pub.add*
Pub.removeQuanTAlib.TSeries.Pub.remove(
TSeries()QuanTAlib.TSeries.TSeries().
TSeries(int)QuanTAlib.TSeries.TSeries(int)Ä
WTSeries(System.Collections.Generic.List<long>, System.Collections.Generic.List<double>)iQuanTAlib.TSeries.TSeries(System.Collections.Generic.List<long>, System.Collections.Generic.List<double>)d
Add(QuanTAlib.TValue, bool)ESystem.Collections.Generic.ICollection<T>.Add(QuanTAlib.TValue, bool)X
Add(QuanTAlib.TValue)?System.Collections.Generic.ICollection<T>.Add(QuanTAlib.TValue)\
Add(long, double, bool)ASystem.Collections.Generic.ICollection<T>.Add(long, double, bool)r
"Add(System.DateTime, double, bool)LSystem.Collections.Generic.ICollection<T>.Add(System.DateTime, double, bool)
3Add(System.Collections.Generic.IEnumerable<double>)]System.Collections.Generic.ICollection<T>.Add(System.Collections.Generic.IEnumerable<double>)L
GetEnumerator()9System.Collections.Generic.ICollection<T>.GetEnumerator()r
.System.Collections.IEnumerable.GetEnumerator()@QuanTAlib.TSeries.System.Collections.IEnumerable.GetEnumerator()>
Name.get2System.Collections.Generic.ICollection<T>.Name.get>
Name.set2System.Collections.Generic.ICollection<T>.Name.set@
Count.get3System.Collections.Generic.ICollection<T>.Count.get@
Count.set3System.Collections.Generic.ICollection<T>.Count.setH
this[int].get7System.Collections.Generic.ICollection<T>.this[int].getH
this[int].set7System.Collections.Generic.ICollection<T>.this[int].set>
Last.get2System.Collections.Generic.ICollection<T>.Last.get>
Last.set2System.Collections.Generic.ICollection<T>.Last.setH
LastValue.get7System.Collections.Generic.ICollection<T>.LastValue.getH
LastValue.set7System.Collections.Generic.ICollection<T>.LastValue.setF
LastTime.get6System.Collections.Generic.ICollection<T>.LastTime.getF
LastTime.set6System.Collections.Generic.ICollection<T>.LastTime.setB
Values.get4System.Collections.Generic.ICollection<T>.Values.getB
Values.set4System.Collections.Generic.ICollection<T>.Values.set@
Times.get3System.Collections.Generic.ICollection<T>.Times.get@
Times.set3System.Collections.Generic.ICollection<T>.Times.setœ
QuanTAlib.CsvFeedobjectQuanTAlib.IFeed4
CsvFeed(string)!QuanTAlib.CsvFeed.CsvFeed(string)2
Next(ref bool) QuanTAlib.CsvFeed.Next(ref bool)*
Next(bool)QuanTAlib.CsvFeed.Next(bool)X
!Fetch(int, long, System.TimeSpan)3QuanTAlib.CsvFeed.Fetch(int, long, System.TimeSpan)ü
QuanTAlib.GBMobjectQuanTAlib.IFeedx
3GBM(double, double, double, System.TimeSpan?, int?)AQuanTAlib.GBM.GBM(double, double, double, System.TimeSpan?, int?)*
NextNormal()QuanTAlib.GBM.NextNormal().
Next(ref bool)QuanTAlib.GBM.Next(ref bool)&
Next(bool)QuanTAlib.GBM.Next(bool)T
!Fetch(int, long, System.TimeSpan)/QuanTAlib.GBM.Fetch(int, long, System.TimeSpan)
QuanTAlib.IFeedË
QuanTAlib.TBarSeriesobject+System.Collections.Generic.IReadOnlyList<T>'
Pub.addQuanTAlib.TBarSeries.Pub.add-
Pub.removeQuanTAlib.TBarSeries.Pub.remove1
TBarSeries()!QuanTAlib.TBarSeries.TBarSeries()7
TBarSeries(int)$QuanTAlib.TBarSeries.TBarSeries(int)`
Add(QuanTAlib.TBar, bool)CSystem.Collections.Generic.ICollection<T>.Add(QuanTAlib.TBar, bool)œ
7Add(long, double, double, double, double, double, bool)aSystem.Collections.Generic.ICollection<T>.Add(long, double, double, double, double, double, bool)²
BAdd(System.DateTime, double, double, double, double, double, bool)lSystem.Collections.Generic.ICollection<T>.Add(System.DateTime, double, double, double, double, double, bool)ò
¡Add(System.Collections.Generic.IEnumerable<long>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>)ËSystem.Collections.Generic.ICollection<T>.Add(System.Collections.Generic.IEnumerable<long>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>, System.Collections.Generic.IEnumerable<double>)L
GetEnumerator()9System.Collections.Generic.ICollection<T>.GetEnumerator()u
.System.Collections.IEnumerable.GetEnumerator()CQuanTAlib.TBarSeries.System.Collections.IEnumerable.GetEnumerator()>
Name.get2System.Collections.Generic.ICollection<T>.Name.get>
Name.set2System.Collections.Generic.ICollection<T>.Name.set>
Open.get2System.Collections.Generic.ICollection<T>.Open.get>
Open.set2System.Collections.Generic.ICollection<T>.Open.set>
High.get2System.Collections.Generic.ICollection<T>.High.get>
High.set2System.Collections.Generic.ICollection<T>.High.set<
Low.get1System.Collections.Generic.ICollection<T>.Low.get<
Low.set1System.Collections.Generic.ICollection<T>.Low.set@
Close.get3System.Collections.Generic.ICollection<T>.Close.get@
Close.set3System.Collections.Generic.ICollection<T>.Close.setB
Volume.get4System.Collections.Generic.ICollection<T>.Volume.getB
Volume.set4System.Collections.Generic.ICollection<T>.Volume.set8
O.get/System.Collections.Generic.ICollection<T>.O.get8
O.set/System.Collections.Generic.ICollection<T>.O.set8
H.get/System.Collections.Generic.ICollection<T>.H.get8
H.set/System.Collections.Generic.ICollection<T>.H.set8
L.get/System.Collections.Generic.ICollection<T>.L.get8
L.set/System.Collections.Generic.ICollection<T>.L.set8
C.get/System.Collections.Generic.ICollection<T>.C.get8
C.set/System.Collections.Generic.ICollection<T>.C.set8
V.get/System.Collections.Generic.ICollection<T>.V.get8
V.set/System.Collections.Generic.ICollection<T>.V.set@
Count.get3System.Collections.Generic.ICollection<T>.Count.get@
Count.set3System.Collections.Generic.ICollection<T>.Count.setH
this[int].get7System.Collections.Generic.ICollection<T>.this[int].getH
this[int].set7System.Collections.Generic.ICollection<T>.this[int].set>
Last.get2System.Collections.Generic.ICollection<T>.Last.get>
Last.set2System.Collections.Generic.ICollection<T>.Last.setF
LastTime.get6System.Collections.Generic.ICollection<T>.LastTime.getF
LastTime.set6System.Collections.Generic.ICollection<T>.LastTime.setF
LastOpen.get6System.Collections.Generic.ICollection<T>.LastOpen.getF
LastOpen.set6System.Collections.Generic.ICollection<T>.LastOpen.setF
LastHigh.get6System.Collections.Generic.ICollection<T>.LastHigh.getF
LastHigh.set6System.Collections.Generic.ICollection<T>.LastHigh.setD
LastLow.get5System.Collections.Generic.ICollection<T>.LastLow.getD
LastLow.set5System.Collections.Generic.ICollection<T>.LastLow.setH
LastClose.get7System.Collections.Generic.ICollection<T>.LastClose.getH
LastClose.set7System.Collections.Generic.ICollection<T>.LastClose.setJ
LastVolume.get8System.Collections.Generic.ICollection<T>.LastVolume.getJ
LastVolume.set8System.Collections.Generic.ICollection<T>.LastVolume.setŠ
QuanTAlib.TBarSystem.ValueTypeobjectSystem.IEquatable<T>w
2TBar(long, double, double, double, double, double)AQuanTAlib.TBar.TBar(long, double, double, double, double, double)
=TBar(System.DateTime, double, double, double, double, double)LQuanTAlib.TBar.TBar(System.DateTime, double, double, double, double, double)'
ToString()QuanTAlib.TBar.ToString()?
Equals(QuanTAlib.TBar)%QuanTAlib.TBar.Equals(QuanTAlib.TBar)1
Equals(object?)QuanTAlib.TBar.Equals(object?)-
GetHashCode()QuanTAlib.TBar.GetHashCode()
TBar()QuanTAlib.TBar.TBar()/
AsDateTime.getQuanTAlib.TBar.AsDateTime.get/
AsDateTime.setQuanTAlib.TBar.AsDateTime.set
O.getQuanTAlib.TBar.O.get
O.setQuanTAlib.TBar.O.set
H.getQuanTAlib.TBar.H.get
H.setQuanTAlib.TBar.H.set
L.getQuanTAlib.TBar.L.get
L.setQuanTAlib.TBar.L.set
C.getQuanTAlib.TBar.C.get
C.setQuanTAlib.TBar.C.set
V.getQuanTAlib.TBar.V.get
V.setQuanTAlib.TBar.V.set!
HL2.getQuanTAlib.TBar.HL2.get!
HL2.setQuanTAlib.TBar.HL2.set!
OC2.getQuanTAlib.TBar.OC2.get!
OC2.setQuanTAlib.TBar.OC2.set#
OHL3.getQuanTAlib.TBar.OHL3.get#
OHL3.setQuanTAlib.TBar.OHL3.set#
HLC3.getQuanTAlib.TBar.HLC3.get#
HLC3.setQuanTAlib.TBar.HLC3.set%
OHLC4.getQuanTAlib.TBar.OHLC4.get%
OHLC4.setQuanTAlib.TBar.OHLC4.set%
HLCC4.getQuanTAlib.TBar.HLCC4.get%
HLCC4.setQuanTAlib.TBar.HLCC4.set»
QuanTAlib.TValueSystem.ValueTypeobjectSystem.IEquatable<T>=
TValue(long, double)%QuanTAlib.TValue.TValue(long, double)S
TValue(System.DateTime, double)0QuanTAlib.TValue.TValue(System.DateTime, double))
ToString()QuanTAlib.TValue.ToString()E
Equals(QuanTAlib.TValue))QuanTAlib.TValue.Equals(QuanTAlib.TValue)3
Equals(object?) QuanTAlib.TValue.Equals(object?)/
GetHashCode()QuanTAlib.TValue.GetHashCode()%
TValue()QuanTAlib.TValue.TValue()1
AsDateTime.getQuanTAlib.TValue.AsDateTime.get1
AsDateTime.setQuanTAlib.TValue.AsDateTime.set
+2 -2
View File
@@ -3,7 +3,7 @@ using System.Runtime.InteropServices;
namespace QuanTAlib;
public struct EmaState
internal struct EmaState
{
public double Ema { get; set; }
public double E { get; set; }
@@ -81,7 +81,7 @@ public class Ema
/// Assumes input has already been validated via GetValidValue().
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static double Compute(double input, double alpha, ref EmaState state)
internal static double Compute(double input, double alpha, ref EmaState state)
{
state.Ema += alpha * (input - state.Ema);
+23 -5
View File
@@ -1,5 +1,3 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -11,11 +9,14 @@ namespace QuanTAlib;
/// Calculates multiple EMAs with different periods/alphas for the same input series in parallel.
/// Uses last-value substitution for invalid inputs (NaN/Infinity).
/// </summary>
[SkipLocalsInit]
public class EmaVector
{
private readonly double[] _alphas;
private readonly double[] _emas;
private readonly double[] _Es;
private readonly double[] _p_emas;
private readonly double[] _p_Es;
private readonly int _count;
private double _lastValidValue;
@@ -34,11 +35,13 @@ public class EmaVector
_alphas = new double[_count];
_emas = new double[_count];
_Es = new double[_count];
_p_emas = new double[_count];
_p_Es = new double[_count];
Values = new TValue[_count];
for (int i = 0; i < _count; i++)
{
if (periods[i] <= 0) throw new ArgumentException("Period must be greater than 0", nameof(periods));
ArgumentOutOfRangeException.ThrowIfLessThanOrEqual(periods[i], 0);
_alphas[i] = 2.0 / (periods[i] + 1);
ResetAt(i);
}
@@ -54,11 +57,14 @@ public class EmaVector
_alphas = new double[_count];
_emas = new double[_count];
_Es = new double[_count];
_p_emas = new double[_count];
_p_Es = new double[_count];
Values = new TValue[_count];
for (int i = 0; i < _count; i++)
{
if (alphas[i] <= 0 || alphas[i] > 1) throw new ArgumentException("Alpha must be between 0 and 1", nameof(alphas));
if (alphas[i] <= 0 || alphas[i] > 1)
throw new ArgumentOutOfRangeException(nameof(alphas), alphas[i], "Alpha must be between 0 (exclusive) and 1 (inclusive)");
_alphas[i] = alphas[i];
ResetAt(i);
}
@@ -103,10 +109,22 @@ public class EmaVector
/// the last known good value, providing continuity in the output series.
/// </summary>
/// <param name="input">Input value</param>
/// <param name="isNew">True for new bar, false for update to current bar (default: true)</param>
/// <returns>Array of compensated EMA values</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public TValue[] Update(TValue input)
public TValue[] Update(TValue input, bool isNew = true)
{
if (isNew)
{
Array.Copy(_emas, _p_emas, _count);
Array.Copy(_Es, _p_Es, _count);
}
else
{
Array.Copy(_p_emas, _emas, _count);
Array.Copy(_p_Es, _Es, _count);
}
// Last-value substitution: replace non-finite inputs with last valid value
double val = GetValidValue(input.Value);
+15 -6
View File
@@ -82,6 +82,8 @@ public static class SimdExtensions
/// <summary>
/// Checks if span contains any non-finite values (NaN or Infinity).
/// Returns true if any non-finite value is found.
/// Uses SIMD: NaN detected via v != v (NaN is the only value where this is true),
/// Infinity detected via |v| > MaxValue comparison.
/// </summary>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool ContainsNonFinite(this ReadOnlySpan<double> span)
@@ -92,18 +94,25 @@ public static class SimdExtensions
{
int vectorSize = Vector<double>.Count;
int i = 0;
var maxValue = new Vector<double>(double.MaxValue);
for (; i <= span.Length - vectorSize; i += vectorSize)
{
var vector = new Vector<double>(span.Slice(i, vectorSize));
for (int j = 0; j < vectorSize; j++)
{
if (!double.IsFinite(vector[j]))
return true;
}
// NaN check: NaN != NaN, so Vector.Equals(v, v) will be false for NaN lanes
var nanCheck = Vector.Equals(vector, vector);
if (!nanCheck.Equals(Vector<long>.AllBitsSet))
return true;
// Infinity check: |v| > MaxValue (Infinity has magnitude > MaxValue)
var absVec = Vector.Abs(vector);
var infCheck = Vector.GreaterThan(absVec, maxValue);
if (!infCheck.Equals(Vector<long>.Zero))
return true;
}
// Check remaining elements
// Check remaining elements with scalar
for (; i < span.Length; i++)
{
if (!double.IsFinite(span[i]))
+20 -6
View File
@@ -127,12 +127,26 @@ public class TBarSeries : IReadOnlyList<TBar>
public void Add(IEnumerable<long> t, IEnumerable<double> o, IEnumerable<double> h, IEnumerable<double> l, IEnumerable<double> c, IEnumerable<double> v)
{
_t.AddRange(t);
_o.AddRange(o);
_h.AddRange(h);
_l.AddRange(l);
_c.AddRange(c);
_v.AddRange(v);
var tArr = t as long[] ?? t.ToArray();
var oArr = o as double[] ?? o.ToArray();
var hArr = h as double[] ?? h.ToArray();
var lArr = l as double[] ?? l.ToArray();
var cArr = c as double[] ?? c.ToArray();
var vArr = v as double[] ?? v.ToArray();
if (tArr.Length != oArr.Length || oArr.Length != hArr.Length ||
hArr.Length != lArr.Length || lArr.Length != cArr.Length ||
cArr.Length != vArr.Length)
{
throw new ArgumentException("All arrays must have the same length");
}
_t.AddRange(tArr);
_o.AddRange(oArr);
_h.AddRange(hArr);
_l.AddRange(lArr);
_c.AddRange(cArr);
_v.AddRange(vArr);
}
public IEnumerator<TBar> GetEnumerator()
+28 -19
View File
@@ -12,7 +12,7 @@ namespace QuanTAlib;
public class CsvFeed : IFeed
{
private readonly TBarSeries _data;
// Streaming state
private int _currentIndex;
private TBar _currentBar;
@@ -38,27 +38,36 @@ public class CsvFeed : IFeed
/// <summary>
/// Parses CSV file into TBarSeries.
/// Expected format: timestamp,open,high,low,close,volume
/// Memory-efficient: reads lines into list, reverses in-place (no LINQ allocations).
/// </summary>
private static TBarSeries LoadFromCsv(string filePath)
{
var lines = File.ReadAllLines(filePath);
if (lines.Length == 0)
throw new InvalidDataException("CSV file is empty");
var dataLines = new List<string>();
using (var reader = new StreamReader(filePath))
{
var header = reader.ReadLine();
if (header is null)
throw new InvalidDataException("CSV file is empty");
// Skip header, reverse to chronological order (oldest first)
var dataLines = lines.Skip(1).Reverse().ToArray();
if (dataLines.Length == 0)
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
if (!string.IsNullOrWhiteSpace(line))
dataLines.Add(line);
}
}
if (dataLines.Count == 0)
throw new InvalidDataException("CSV file contains only header, no data");
var series = new TBarSeries(dataLines.Length);
// Reverse in-place to chronological order (oldest first)
dataLines.Reverse();
for (int i = 0; i < dataLines.Length; i++)
var series = new TBarSeries(dataLines.Count);
for (int i = 0; i < dataLines.Count; i++)
{
var line = dataLines[i];
if (string.IsNullOrWhiteSpace(line))
continue;
var parts = line.Split(',');
if (parts.Length != 6)
@@ -68,7 +77,7 @@ public class CsvFeed : IFeed
{
// Parse timestamp (YYYY-MM-DD format, assume UTC midnight)
var timestamp = DateTime.ParseExact(parts[0].Trim(), "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal);
// Parse OHLCV values
double open = double.Parse(parts[1].Trim(), CultureInfo.InvariantCulture);
double high = double.Parse(parts[2].Trim(), CultureInfo.InvariantCulture);
@@ -142,7 +151,7 @@ public class CsvFeed : IFeed
throw new ArgumentException("Count must be positive", nameof(count));
var result = new TBarSeries(count);
// Find starting index
int startIndex = 0;
for (int i = 0; i < _data.Count; i++)
@@ -157,15 +166,15 @@ public class CsvFeed : IFeed
// Collect bars matching interval
long expectedTime = startTime;
int collected = 0;
for (int i = startIndex; i < _data.Count && collected < count; i++)
{
var bar = _data[i];
// Check if bar time matches expected time (within tolerance)
long timeDiff = Math.Abs(bar.Time - expectedTime);
long tolerance = interval.Ticks / 2; // Allow 50% tolerance
if (timeDiff <= tolerance)
{
result.Add(bar, isNew: true);
@@ -177,7 +186,7 @@ public class CsvFeed : IFeed
// Gap in data - skip forward
long gaps = (bar.Time - expectedTime) / interval.Ticks;
expectedTime += (gaps + 1) * interval.Ticks;
if (Math.Abs(bar.Time - expectedTime + interval.Ticks) <= tolerance)
{
result.Add(bar, isNew: true);
+17 -11
View File
@@ -1,4 +1,3 @@
using System;
using System.Runtime.CompilerServices;
namespace QuanTAlib;
@@ -8,9 +7,10 @@ namespace QuanTAlib;
/// Generates realistic price data for testing indicators and strategies.
/// Stateless design - only maintains minimal state needed for price continuity.
/// </summary>
[SkipLocalsInit]
public class GBM : IFeed
{
private readonly Random _rnd = new();
private readonly Random _rnd;
private double _lastPrice;
private long _lastTime;
@@ -35,26 +35,32 @@ public class GBM : IFeed
/// <summary>
/// Creates a new GBM generator.
/// </summary>
/// <param name="startPrice">Initial price (default: 100.0)</param>
/// <param name="startPrice">Initial price (default: 100.0, must be positive)</param>
/// <param name="mu">Annual drift/return rate (default: 0.05 = 5%)</param>
/// <param name="sigma">Annual volatility (default: 0.2 = 20%)</param>
/// <param name="sigma">Annual volatility (default: 0.2 = 20%, must be non-negative)</param>
/// <param name="defaultTimeframe">Default timeframe for bars (default: 1 minute)</param>
/// <param name="seed">Optional random seed for reproducibility (default: null for non-deterministic)</param>
public GBM(
double startPrice = 100.0,
double mu = 0.05,
double sigma = 0.2,
TimeSpan? defaultTimeframe = null)
TimeSpan? defaultTimeframe = null,
int? seed = null)
{
ArgumentOutOfRangeException.ThrowIfNegativeOrZero(startPrice);
ArgumentOutOfRangeException.ThrowIfNegative(sigma);
_rnd = seed.HasValue ? new Random(seed.Value) : new Random();
_lastPrice = startPrice;
_lastTime = DateTime.UtcNow.Ticks;
_mu = mu;
_sigma = sigma;
// Use provided timeframe or default to 1 minute
var timeframe = defaultTimeframe ?? TimeSpan.FromMinutes(1);
_defaultTimeStep = timeframe.Ticks;
// Calculate dt based on timeframe (assuming 252 trading days/year, 6.5 hours/day)
double minutesPerYear = 252.0 * 6.5 * 60.0;
_dt = timeframe.TotalMinutes / minutesPerYear;
@@ -94,12 +100,12 @@ public class GBM : IFeed
public TBar Next(ref bool isNew)
{
// GBM always honors request - parameter unchanged
if (isNew || !_hasCurrentBar)
{
// Generate new bar
long currentTime = _lastTime + _defaultTimeStep;
double z = NextNormal();
double price = _lastPrice * Math.Exp(_drift + _vol * z);
double volume = 1000 + _rnd.NextDouble() * 1000;
@@ -199,10 +205,10 @@ public class GBM : IFeed
// Update internal state to continue from end of batch
_lastPrice = currentPrice;
_lastTime = currentTime - timeStep; // Last bar time, not next bar time
// Bulk add to series
series.Add(t, o, h, l, c, v);
// Reset streaming state after batch
_hasCurrentBar = false;