Skip to main content

Module macros

Module macros 

Source
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]

§Доступные макросы

  • vec_map! – применяет векторное выражение ко всему слайсу.
  • vec_expr! – создаёт ленивое векторное выражение (заглушка, требует исправления модуля expr).
  • vec_eval! – немедленно вычисляет векторное выражение (заглушка).

Macros§

vec_eval
Немедленно вычисляет векторное выражение (заглушка).
vec_expr
Создаёт ленивое векторное выражение (заглушка).
vec_map