pub struct ZeroSpVec<N>where
N: Num,{ /* private fields */ }Expand description
ZeroSpVecは0要素を疎とした過疎ベクトルを実装です indices と valuesを持ち indicesは要素のインデックスを保持し、 valuesは要素の値を保持します
要素はindicesの昇順でソートされていることを保証します
Trait Implementations§
Source§impl<'de, N> Deserialize<'de> for ZeroSpVec<N>
impl<'de, N> Deserialize<'de> for ZeroSpVec<N>
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'a, N> From<ZeroSpVecRawIter<'a, N>> for ZeroSpVec<N>
impl<'a, N> From<ZeroSpVecRawIter<'a, N>> for ZeroSpVec<N>
Source§fn from(iter: ZeroSpVecRawIter<'a, N>) -> Self
fn from(iter: ZeroSpVecRawIter<'a, N>) -> Self
Converts to this type from the input type.
Source§impl<N> ZeroSpVecTrait<N> for ZeroSpVec<N>where
N: Num,
impl<N> ZeroSpVecTrait<N> for ZeroSpVec<N>where
N: Num,
Source§unsafe fn raw_push(&mut self, index: usize, value: N)
unsafe fn raw_push(&mut self, index: usize, value: N)
raw_pushは、要素を追加するためのメソッドです。 ただし全体の長さを考慮しませんのであとでlenを更新する必要があります。
§Arguments
index- 追加する要素のインデックスvalue- 追加する要素の値
Source§unsafe fn from_sparse_iter(
iter: impl Iterator<Item = (usize, N)>,
len: usize,
) -> Self
unsafe fn from_sparse_iter( iter: impl Iterator<Item = (usize, N)>, len: usize, ) -> Self
Build from sparse iterator that yields only non-zero elements (idx, value). This avoids allocating a full dense Vec when most entries are zero. unsafeにするべき
unsafe fn ind_ptr(&self) -> *mut usize
unsafe fn val_ptr(&self) -> *mut N
fn ind_binary_search(&self, index: &usize) -> Result<usize, usize>
fn new() -> Self
fn with_capacity(cap: usize) -> Self
fn reserve(&mut self, additional: usize)
fn shrink_to_fit(&mut self)
fn is_empty(&self) -> bool
fn len(&self) -> usize
fn len_mut(&mut self) -> &mut usize
fn capacity(&self) -> usize
fn nnz(&self) -> usize
fn add_dim(&mut self, dim: usize)
fn clear(&mut self)
fn push(&mut self, elem: N)
fn pop(&mut self) -> Option<N>
fn get(&self, index: usize) -> Option<&N>
fn get_ind(&self, index: usize) -> Option<usize>
fn from_vec(vec: Vec<N>) -> Self
unsafe fn from_raw_iter( iter: impl Iterator<Item = (usize, N)>, len: usize, ) -> Self
fn iter(&self) -> ZeroSpVecIter<'_, N> ⓘ
fn raw_iter(&self) -> ZeroSpVecRawIter<'_, N> ⓘ
impl<N: Num + Send> Send for ZeroSpVec<N>
impl<N: Num + Sync> Sync for ZeroSpVec<N>
Auto Trait Implementations§
impl<N> Freeze for ZeroSpVec<N>where
N: Freeze,
impl<N> RefUnwindSafe for ZeroSpVec<N>where
N: RefUnwindSafe,
impl<N> Unpin for ZeroSpVec<N>where
N: Unpin,
impl<N> UnwindSafe for ZeroSpVec<N>where
N: UnwindSafe + RefUnwindSafe,
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