pub struct DeviceCsrMatrix {
pub rows: usize,
pub cols: usize,
pub rowptr: DeviceBuffer<i32>,
pub colidx: DeviceBuffer<i32>,
pub values: DeviceBuffer<f64>,
}Fields§
§rows: usize§cols: usize§rowptr: DeviceBuffer<i32>§colidx: DeviceBuffer<i32>§values: DeviceBuffer<f64>Implementations§
Source§impl DeviceCsrMatrix
impl DeviceCsrMatrix
Sourcepub fn new(
rows: usize,
cols: usize,
rowptr: DeviceBuffer<i32>,
colidx: DeviceBuffer<i32>,
values: DeviceBuffer<f64>,
) -> Self
pub fn new( rows: usize, cols: usize, rowptr: DeviceBuffer<i32>, colidx: DeviceBuffer<i32>, values: DeviceBuffer<f64>, ) -> Self
Construct a CSR matrix, enforcing the structural invariant that rowptr
holds exactly rows + 1 entries.
A CSR row-pointer array must have one slot per row plus a trailing slot
equal to nnz. If the supplied rowptr violates this (too short or too
long), it is canonicalized to rows + 1 monotone entries: a short
rowptr is padded with its final value (marking the remaining rows as
empty) and an over-long rowptr is truncated. This prevents downstream
row-slice and deallocation paths from indexing rowptr[row + 1] out of
bounds, which would be an invalid-free / out-of-bounds deallocation
hazard.
pub const fn nnz(&self) -> usize
Trait Implementations§
Source§impl Clone for DeviceCsrMatrix
impl Clone for DeviceCsrMatrix
Source§fn clone(&self) -> DeviceCsrMatrix
fn clone(&self) -> DeviceCsrMatrix
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for DeviceCsrMatrix
impl RefUnwindSafe for DeviceCsrMatrix
impl Send for DeviceCsrMatrix
impl Sync for DeviceCsrMatrix
impl Unpin for DeviceCsrMatrix
impl UnsafeUnpin for DeviceCsrMatrix
impl UnwindSafe for DeviceCsrMatrix
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more