nd-vwk-idv-map
v1.2.10
Published
nd-vwk-idv-map ======================= - a special map - hash: uint - key: [uint,uint] - val: uint
Downloads
2
Readme
nd-vwk-idv-map
- a special map
- hash: uint
- key: [uint,uint]
- val: uint
install
- npm install nd-vwk-idv-map
usage
const x = require("nd-vwk-idv-map");example
var mp = x(2**24, 2**24);
console.log(
mp.dyn_dummy_slot,
mp.sentinel_slot
);
console.log(mp.meta_desc_);
//hash
console.log("has",mp.has(100,1,2));
var pair = mp.add(100,1,2,111);
var slot = pair[1];
console.log(slot, mp.get_bucket_nd(100), mp.get_dict_at_slot(slot))
console.log(mp.has(100,1,2));
console.log("get",mp.get(100,1,2));
console.log("aft modify value of 100,1,2 to 999", mp.put(100,1,2,999));
console.log(mp.has(100,1,2));
console.log("get",mp.get(100,1,2));
pair = mp.set(100,1,2,888);
slot = pair[1];
console.log(slot,mp.get_dict_at_slot(slot));
pair = mp.set(100,133,155,777);
slot = pair[1];
console.log(slot,mp.get_dict_at_slot(slot));
console.log(mp.jstr())
pair = mp.add(100,10,20,1000);
var slot = pair[1];
console.log(
mp.get_bucket_nd(100),
slot,
mp.get_dyn_nd(1),
mp.get_dict_at_slot(slot)
);
console.log(mp.meta_desc_);
mp.add(101,11,21,1001);
mp.add(102,12,22,1002);
mp.add(103,13,23,1003);
console.log(mp.meta_desc_);
console.log(mp.jstr());
mp.for_each_of_hash(100, (ksi,ksz,val)=>{console.log(ksi,ksz,val)})
console.log("-----------------------------------------------------------");
mp.for_each((ksi,ksz,val)=>{console.log(ksi,ksz,val)});
console.log("================================");
mp.for_each((ksi,ksz,val)=>{console.log(ksi,ksz,val)});
console.log("swap 100 1 2 100 133 155")
console.log(mp.swap(
100,1,2,
100,133,155
));
console.log("</swap>")
mp.for_each((ksi,ksz,val)=>{console.log(ksi,ksz,val)});
console.log("===============");
mp.del(100,1,2);
console.log(mp.jstr());
mp.del(100,133,155);
console.log(mp.jstr());METHODS
.has(hash, ksi,ksz); -> bool
.get(hash, ksi,ksz); -> value
.add(h,si,sz,v) -> [bool, slot/reason] // add if NOT exist
.put(h,si,sz,v) -> bool // modify value if Exist
.del(hash,ksi,ksz) -> bool
.set(h,si,sz,v) // .add if NOT exist else .putAPIS
LICENSE
- ISC
