cross_correlate 0.3.1

Signal cross-correlation
Documentation

A Rust library for computing cross-correlation of signals using FFT. This crate is useful in signal processing, pattern matching, and time-series analysis where cross-correlation is a common operation.

It supports multiple correlation modes (Full, Same, Valid) and allows different FFT backends.

Performance Uses FFT-based convolution for O(n log n) performance. Reuses FFT plans to avoid repeated allocations and planning overhead. SIMD-friendly design (with optional optimizations for AVX2/NEON).

 let mut src = vec![
    5.12, 6.2136, 7.2387, 1.52312, 2.52313, 3.52313, 4.52313, 5.23871,
];
let dst = vec![0.31421, 0.421, 0.653, 0.121];

let mode = CrossCorrelationMode::Full;

let correlation = Correlate::create_real_f64(src.len(), dst.len(), mode).unwrap();
let corr = correlation.correlate_managed(&src, &dst).unwrap();

This project is licensed under either of

  • BSD-3-Clause License (see LICENSE)
  • Apache License, Version 2.0 (see LICENSE)

at your option.