File tree Expand file tree Collapse file tree 2 files changed +11
-9
lines changed Expand file tree Collapse file tree 2 files changed +11
-9
lines changed Original file line number Diff line number Diff line change 1
1
---
2
- refs/heads/master: 92bf9b68da05504e925e2b66ceb9f3e5f1a5b0ee
2
+ refs/heads/master: 91fb7b282de4877e72f22f42b4535e3c76732264
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: 79a2b2eafc3c766cecec8a5f76317693bae9ed17
5
5
refs/heads/try: 8eb2bab100b42f0ba751552d8eff00eb2134c55a
Original file line number Diff line number Diff line change @@ -1566,6 +1566,16 @@ pub fn each_permutation<T:Copy>(v: &[T], put: &fn(ts: &[T]) -> bool) {
1566
1566
}
1567
1567
}
1568
1568
1569
+ // see doc below
1570
+ #[cfg(stage0)] // XXX: lifetimes!
1571
+ pub fn windowed<T>(n: uint, v: &[T], it: &fn(&[T]) -> bool) {
1572
+ assert!(1u <= n);
1573
+ if n > v.len() { return; }
1574
+ for uint::range(0, v.len() - n + 1) |i| {
1575
+ if !it(v.slice(i, i+n)) { return }
1576
+ }
1577
+ }
1578
+
1569
1579
/**
1570
1580
* Iterate over all contiguous windows of length `n` of the vector `v`.
1571
1581
*
@@ -1580,14 +1590,6 @@ pub fn each_permutation<T:Copy>(v: &[T], put: &fn(ts: &[T]) -> bool) {
1580
1590
* ~~~
1581
1591
*
1582
1592
* /
1583
- #[ cfg ( stage0) ] // XXX: lifetimes!
1584
- pub fn windowed<T >( n: uint, v: & [ T ] , it: & fn ( & [ T ] ) -> bool) {
1585
- assert ! ( 1 u <= n) ;
1586
- if n > v. len ( ) { return ; }
1587
- for uint:: range( 0 , v. len( ) - n + 1 ) |i| {
1588
- if !it ( v. slice ( i, i+n) ) { return }
1589
- }
1590
- }
1591
1593
#[ cfg ( stage1) ]
1592
1594
#[ cfg( stage2) ]
1593
1595
#[ cfg( stage3) ]
You can’t perform that action at this time.
0 commit comments