1 2 3 4 5 6 7 8 9 10 11
use cubecl::prelude::*; use dspk_core::compute::element_position; /// Linear scaling and offset: `y = x ยท scale + offset` (gain calibration, unit conversion). #[cube(launch)] pub fn scale_samples_kernel<F: Float + CubeElement + LaunchArg>(input: &[F], output: &mut [F], scale_factor: F, offset: F) { let i = element_position(); if i < input.len() { output[i] = input[i] * scale_factor + offset; } }