autd3-backend-arrayfire 35.0.0

ArrayFire Backend for AUTD3
Documentation
use anyhow::Result;

use autd3::prelude::*;

use autd3_backend_arrayfire::ArrayFireBackend;
use autd3_gain_holo::*;

fn main() -> Result<()> {
    let mut autd = Controller::open([AUTD3::default()], Nop::new())?;

    let backend = std::sync::Arc::new(ArrayFireBackend::default());

    let center = autd.center() + Vector3::new(0., 0., 150.0 * mm);
    let p = Vector3::new(30. * mm, 0., 0.);
    let g = GSPAT {
        foci: vec![(center + p, 5e3 * Pa), (center - p, 5e3 * Pa)],
        option: GSPATOption::default(),
        backend,
    };

    autd.send(g)?;

    autd.close()?;

    Ok(())
}