Macro adi_gpu_base::vec4[]

macro_rules! vec4 {
    (  ) => { ... };
    ( $ expr : expr ) => { ... };
    ( $ xyz : expr , $ w : expr ) => { ... };
    (
$ xy : expr , $ z : expr , $ w : expr ) => { ... };
    (
$ x : expr , $ y : expr , $ z : expr , $ w : expr ) => { ... };
}

Single-precision 4D vector macro constructor.

Examples

Zeros

let zeros = vec4!();
assert_eq!(zeros.as_ref(), &[0.0, 0.0, 0.0, 0.0]);

Ones

let ones = vec4!(1.0);
assert_eq!(ones.as_ref(), &[1.0, 1.0, 1.0, 1.0]);

Full

let full = vec4!(1.2, 3.4, 5.6, 7.8);
assert_eq!(full.as_ref(), &[1.2, 3.4, 5.6, 7.8]);

From vec2

let vec2 = vec2!(1.2, 3.4);
let vec4 = vec4!(vec2, 5.6, 7.8);
assert_eq!(vec4.as_ref(), &[1.2, 3.4, 5.6, 7.8]);

From vec3

let vec3 = vec3!(1.2, 3.4, 5.6);
let vec4 = vec4!(vec3, 7.8);
assert_eq!(vec4.as_ref(), &[1.2, 3.4, 5.6, 7.8]);