use super::*;
use CuDataType;
#[derive(Debug)]
pub struct CuMatrixPtr<T: CuDataType> {
pub(crate) deref: CuMatrixDeref<T>,
}
impl<T: CuDataType> CuMatrixPtr<T> {
#[inline]
pub fn rows(&self) -> usize {
self.deref.rows
}
#[inline]
pub fn cols(&self) -> usize {
self.deref.cols
}
#[inline]
pub fn len(&self) -> usize {
self.deref.len
}
#[inline]
pub unsafe fn deref(&self) -> &CuMatrixDeref<T> {
&self.deref
}
}
#[derive(Debug)]
pub struct CuMatrixMutPtr<T: CuDataType> {
pub(crate) deref: CuMatrixDeref<T>,
}
impl<T: CuDataType> CuMatrixMutPtr<T> {
#[inline]
pub fn rows(&self) -> usize {
self.deref.rows
}
#[inline]
pub fn cols(&self) -> usize {
self.deref.cols
}
#[inline]
pub fn len(&self) -> usize {
self.deref.len
}
#[inline]
pub unsafe fn deref(&self) -> &CuMatrixDeref<T> {
&self.deref
}
#[inline]
pub unsafe fn deref_mut(&mut self) -> &mut CuMatrixDeref<T> {
&mut self.deref
}
}