Documentation

Std.Data.PersistentHashMap

inductive Std.PersistentHashMap.Entry (α : Type u) (β : Type v) (σ : Type w) :
Type (max (max u v) w)
instance Std.PersistentHashMap.instInhabitedEntry {α : Type u_1} {β : Type u_2} {σ : Type u_3} :
Equations
  • Std.PersistentHashMap.instInhabitedEntry = { default := Std.PersistentHashMap.Entry.null }
inductive Std.PersistentHashMap.Node (α : Type u) (β : Type v) :
Type (max u v)
instance Std.PersistentHashMap.instInhabitedNode {α : Type u_1} {β : Type u_2} :
Equations
Equations
structure Std.PersistentHashMap (α : Type u) (β : Type v) [inst : BEq α] [inst : Hashable α] :
Type (max u v)
@[inline]
abbrev Std.PHashMap (α : Type u) (β : Type v) [inst : BEq α] [inst : Hashable α] :
Type (max u v)
Equations
def Std.PersistentHashMap.empty {α : Type u_1} {β : Type u_2} [inst : BEq α] [inst : Hashable α] :
Equations
def Std.PersistentHashMap.isEmpty {α : Type u_1} {β : Type u_2} [inst : BEq α] [inst : Hashable α] (m : Std.PersistentHashMap α β) :
Equations
instance Std.PersistentHashMap.instInhabitedPersistentHashMap {α : Type u_1} {β : Type u_2} [inst : BEq α] [inst : Hashable α] :
Equations
def Std.PersistentHashMap.mkEmptyEntries {α : Type u_1} {β : Type u_2} :
Equations
inductive Std.PersistentHashMap.IsCollisionNode {α : Type u_1} {β : Type u_2} :
@[inline]
abbrev Std.PersistentHashMap.CollisionNode (α : Type u_1) (β : Type u_2) :
Type (max 0 u_2 u_1)
inductive Std.PersistentHashMap.IsEntriesNode {α : Type u_1} {β : Type u_2} :
@[inline]
abbrev Std.PersistentHashMap.EntriesNode (α : Type u_1) (β : Type u_2) :
Type (max 0 u_2 u_1)
partial def Std.PersistentHashMap.insertAtCollisionNodeAux {α : Type u_1} {β : Type u_2} [inst : BEq α] :
Equations
  • One or more equations did not get rendered due to their size.
def Std.PersistentHashMap.mkCollisionNode {α : Type u_1} {β : Type u_2} (k₁ : α) (v₁ : β) (k₂ : α) (v₂ : β) :
Equations
  • One or more equations did not get rendered due to their size.
partial def Std.PersistentHashMap.insertAux {α : Type u_1} {β : Type u_2} [inst : BEq α] [inst : Hashable α] :
partial def Std.PersistentHashMap.insertAux.traverse {α : Type u_1} {β : Type u_2} [inst : BEq α] [inst : Hashable α] (depth : USize) (keys : Array α) (vals : Array β) (heq : Array.size keys = Array.size vals) (i : Nat) (entries : Std.PersistentHashMap.Node α β) :
def Std.PersistentHashMap.insert {α : Type u_1} {β : Type u_2} :
{x : BEq α} → {x_1 : Hashable α} → Std.PersistentHashMap α βαβStd.PersistentHashMap α β
Equations
  • One or more equations did not get rendered due to their size.
partial def Std.PersistentHashMap.findAtAux {α : Type u_1} {β : Type u_2} [inst : BEq α] (keys : Array α) (vals : Array β) (heq : Array.size keys = Array.size vals) (i : Nat) (k : α) :
partial def Std.PersistentHashMap.findAux {α : Type u_1} {β : Type u_2} [inst : BEq α] :
Std.PersistentHashMap.Node α βUSizeαOption β
def Std.PersistentHashMap.find? {α : Type u_1} {β : Type u_2} :
{x : BEq α} → {x_1 : Hashable α} → Std.PersistentHashMap α βαOption β
Equations
@[inline]
def Std.PersistentHashMap.getOp {α : Type u_1} {β : Type u_2} :
{x : BEq α} → {x_1 : Hashable α} → Std.PersistentHashMap α βαOption β
Equations
@[inline]
def Std.PersistentHashMap.findD {α : Type u_1} {β : Type u_2} :
{x : BEq α} → {x_1 : Hashable α} → Std.PersistentHashMap α βαββ
Equations
@[inline]
def Std.PersistentHashMap.find! {α : Type u_1} {β : Type u_2} :
{x : BEq α} → {x_1 : Hashable α} → [inst : Inhabited β] → Std.PersistentHashMap α βαβ
Equations
  • One or more equations did not get rendered due to their size.
