Skip to main content

singe_cuda/
dim.rs

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}