Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use num::Float;
- struct MulIter<I>
- where
- I: Iterator,
- {
- iter: I,
- scalar: I::Item,
- }
- impl<I> MulIter<I>
- where
- I: Iterator,
- I::Item: Float,
- {
- pub fn new(iter: I, scalar: I::Item) -> MulIter<I> {
- MulIter {
- iter,
- scalar,
- }
- }
- }
- impl<I> Iterator for MulIter<I>
- where
- I: Iterator,
- I::Item: Float,
- {
- type Item = I::Item;
- fn next(&mut self) -> Option<Self::Item> {
- match self.iter.next() {
- Some(value) => Some(value * self.scalar),
- None => None,
- }
- }
- }
Add Comment
Please, Sign In to add comment