1#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd)]
2#[cfg_attr(target_arch = "spirv", repr(simd))]
3#[cfg_attr(not(target_arch = "spirv"), repr(C))]
4pub struct XY<T> {
5 pub x: T,
6 pub y: T,
7}
8
9#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd)]
10#[cfg_attr(target_arch = "spirv", repr(simd))]
11#[cfg_attr(not(target_arch = "spirv"), repr(C))]
12pub struct Vec3<T> {
13 pub x: T,
14 pub y: T,
15 pub z: T,
16}
17
18#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd)]
19#[cfg_attr(target_arch = "spirv", repr(simd))]
20#[cfg_attr(not(target_arch = "spirv"), repr(C))]
21pub struct Vec4<T> {
22 pub x: T,
23 pub y: T,
24 pub z: T,
25 pub w: T,
26}
27
28#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd)]
29#[cfg_attr(not(target_arch = "spirv"), repr(C))]
30pub struct Cols2<V> {
31 pub x_axis: V,
32 pub y_axis: V,
33}
34
35#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd)]
36#[cfg_attr(not(target_arch = "spirv"), repr(C))]
37pub struct Cols3<V> {
38 pub x_axis: V,
39 pub y_axis: V,
40 pub z_axis: V,
41}
42
43#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd)]
44#[cfg_attr(not(target_arch = "spirv"), repr(C))]
45pub struct Cols4<V> {
46 pub x_axis: V,
47 pub y_axis: V,
48 pub z_axis: V,
49 pub w_axis: V,
50}