trunc_simd

Function trunc_simd 

Source
pub fn trunc_simd<F>(a: &ArrayView1<'_, F>) -> Array1<F>
where F: Float + SimdUnifiedOps,
Expand description

SIMD-accelerated truncation (round towards zero)

Removes the fractional part, rounding towards zero.

§Arguments

  • a - Input array

§Returns

Truncated array

§Examples

use scirs2_core::ndarray::array;
use scirs2_core::ndarray_ext::elementwise::trunc_simd;

let x = array![2.7_f64, -2.7, 0.9, -0.9];
let result = trunc_simd::<f64>(&x.view());
assert!((result[0] - 2.0).abs() < 1e-14);
assert!((result[1] - (-2.0)).abs() < 1e-14);
assert!((result[2] - 0.0).abs() < 1e-14);
assert!((result[3] - 0.0).abs() < 1e-14);

§Use Cases

  • Integer conversion
  • Discretization
  • Quantization
  • Index calculation