Skip to content

Commit b7075ea

Browse files
committed
fix more loop_get usages; tag 0.0.16
1 parent 04f6593 commit b7075ea

File tree

4 files changed

+21
-7
lines changed

4 files changed

+21
-7
lines changed

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
[package]
33
name = "im_ternary_tree"
4-
version = "0.0.15"
4+
version = "0.0.16"
55
edition = "2021"
66
authors = ["jiyinyiyong <[email protected]>"]
77
license = "MIT"

benches/creating.rs

+14
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,20 @@ fn criterion_benchmark(c: &mut Criterion) {
258258
}
259259
})
260260
});
261+
262+
c.bench_function("first", |b| {
263+
let mut data = TernaryTreeList::Empty;
264+
265+
for idx in 0..1000 {
266+
data = data.push(idx)
267+
}
268+
269+
b.iter(|| {
270+
for _ in 0..10000 {
271+
let _ = data.first();
272+
}
273+
})
274+
});
261275
}
262276

263277
criterion_group!(benches, criterion_benchmark);

src/lib.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ where
9191
Tree(t) => t.ref_last(),
9292
}
9393
} else {
94-
self.ref_get(idx)
94+
self.loop_get(idx)
9595
}
9696
}
9797

@@ -492,7 +492,7 @@ where
492492
fn next(&mut self) -> Option<Self::Item> {
493493
if self.index < self.value.len() {
494494
// println!("get: {} {}", self.value.format_inline(), self.index);
495-
let ret = self.value.ref_get(self.index);
495+
let ret = self.value.loop_get(self.index);
496496
self.index += 1;
497497
ret
498498
} else {

src/tree.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1275,7 +1275,7 @@ where
12751275
fn next(&mut self) -> Option<Self::Item> {
12761276
if self.index < self.value.len() {
12771277
// println!("get: {} {}", self.value.format_inline(), self.index);
1278-
let ret = self.value.ref_get(self.index);
1278+
let ret = self.value.loop_get(self.index);
12791279
self.index += 1;
12801280
Some(ret)
12811281
} else {
@@ -1291,7 +1291,7 @@ impl<T: Clone + Display + Eq + PartialEq + Debug + Ord + PartialOrd + Hash> Part
12911291
}
12921292

12931293
for idx in 0..ys.len() {
1294-
if self.ref_get(idx) != ys.ref_get(idx) {
1294+
if self.loop_get(idx) != ys.loop_get(idx) {
12951295
return false;
12961296
}
12971297
}
@@ -1318,7 +1318,7 @@ where
13181318
fn cmp(&self, other: &Self) -> Ordering {
13191319
if self.len() == other.len() {
13201320
for idx in 0..self.len() {
1321-
match self.ref_get(idx).cmp(other.ref_get(idx)) {
1321+
match self.loop_get(idx).cmp(other.loop_get(idx)) {
13221322
Ordering::Equal => {}
13231323
a => return a,
13241324
}
@@ -1339,7 +1339,7 @@ where
13391339

13401340
fn index<'b>(&self, idx: usize) -> &Self::Output {
13411341
// println!("get: {} {}", self.format_inline(), idx);
1342-
self.ref_get(idx)
1342+
self.loop_get(idx)
13431343
}
13441344
}
13451345

0 commit comments

Comments
 (0)