use crate::error::{FFTError, FFTResult};
use crate::gpu_kernel_stub::MIGRATION_MESSAGE;
use crate::sparse_fft::SparseFFTResult;
use scirs2_core::numeric::NumCast;
use std::fmt::Debug;
pub struct CUDAFrequencyPruningSparseFFTKernel;
impl CUDAFrequencyPruningSparseFFTKernel {
pub fn new() -> Self {
Self
}
}
impl Default for CUDAFrequencyPruningSparseFFTKernel {
fn default() -> Self {
Self::new()
}
}
#[allow(dead_code)]
pub fn execute_cuda_frequency_pruning_sparse_fft<T>(
_input: &[T],
_k: usize,
_threshold: f64,
) -> FFTResult<SparseFFTResult>
where
T: NumCast + Copy + Debug,
{
Err(FFTError::NotImplementedError(MIGRATION_MESSAGE.to_string()))
}
pub struct CUDAIterativeSparseFFTKernel;
impl CUDAIterativeSparseFFTKernel {
pub fn new() -> Self {
Self
}
}
impl Default for CUDAIterativeSparseFFTKernel {
fn default() -> Self {
Self::new()
}
}
#[allow(dead_code)]
pub fn execute_cuda_iterative_sparse_fft<T>(
_input: &[T],
_k: usize,
_max_iterations: usize,
) -> FFTResult<SparseFFTResult>
where
T: NumCast + Copy + Debug,
{
Err(FFTError::NotImplementedError(MIGRATION_MESSAGE.to_string()))
}
pub struct CUDASpectralFlatnessSparseFFTKernel;
impl CUDASpectralFlatnessSparseFFTKernel {
pub fn new() -> Self {
Self
}
}
impl Default for CUDASpectralFlatnessSparseFFTKernel {
fn default() -> Self {
Self::new()
}
}
#[allow(dead_code)]
pub fn execute_cuda_spectral_flatness_sparse_fft<T>(
_input: &[T],
_k: usize,
_flatness_threshold: f64,
) -> FFTResult<SparseFFTResult>
where
T: NumCast + Copy + Debug,
{
Err(FFTError::NotImplementedError(MIGRATION_MESSAGE.to_string()))
}