#!/usr/bin/env -S rust-script -t nightly -c
#![allow(unexpected_cfgs)]
#![cfg_attr(nightly_simd, feature(portable_simd))]
use devela::define_lane;
fn main() {
define_lane!(auto TestLane4 lanes(4); signed(i32); float(f32););
let mut i1 = TestLane4::<i32>::splat(10);
let i2 = TestLane4::<i32>::splat(20);
i1.add_assign(i2);
println!("auto: {i1:?}");
let mut i1 = TestLane4::<i32>::splat(10);
i1.add_assign_plain(i2);
println!("plain: {i1:?}");
#[cfg(nightly_simd)]
{
let mut i1 = TestLane4::<i32>::splat(10);
i1.add_assign_simd(i2);
println!("simd: {i1:?}");
}
#[cfg(feature = "wide")]
{
let mut i1 = TestLane4::<i32>::splat(10);
i1.add_assign_wide(i2);
println!("wide: {i1:?}");
}
}