Skip to content

v2.1.0

Latest
Compare
Choose a tag to compare
@ilvoron ilvoron released this 29 Sep 14:29
· 7 commits to main since this release

Key Updates:

  1. 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.
  2. New Functional Modules:

    • TSummator: Added a new module that allows the summation of signal lines.
      • Introduced equals method in TSignalLine to compare signals.
      • Further optimizations for performance and memory usage.
    • TMultiplier: Introduced a multiplier module similar to TSummator 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.
  3. 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 ).
    • TGnuPlotViewer: Updated for better visualization capabilities.
  4. 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.
    • Documentation Updates:
      • Refined README, LICENSE, and Markdown files for better readability and consistency.

Full Changelog: v2.0.0...v2.1.0