pub trait Outputs: Sized {
type Per: Copy + Sync;
type Cell<'a>
where Self: 'a;
type Shared: Sync;
// Required methods
fn new(count: usize, per: Self::Per) -> Self;
fn shared(&mut self) -> Self::Shared;
unsafe fn cell<'a>(
shared: &'a Self::Shared,
per: Self::Per,
i: usize,
) -> Self::Cell<'a>
where Self: 'a;
}Expand description
A stack’s outputs: a tuple of one to three Vecs, each holding its own number of items for every cell in turn. stack gives each cell its part of each output, as a QR stack writes Q and R and an SVD stack U, S and V.
Required Associated Types§
The outputs’ items, shared with the threads that write their cells.
Required Methods§
Sourcefn new(count: usize, per: Self::Per) -> Self
fn new(count: usize, per: Self::Per) -> Self
The outputs of count cells, each item at its default. vec! asks the allocator for zeroed memory where that default is zero bits, as for real numbers and integers, so no pass writes a large output before its cells do.
Pointers to the outputs’ items.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".