partial def Std.PersistentHashMap.findEntryAtAux {α : Type u_1} {β : Type u_2} [inst : BEq α] (keys : Array α) (vals : Array β) (heq : Array.size keys = Array.size vals) (i : Nat) (k : α) :
Option (α × β)
partial def Std.PersistentHashMap.findEntryAux {α : Type u_1} {β : Type u_2} [inst : BEq α] :
Std.PersistentHashMap.Node α βUSizeαOption (α × β)
def Std.PersistentHashMap.findEntry? {α : Type u_1} {β : Type u_2} :
{x : BEq α} → {x_1 : Hashable α} → Std.PersistentHashMap α βαOption (α × β)
Equations
partial def Std.PersistentHashMap.containsAtAux {α : Type u_1} {β : Type u_2} [inst : BEq α] (keys : Array α) (vals : Array β) (heq : Array.size keys = Array.size vals) (i : Nat) (k : α) :
partial def Std.PersistentHashMap.containsAux {α : Type u_1} {β : Type u_2} [inst : BEq α] :
def Std.PersistentHashMap.contains {α : Type u_1} {β : Type u_2} [inst : BEq α] [inst : Hashable α] :
Std.PersistentHashMap α βαBool
Equations
partial def Std.PersistentHashMap.isUnaryEntries {α : Type u_1} {β : Type u_2} (a : Array (Std.PersistentHashMap.Entry α β (Std.PersistentHashMap.Node α β))) (i : Nat) (acc : Option (α × β)) :
Option (α × β)
def Std.PersistentHashMap.isUnaryNode {α : Type u_1} {β : Type u_2} :
Equations
  • One or more equations did not get rendered due to their size.
partial def Std.PersistentHashMap.eraseAux {α : Type u_1} {β : Type u_2} [inst : BEq α] :
def Std.PersistentHashMap.erase {α : Type u_1} {β : Type u_2} :
{x : BEq α} → {x_1 : Hashable α} → Std.PersistentHashMap α βαStd.PersistentHashMap α β
Equations
  • One or more equations did not get rendered due to their size.
@[specialize]
partial def Std.PersistentHashMap.foldlMAux {m : Type wType w'} [inst : Monad m] {σ : Type w} {α : Type u_1} {β : Type u_2} (f : σαβm σ) :
Std.PersistentHashMap.Node α βσm σ
partial def Std.PersistentHashMap.foldlMAux.traverse {m : Type wType w'} [inst : Monad m] {σ : Type w} {α : Type u_1} {β : Type u_2} (f : σαβm σ) (keys : Array α) (vals : Array β) (heq : Array.size keys = Array.size vals) (i : Nat) (acc : σ) :
m σ
@[specialize]
def Std.PersistentHashMap.foldlM {m : Type wType w'} [inst : Monad m] {σ : Type w} {α : Type u_1} {β : Type u_2} :
{x : BEq α} → {x_1 : Hashable α} → Std.PersistentHashMap α β(σαβm σ) → σm σ
Equations
@[specialize]
def Std.PersistentHashMap.forM {m : Type wType w'} [inst : Monad m] {α : Type u_1} {β : Type u_2} :
{x : BEq α} → {x_1 : Hashable α} → Std.PersistentHashMap α β(αβm PUnit) → m PUnit
Equations
@[specialize]
def Std.PersistentHashMap.foldl {σ : Type w} {α : Type u_1} {β : Type u_2} :
{x : BEq α} → {x_1 : Hashable α} → Std.PersistentHashMap α β(σαβσ) → σσ
Equations
def Std.PersistentHashMap.toList {α : Type u_1} {β : Type u_2} :
{x : BEq α} → {x_1 : Hashable α} → Std.PersistentHashMap α βList (α × β)
Equations
  • numNodes : Nat
  • numNull : Nat
  • numCollisions : Nat
  • maxDepth : Nat
def Std.PersistentHashMap.stats {α : Type u_1} {β : Type u_2} :
{x : BEq α} → {x_1 : Hashable α} → Std.PersistentHashMap α βStd.PersistentHashMap.Stats
Equations
Equations
  • One or more equations did not get rendered due to their size.