pub fn sign_apply_i32_m256i(a: m256i, b: m256i) -> m256i
Available with target feature avx2 only.
Expand description

Lanewise a * signum(b) with lanes as i32

  • If b is positive, the output is a.
  • If b is zero, the output is 0.
  • If b is negative, the output is -a.
let a = m256i::from([0_i32, 1, 2, 3, 4, 5, 6, 7]);
let b = m256i::from([0_i32, 0, -2, -13, 4, 15, 6, -17]);
let c: [i32; 8] = sign_apply_i32_m256i(a, b).into();
assert_eq!(c, [0_i32, 0, -2, -3, 4, 5, 6, -7]);