Files
Miha Kralj 67ad6f0cba v0.8.7: Replace periodic ResyncInterval with Kahan compensated summation
Comprehensive refactor across all indicators replacing the periodic
ResyncInterval-based drift correction (every 1000 ticks recalculate
from scratch) with Kahan compensated summation for running sums.

Key changes:
- Remove ResyncInterval constants and TickCount fields from all State records
- Add Kahan compensation fields (SumComp, SumSqComp, etc.) to State records
- Replace naive sum += val - removed with Kahan delta pattern
- Remove Resync()/RecalculateSum() methods that did O(N) recalculation
- Update batch/SIMD paths to use Kahan compensation instead of resync loops
- IIR filters (EMA, REMA, RGMA) simplified: inherently self-correcting
- Version bump to 0.8.7
- Build system: README version stamping via Directory.Build.props
- Minor doc/test tolerance adjustments for new numerical characteristics

Affected modules: channels, core, cycles, dynamics, errors, momentum,
oscillators, statistics, trends_FIR, trends_IIR, volatility, volume
2026-03-13 22:01:31 -07:00

132 lines
5.3 KiB
INI

# EditorConfig for QuanTAlib
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.cs]
resharper_check_namespace_highlighting = none
resharper_redundant_argument_default_value_highlighting = none
resharper_invalid_xml_doc_comment_highlighting = none
resharper_inconsistent_naming_highlighting = none
resharper_redundant_using_directive_highlighting = none
resharper_for_can_be_converted_to_foreach_highlighting = none
resharper_unused_parameter_local_highlighting = none
resharper_conditional_access_qualifier_is_non_nullable_according_to_api_contract_highlighting = none
resharper_redundant_lambda_parameter_type_highlighting = none
resharper_not_accessed_positional_property_local_highlighting = none
resharper_possible_loss_of_fraction_highlighting = hint
# Suppress JB InspectCode false positives / intentional patterns
resharper_unused_method_return_value_local_highlighting = none
resharper_member_initializer_value_ignored_highlighting = none
resharper_redundant_explicit_array_creation_highlighting = hint
resharper_with_expression_modifies_all_members_highlighting = hint
resharper_redundant_delegate_creation_highlighting = hint
resharper_redundant_default_member_initializer_highlighting = hint
resharper_redundant_empty_switch_section_highlighting = hint
resharper_empty_for_statement_highlighting = hint
resharper_using_statement_resource_initialization_highlighting = hint
resharper_unused_member_local_highlighting = hint
resharper_not_accessed_variable_highlighting = hint
resharper_private_field_can_be_converted_to_local_variable_highlighting = hint
resharper_collection_never_queried_local_highlighting = hint
resharper_unused_auto_property_accessor_local_highlighting = hint
resharper_unused_tuple_component_in_return_value_highlighting = hint
resharper_convert_type_check_to_null_check_highlighting = hint
resharper_redundant_name_qualifier_highlighting = hint
resharper_redundant_suppress_nullable_warning_expression_highlighting = hint
resharper_possible_null_reference_exception_highlighting = hint
resharper_assign_null_to_not_null_attribute_highlighting = hint
resharper_default_struct_equality_is_used_global_highlighting = hint
dotnet_diagnostic.CS0628.severity = none
dotnet_diagnostic.CS8602.severity = none
dotnet_diagnostic.CS8601.severity = none
dotnet_diagnostic.CS0660.severity = none
dotnet_diagnostic.CS0661.severity = none
resharper_redundant_cast_highlighting = hint
resharper_redundant_assignment_highlighting = hint
resharper_not_accessed_field_local_highlighting = hint
resharper_unused_auto_property_accessor_global_highlighting = hint
resharper_condition_is_always_true_or_false_highlighting = hint
resharper_condition_is_always_true_or_false_according_to_nullable_api_contract_highlighting = hint
resharper_access_to_modified_closure_highlighting = hint
resharper_generic_enumerator_not_disposed_highlighting = hint
# Sonar rule suppressions (synced from sonar-suppressions.json)
# See sonar-suppressions.json for detailed justifications
dotnet_diagnostic.S107.severity = none
dotnet_diagnostic.S1199.severity = none
dotnet_diagnostic.S109.severity = none
dotnet_diagnostic.S122.severity = none
dotnet_diagnostic.S134.severity = none
dotnet_diagnostic.S138.severity = none
dotnet_diagnostic.S1067.severity = none
dotnet_diagnostic.S1144.severity = none
dotnet_diagnostic.S1227.severity = none
dotnet_diagnostic.S1244.severity = none
dotnet_diagnostic.S1309.severity = none
dotnet_diagnostic.S1451.severity = none
dotnet_diagnostic.S1541.severity = none
dotnet_diagnostic.S1659.severity = none
dotnet_diagnostic.S1944.severity = none
dotnet_diagnostic.S2053.severity = none
dotnet_diagnostic.S2245.severity = none
dotnet_diagnostic.S2259.severity = none
dotnet_diagnostic.S2360.severity = none
dotnet_diagnostic.S2583.severity = none
dotnet_diagnostic.S2589.severity = none
dotnet_diagnostic.S3236.severity = none
dotnet_diagnostic.S3254.severity = none
dotnet_diagnostic.S3264.severity = none
dotnet_diagnostic.S3329.severity = none
dotnet_diagnostic.S3604.severity = none
dotnet_diagnostic.S3655.severity = none
dotnet_diagnostic.S3776.severity = none
dotnet_diagnostic.S3904.severity = none
dotnet_diagnostic.S3906.severity = none
dotnet_diagnostic.S3908.severity = none
dotnet_diagnostic.S3949.severity = none
dotnet_diagnostic.S3966.severity = none
dotnet_diagnostic.S3990.severity = none
dotnet_diagnostic.S3992.severity = none
dotnet_diagnostic.S4035.severity = none
dotnet_diagnostic.S4158.severity = none
dotnet_diagnostic.S4347.severity = none
dotnet_diagnostic.S5773.severity = none
dotnet_diagnostic.S6781.severity = none
# Other suppressions
dotnet_diagnostic.IDE0028.severity = none
dotnet_diagnostic.CA1416.severity = none
dotnet_diagnostic.MA0046.severity = none
dotnet_diagnostic.MA0003.severity = suggestion
# Require curly braces on control structures
csharp_prefer_braces = true:warning
dotnet_diagnostic.IDE0011.severity = warning
csharp_style_var_for_built_in_types = false:silent
csharp_style_var_when_type_is_apparent = true:suggestion
csharp_style_var_elsewhere = false:silent
[python/src/**.cs]
resharper_enforce_if_statement_braces_highlighting = none
csharp_prefer_braces = false:silent
[ndepend/**]
dotnet_analyzer_diagnostic.severity = none
generated_code = true
[*.sh]
end_of_line = lf
indent_style = space
indent_size = 2