pub struct MemoryStore {
pub memories: Vec<MemoryRecord>,
pub dims: usize,
/* private fields */
}Fields§
§memories: Vec<MemoryRecord>§dims: usizeImplementations§
Source§impl MemoryStore
impl MemoryStore
pub fn new(dims: usize) -> Self
Sourcepub fn ensure_token_hv(&mut self, token: &str) -> &Hypervector
pub fn ensure_token_hv(&mut self, token: &str) -> &Hypervector
M1: Return reference instead of clone — eliminates 10KB clone per call.
Sourcepub fn retain(&mut self, content: &str, source: &str, error: bool) -> i64
pub fn retain(&mut self, content: &str, source: &str, error: bool) -> i64
Ingest a memory: tokenize, encode, store, update co-occurrence
Sourcepub fn encode_tokens(&mut self, tokens: &[String]) -> Hypervector
pub fn encode_tokens(&mut self, tokens: &[String]) -> Hypervector
V58 P2a: deterministic token-set hypervector — majority vote over the k token HVs only (NOT chained bundle_into, which starts from an empty HV whose -1 votes poison every tie and collapse everything to zero). Sort+dedup for order-independence; FNV content seeds give distinct per-token vectors.
Sourcepub fn encode_query(&self, query: &str) -> Hypervector
pub fn encode_query(&self, query: &str) -> Hypervector
Encode a query into a hypervector (sum of token HVs)
Sourcepub fn recall(&self, query: &str, top_n: usize) -> Vec<ScoredMemory>
pub fn recall(&self, query: &str, top_n: usize) -> Vec<ScoredMemory>
Search memories by query similarity. M4: Uses select_nth_unstable for O(N) top-K instead of O(N log N) full sort.
Sourcepub fn predict(&self, query: &str, top_n: usize) -> Vec<(String, u64)>
pub fn predict(&self, query: &str, top_n: usize) -> Vec<(String, u64)>
Co-occurrence prediction: given query tokens, predict most associated tokens
Sourcepub fn consolidate(&mut self)
pub fn consolidate(&mut self)
Promote memories to higher tiers
Auto Trait Implementations§
impl Freeze for MemoryStore
impl RefUnwindSafe for MemoryStore
impl Send for MemoryStore
impl Sync for MemoryStore
impl Unpin for MemoryStore
impl UnsafeUnpin for MemoryStore
impl UnwindSafe for MemoryStore
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