use crate::signal::traits::extrema::{ExtremaAlgorithms, ExtremaResult, ExtremumMode};
use numr::error::{Error, Result};
use numr::runtime::wgpu::{WgpuClient, WgpuRuntime};
use numr::tensor::Tensor;
impl ExtremaAlgorithms<WgpuRuntime> for WgpuClient {
fn argrelmin(
&self,
_x: &Tensor<WgpuRuntime>,
_order: usize,
_mode: ExtremumMode,
) -> Result<ExtremaResult<WgpuRuntime>> {
Err(Error::backend_limitation(
"wgpu",
"argrelmin",
"Local extrema detection is CPU-only due to sequential comparison patterns. Transfer data to CPU first.",
))
}
fn argrelmax(
&self,
_x: &Tensor<WgpuRuntime>,
_order: usize,
_mode: ExtremumMode,
) -> Result<ExtremaResult<WgpuRuntime>> {
Err(Error::backend_limitation(
"wgpu",
"argrelmax",
"Local extrema detection is CPU-only due to sequential comparison patterns. Transfer data to CPU first.",
))
}
}