Skip to content

Commit 0f1bc6d

Browse files
committed
adds bulksum
1 parent 261f448 commit 0f1bc6d

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

src/lib.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,3 +306,26 @@ forward_ref_binop! { impl Pow, pow for ANode, ANode }
306306
forward_ref_binop! { impl Pow, pow for f32, ANode }
307307
forward_ref_binop! { impl Pow, pow for Vec<f32>, ANode }
308308

309+
pub trait BulkOps {
310+
fn sum_all(self) -> ANode;
311+
}
312+
313+
/*
314+
impl BulkOps for Vec<ANode> {
315+
fn sum_all(self) -> ANode {
316+
BulkSum::new(self.into_iter())
317+
}
318+
}
319+
320+
impl BulkOps for Vec<&ANode> {
321+
fn sum_all(self) -> ANode {
322+
BulkSum::new(self.into_iter().cloned())
323+
}
324+
}
325+
*/
326+
327+
impl <I: Iterator<Item=ANode>> BulkOps for I {
328+
fn sum_all(self) -> ANode {
329+
BulkSum::new(self)
330+
}
331+
}

0 commit comments

Comments
 (0)