Key Updates:
-
C++ Standard Upgrade & Core Enhancements:
- Updated to C++20: Leveraged the latest features, improving performance and maintainability across the codebase.
- Code Refactoring:
- Simplified logic in core modules for better readability and execution speed.
- Enhanced Doxygen comments for clearer documentation and improved codebase understanding.
- Integrated
clang-tidy
Linter:- Added static analysis to ensure code quality, consistency, and best practices.
-
New Functional Modules:
TSummator
: Added a new module that allows the summation of signal lines.- Introduced
equals
method inTSignalLine
to compare signals. - Further optimizations for performance and memory usage.
- Introduced
TMultiplier
: Introduced a multiplier module similar toTSummator
for multiplying signal lines.TDifferentiator
: Added signal differentiation capabilities using central and one-sided differences.- Option for scaling via a normalization factor, enhancing flexibility in signal representation.
TIntegrator
: New class for numerical integration.- Supports three methods: Trapezoidal (default), Simpson, and Boole, making the framework more robust for signal analysis.
TNoiseGenerator
: Introduced white noise generation with customizable amplitude.- Can be applied to signals to generate noisy data, facilitating better testing and analysis of signal handling methods.
-
Module Improvements:
TSignalLine
Enhancements:- Public and static methods for easier access.
- Added normalization factors for improved control over signal scaling (e.g., sine wave normalization with
2π
).
TGnuPlotViewer
: Updated for better visualization capabilities.
-
General Improvements:
- Bug Fixes:
- Addressed minor issues, such as loop variable type corrections when writing signals to files.
- Code Cleanup:
- Removed unnecessary files (
main.cpp
), ensuring a cleaner codebase. - Improved
.gitignore
to streamline development processes.
- Removed unnecessary files (
- Documentation Updates:
- Refined README, LICENSE, and Markdown files for better readability and consistency.
- Bug Fixes:
Full Changelog: v2.0.0...v2.1.0