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