Skip to content

function optimizations + new testing framework - #58

Merged
joshuabmoore merged 18 commits into
mainfrom
optimizations
Aug 4, 2026
Merged

function optimizations + new testing framework #58
joshuabmoore merged 18 commits into
mainfrom
optimizations

Conversation

@joshuabmoore

Copy link
Copy Markdown
Collaborator

This version brings several major updates to catch22, primarily comprising optimizations to existing code; note that results have been confirmed to be bitwise equivalent with previous versions. There are no major breaking changes for existing users.

The following functions have been optimized (in each case validated against previous implementations on a range of data to confirm bitwise-equivalent results):

  • DN_OutlierInclude_p_001_mdrmd
  • DN_OutlierInclude_n_001_mdrmd
  • PD_PeriodicityWang_th0_01
  • FC_LocalSimple_mean1_tauresrat
  • SB_TransitionMatrix_3ac_sumdiagcov
  • CO_f1ecac
  • CO_Embed2_Dist_tau_d_expfit_meandiff
  • CO_FirstMin_ac
  • SC_FluctAnal_2_rsrangefit_50_1_logi_prop_r1
  • SC_FluctAnal_2_dfa_50_1_2_logi_prop_r1
  • SP_Summaries_welch_rect_area_5_1
  • SP_Summaries_welch_rect_centroid

Changed

  • Optimised several C feature implementations without changing their results:
    SC_FluctAnal, PD_PeriodicityWang, FC_LocalSimple, DN_OutlierInclude,
    and the fft routine.
  • Reorganised testData/: fixtures moved into testData/basic/ and
    testData/empirical/, and empirical files renamed (e.g. teste1000ts1.txt ->
    e1000_ts0.txt). External scripts referencing the old paths must be updated.

Removed

  • Removed the public function DN_OutlierInclude_abs_001 (declaration and
    definition). This was not one of the 22 canonical catch22 features and was
    not used by any language wrapper. Direct callers linking against this symbol
    must migrate.

Fixed

  • Corrected the stale include guard name in C/DN_OutlierInclude.h
    (DN_OUTLIERINCLUDE_ABS_001 -> DN_OUTLIERINCLUDE_H).

@joshuabmoore
joshuabmoore merged commit f56d01b into main Aug 4, 2026
2 checks passed
@joshuabmoore joshuabmoore added the enhancement New feature or request label Aug 4, 2026
@joshuabmoore
joshuabmoore deleted the optimizations branch August 4, 2026 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant