1use singe_cuda_sys::runtime;
2
3#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
4pub struct Dim3 {
5 pub x: u32,
6 pub y: u32,
7 pub z: u32,
8}
9
10impl Dim3 {
11 pub const fn new(x: u32, y: u32, z: u32) -> Self {
12 Self { x, y, z }
13 }
14}
15
16impl From<runtime::dim3> for Dim3 {
17 fn from(dim: runtime::dim3) -> Self {
18 Self {
19 x: dim.x,
20 y: dim.y,
21 z: dim.z,
22 }
23 }
24}
25
26impl From<Dim3> for runtime::dim3 {
27 fn from(dim: Dim3) -> Self {
28 Self {
29 x: dim.x,
30 y: dim.y,
31 z: dim.z,
32 }
33 }
34}