summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTyge Lovset <[email protected]>2021-11-03 23:15:59 +0100
committerTyge Lovset <[email protected]>2021-11-03 23:15:59 +0100
commitd25619e0d6ac9970c23610326285d549c266c7c8 (patch)
tree65130479d28acaea792f5ed01c5aa79ebed42d1d
parent85a7ff53750a55fee9a45083abb2f6daa5b19164 (diff)
downloadSTC-modified-d25619e0d6ac9970c23610326285d549c266c7c8.tar.gz
STC-modified-d25619e0d6ac9970c23610326285d549c266c7c8.zip
Renamed cnt_X_getmut() to cnt_X_get_mut().
-rw-r--r--benchmarks/rust_hashmap.rs89
-rw-r--r--docs/cdeq_api.md2
-rw-r--r--docs/clist_api.md14
-rw-r--r--docs/cmap_api.md2
-rw-r--r--docs/cset_api.md2
-rw-r--r--docs/csmap_api.md2
-rw-r--r--docs/csset_api.md2
-rw-r--r--docs/cvec_api.md2
-rw-r--r--include/stc/cdeq.h2
-rw-r--r--include/stc/clist.h2
-rw-r--r--include/stc/cmap.h2
-rw-r--r--include/stc/csmap.h2
-rw-r--r--include/stc/cvec.h2
13 files changed, 64 insertions, 61 deletions
diff --git a/benchmarks/rust_hashmap.rs b/benchmarks/rust_hashmap.rs
index d1372e8b..cd1f114e 100644
--- a/benchmarks/rust_hashmap.rs
+++ b/benchmarks/rust_hashmap.rs
@@ -1,44 +1,45 @@
-use std::time::{Instant};
-use std::io::Read;
-
-fn romu_rotl(val: u64, r: u32) -> u64
- { return (val << r) | (val >> (64 - r)); }
-
-fn romu_trio(s: &mut[u64]) -> u64 {
- let xp = s[0]; let yp = s[1]; let zp = s[2];
- s[0] = 15241094284759029579 * zp;
- s[1] = yp - xp; s[1] = romu_rotl(s[1], 12);
- s[2] = zp - yp; s[2] = romu_rotl(s[2], 44);
- return xp;
-}
-
-fn main() {
- let n = 50_000_000; let mask = (1 << 25) - 1;
- let mut m = std::collections::HashMap::<u64, u64>::with_capacity(n);
- let mut rng: [u64; 3] = [1872361123, 123879177, 87739234];
- println!("Rust HashMap n = {}, mask = {:#x}", n, mask);
- let now = Instant::now();
- for _i in 0..n {
- let key: u64 = romu_trio(&mut rng) & mask;
- *m.entry(key).or_insert(0) += 1;
- }
- println!("insert : {}ms \tsize : {}", now.elapsed().as_millis(), m.len());
- let now = Instant::now();
- let mut sum = 0;
- for i in 0..mask + 1 { if m.contains_key(&i) { sum += 1; }}
- println!("lookup : {}ms \tsum : {}", now.elapsed().as_millis(), sum);
-
- let now = Instant::now();
- let mut sum = 0;
- for (_, value) in &m { sum += value; }
- println!("iterate : {}ms \tsum : {}", now.elapsed().as_millis(), sum);
-
- let mut rng: [u64; 3] = [1872361123, 123879177, 87739234];
- let now = Instant::now();
- for _ in 0..n {
- let key: u64 = romu_trio(&mut rng) & mask;
- m.remove(&key);
- }
- println!("remove : {}ms \tsize : {}", now.elapsed().as_millis(), m.len());
- println!("press a key:"); std::io::stdin().bytes().next();
-} \ No newline at end of file
+use std::time::{Instant};
+use std::io::Read;
+
+fn romu_rotl(val: u64, r: u32) -> u64
+ { return (val << r) | (val >> (64 - r)); }
+
+fn romu_trio(s: &mut[u64]) -> u64 {
+ let xp = s[0]; let yp = s[1]; let zp = s[2];
+ s[0] = 15241094284759029579 * zp;
+ s[1] = yp - xp; s[1] = romu_rotl(s[1], 12);
+ s[2] = zp - yp; s[2] = romu_rotl(s[2], 44);
+ return xp;
+}
+
+fn main() {
+ let n = 50_000_000; let mask = (1 << 25) - 1;
+ let mut m = std::collections::HashMap::<u64, u64>::with_capacity(n);
+ let mut rng: [u64; 3] = [1872361123, 123879177, 87739234];
+ println!("Rust HashMap n = {}, mask = {:#x}", n, mask);
+ let now = Instant::now();
+ for _i in 0..n {
+ let key: u64 = romu_trio(&mut rng) & mask;
+ *m.entry(key).or_insert(0) += 1;
+ }
+
+ println!("insert : {}ms \tsize : {}", now.elapsed().as_millis(), m.len());
+ let now = Instant::now();
+ let mut sum = 0;
+ for i in 0..mask + 1 { if m.contains_key(&i) { sum += 1; }}
+ println!("lookup : {}ms \tsum : {}", now.elapsed().as_millis(), sum);
+
+ let now = Instant::now();
+ let mut sum = 0;
+ for (_, value) in &m { sum += value; }
+ println!("iterate : {}ms \tsum : {}", now.elapsed().as_millis(), sum);
+
+ let mut rng: [u64; 3] = [1872361123, 123879177, 87739234];
+ let now = Instant::now();
+ for _ in 0..n {
+ let key: u64 = romu_trio(&mut rng) & mask;
+ m.remove(&key);
+ }
+ println!("remove : {}ms \tsize : {}", now.elapsed().as_millis(), m.len());
+ println!("press a key:"); std::io::stdin().bytes().next();
+}
diff --git a/docs/cdeq_api.md b/docs/cdeq_api.md
index 98cb4e52..22487682 100644
--- a/docs/cdeq_api.md
+++ b/docs/cdeq_api.md
@@ -39,7 +39,7 @@ size_t cdeq_X_capacity(cdeq_X deq);
const cdeq_X_value* cdeq_X_at(const cdeq_X* self, size_t idx);
const cdeq_X_value* cdeq_X_get(const cdeq_X* self, i_valraw raw); // return NULL if not found
-cdeq_X_value* cdeq_X_getmut(cdeq_X* self, i_valraw raw); // mutable get
+cdeq_X_value* cdeq_X_get_mut(cdeq_X* self, i_valraw raw); // mutable get
cdeq_X_iter cdeq_X_find(const cdeq_X* self, i_valraw raw);
cdeq_X_iter cdeq_X_find_in(cdeq_X_iter i1, cdeq_X_iter i2, i_valraw raw);
diff --git a/docs/clist_api.md b/docs/clist_api.md
index a00b9551..b45108a7 100644
--- a/docs/clist_api.md
+++ b/docs/clist_api.md
@@ -42,10 +42,10 @@ clist_X clist_X_clone(clist_X list);
void clist_X_clear(clist_X* self);
void clist_X_copy(clist_X* self, clist_X other);
-void clist_X_del(clist_X* self); // destructor
+void clist_X_del(clist_X* self); // destructor
bool clist_X_empty(clist_X list);
-size_t clist_X_count(clist_X list); // size() in O(n) time
+size_t clist_X_count(clist_X list); // size() in O(n) time
clist_X_value* clist_X_front(const clist_X* self);
clist_X_value* clist_X_back(const clist_X* self);
@@ -54,7 +54,7 @@ void clist_X_push_front(clist_X* self, i_val value);
void clist_X_emplace_front(clist_X* self, i_valraw raw);
void clist_X_pop_front(clist_X* self);
-void clist_X_push_back(clist_X* self, i_val value); // note: no pop_back().
+void clist_X_push_back(clist_X* self, i_val value); // note: no pop_back().
void clist_X_emplace_back(clist_X* self, i_valraw raw);
clist_X_iter clist_X_insert(clist_X* self, clist_X_iter it, i_val value); // return iter to new elem
@@ -62,22 +62,24 @@ clist_X_iter clist_X_emplace(clist_X* self, clist_X_iter it, i_valraw raw
clist_X_iter clist_X_erase_at(clist_X* self, clist_X_iter it); // return iter after it
clist_X_iter clist_X_erase_range(clist_X* self, clist_X_iter it1, clist_X_iter it2);
-size_t clist_X_remove(clist_X* self, i_valraw raw); // removes matching elements
+size_t clist_X_remove(clist_X* self, i_valraw raw); // removes matching elements
-clist_X clist_X_split_off(clist_X* self, clist_X_iter i1, clist_X_iter i2); // split off [i1, i2)
+clist_X clist_X_split_off(clist_X* self, clist_X_iter i1, clist_X_iter i2); // split off [i1, i2)
clist_X_iter clist_X_splice(clist_X* self, clist_X_iter it, clist_X* other); // return updated valid it
clist_X_iter clist_X_splice_range(clist_X* self, clist_X_iter it, // return updated valid it
clist_X* other, clist_X_iter it1, clist_X_iter it2);
clist_X_iter clist_X_find(const clist_X* self, i_valraw raw);
clist_X_iter clist_X_find_in(clist_X_iter it1, clist_X_iter it2, i_valraw raw);
+const i_val* clist_X_get(const clist_X* self, i_valraw val);
+i_val* clist_X_get_mut(clist_X* self, i_valraw val);
void clist_X_sort(clist_X* self);
clist_X_iter clist_X_begin(const clist_X* self);
clist_X_iter clist_X_end(const clist_X* self);
void clist_X_next(clist_X_iter* it);
-clist_X_iter clist_X_advance(clist_X_iter it, size_t n); // return it n elements ahead. End allowed.
+clist_X_iter clist_X_advance(clist_X_iter it, size_t n); // return n elements ahead.
clist_X_rawvalue clist_X_value_toraw(clist_X_value* pval);
clist_X_value clist_X_value_clone(clist_X_value val);
diff --git a/docs/cmap_api.md b/docs/cmap_api.md
index 809cb2e8..7f7ffe6f 100644
--- a/docs/cmap_api.md
+++ b/docs/cmap_api.md
@@ -56,7 +56,7 @@ size_t cmap_X_bucket_count(cmap_X map);
const cmap_X_mapped* cmap_X_at(const cmap_X* self, i_keyraw rkey); // rkey must be in map.
const cmap_X_value* cmap_X_get(const cmap_X* self, i_keyraw rkey); // const get
-cmap_X_value* cmap_X_getmut(cmap_X* self, i_keyraw rkey); // mutable get
+cmap_X_value* cmap_X_get_mut(cmap_X* self, i_keyraw rkey); // mutable get
bool cmap_X_contains(const cmap_X* self, i_keyraw rkey);
cmap_X_iter cmap_X_find(const cmap_X* self, i_keyraw rkey); // find element
diff --git a/docs/cset_api.md b/docs/cset_api.md
index 017371d3..8ded9d0c 100644
--- a/docs/cset_api.md
+++ b/docs/cset_api.md
@@ -42,7 +42,7 @@ size_t cset_X_bucket_count(cset_X set);
bool cset_X_contains(const cset_X* self, i_keyraw rkey);
const cset_X_value* cset_X_get(const cset_X* self, i_keyraw rkey); // return NULL if not found
-cset_X_value* cset_X_getmut(cset_X* self, i_keyraw rkey); // mutable get
+cset_X_value* cset_X_get_mut(cset_X* self, i_keyraw rkey); // mutable get
cset_X_iter cset_X_find(const cset_X* self, i_keyraw rkey);
cset_X_result cset_X_insert(cset_X* self, i_key key);
diff --git a/docs/csmap_api.md b/docs/csmap_api.md
index 3ae7dde2..646f8c99 100644
--- a/docs/csmap_api.md
+++ b/docs/csmap_api.md
@@ -47,7 +47,7 @@ bool csmap_X_empty(csmap_X map);
const csmap_X_mapped* csmap_X_at(const csmap_X* self, i_keyraw rkey); // rkey must be in map.
const csmap_X_value* csmap_X_get(const csmap_X* self, i_keyraw rkey); // return NULL if not found
-csmap_X_value* csmap_X_getmut(csmap_X* self, i_keyraw rkey); // mutable get
+csmap_X_value* csmap_X_get_mut(csmap_X* self, i_keyraw rkey); // mutable get
bool csmap_X_contains(const csmap_X* self, i_keyraw rkey);
csmap_X_iter csmap_X_find(const csmap_X* self, i_keyraw rkey);
csmap_X_value* csmap_X_find_it(const csmap_X* self, i_keyraw rkey, csmap_X_iter* out); // return NULL if not found
diff --git a/docs/csset_api.md b/docs/csset_api.md
index 9034f78f..501473a6 100644
--- a/docs/csset_api.md
+++ b/docs/csset_api.md
@@ -34,7 +34,7 @@ size_t csset_X_size(csset_X set);
bool csset_X_empty(csset_X set);
const csset_X_value* csset_X_get(const csset_X* self, i_keyraw rkey); // const get
-csset_X_value* csset_X_getmut(csset_X* self, i_keyraw rkey); // return NULL if not found
+csset_X_value* csset_X_get_mut(csset_X* self, i_keyraw rkey); // return NULL if not found
bool csset_X_contains(const csset_X* self, i_keyraw rkey);
csset_X_iter csset_X_find(const csset_X* self, i_keyraw rkey);
csset_X_value* csset_X_find_it(const csset_X* self, i_keyraw rkey, csset_X_iter* out); // return NULL if not found
diff --git a/docs/cvec_api.md b/docs/cvec_api.md
index 3dcb4855..64ca724f 100644
--- a/docs/cvec_api.md
+++ b/docs/cvec_api.md
@@ -47,7 +47,7 @@ size_t cvec_X_capacity(cvec_X vec);
const cvec_X_value* cvec_X_at(const cvec_X* self, size_t idx);
const cvec_X_value* cvec_X_get(const cvec_X* self, i_valraw raw); // return NULL if not found
-cvec_X_value* cvec_X_getmut(cvec_X* self, i_valraw raw); // get mutable value
+cvec_X_value* cvec_X_get_mut(cvec_X* self, i_valraw raw); // get mutable value
cvec_X_iter cvec_X_find(const cvec_X* self, i_valraw raw);
cvec_X_iter cvec_X_find_in(cvec_X_iter i1, cvec_X_iter i2, i_valraw raw);
cvec_X_iter cvec_X_bsearch(const cvec_X* self, i_valraw raw);
diff --git a/include/stc/cdeq.h b/include/stc/cdeq.h
index 4e35a569..bd7085c7 100644
--- a/include/stc/cdeq.h
+++ b/include/stc/cdeq.h
@@ -183,7 +183,7 @@ _cx_memb(_get)(const _cx_self* self, i_valraw raw) {
}
STC_INLINE _cx_value*
-_cx_memb(_getmut)(_cx_self* self, i_valraw raw)
+_cx_memb(_get_mut)(_cx_self* self, i_valraw raw)
{ return (_cx_value *) _cx_memb(_get)(self, raw); }
STC_INLINE void
diff --git a/include/stc/clist.h b/include/stc/clist.h
index 93e8c249..037d5104 100644
--- a/include/stc/clist.h
+++ b/include/stc/clist.h
@@ -172,7 +172,7 @@ _cx_memb(_get)(const _cx_self* self, i_valraw val) {
}
STC_INLINE _cx_value*
-_cx_memb(_getmut)(_cx_self* self, i_valraw val) {
+_cx_memb(_get_mut)(_cx_self* self, i_valraw val) {
return _cx_memb(_find_in)(_cx_memb(_begin)(self), _cx_memb(_end)(self), val).ref;
}
diff --git a/include/stc/cmap.h b/include/stc/cmap.h
index 100f93f6..1a0f28b4 100644
--- a/include/stc/cmap.h
+++ b/include/stc/cmap.h
@@ -177,7 +177,7 @@ _cx_memb(_get)(const _cx_self* self, i_keyraw rkey) {
}
STC_INLINE _cx_value*
-_cx_memb(_getmut)(const _cx_self* self, i_keyraw rkey)
+_cx_memb(_get_mut)(const _cx_self* self, i_keyraw rkey)
{ return (_cx_value*) _cx_memb(_get)(self, rkey); }
STC_INLINE _cx_iter
diff --git a/include/stc/csmap.h b/include/stc/csmap.h
index a42bd030..34ff22d7 100644
--- a/include/stc/csmap.h
+++ b/include/stc/csmap.h
@@ -116,7 +116,7 @@ STC_INLINE bool _cx_memb(_contains)(const _cx_self* self, i_keyraw rkey)
{ _cx_iter it; return _cx_memb(_find_it)(self, rkey, &it) != NULL; }
STC_INLINE const _cx_value* _cx_memb(_get)(const _cx_self* self, i_keyraw rkey)
{ _cx_iter it; return _cx_memb(_find_it)(self, rkey, &it); }
-STC_INLINE _cx_value* _cx_memb(_getmut)(_cx_self* self, i_keyraw rkey)
+STC_INLINE _cx_value* _cx_memb(_get_mut)(_cx_self* self, i_keyraw rkey)
{ _cx_iter it; return _cx_memb(_find_it)(self, rkey, &it); }
STC_INLINE _cx_self
diff --git a/include/stc/cvec.h b/include/stc/cvec.h
index 8c213e8a..a650d277 100644
--- a/include/stc/cvec.h
+++ b/include/stc/cvec.h
@@ -205,7 +205,7 @@ _cx_memb(_get)(const _cx_self* self, i_valraw raw) {
}
STC_INLINE _cx_value*
-_cx_memb(_getmut)(const _cx_self* self, i_valraw raw)
+_cx_memb(_get_mut)(const _cx_self* self, i_valraw raw)
{ return (_cx_value*) _cx_memb(_get)(self, raw); }
STC_INLINE _cx_iter