use crate::kde::KdeResult;
#[cfg(not(feature = "gpu"))]
use crate::kde::KdeError;
#[cfg(feature = "gpu")]
pub fn is_gpu_available() -> bool {
std::env::var("FLOW_UTILS_USE_GPU").is_ok()
}
#[cfg(not(feature = "gpu"))]
pub fn is_gpu_available() -> bool {
false
}
#[cfg(feature = "gpu")]
pub fn kde_fft_gpu(data: &[f64], grid: &[f64], bandwidth: f64, n: f64) -> KdeResult<Vec<f64>> {
use crate::kde::fft::kde_fft;
kde_fft(data, grid, bandwidth, n)
}
#[cfg(not(feature = "gpu"))]
pub fn kde_fft_gpu(_data: &[f64], _grid: &[f64], _bandwidth: f64, _n: f64) -> KdeResult<Vec<f64>> {
Err(KdeError::StatsError(
"GPU support not compiled in".to_string(),
))
}