Expand description
Макросы для удобного построения векторных выражений.
Этот модуль предоставляет макросы, которые упрощают работу с векторным eDSL, позволяя писать выражения в естественной математической нотации.
§Примеры
use rill_core::vector::prelude::*;
use rill_core::vector::macros::*;
let a = ScalarVector4::splat(1.0);
let b = ScalarVector4::splat(2.0);
let c = a + b; // обычная векторная операция
assert_eq!(c, ScalarVector4::splat(3.0));
// Применение выражения ко всему слайсу
let input = [1.0f32, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0];
let mut output = [0.0f32; 8];
vec_map!(&input, &mut output, |x| x * 2.0 + 1.0);
// output = [3.0, 5.0, 7.0, 9.0, 11.0, 13.0, 15.0, 17.0]