Guest User

Untitled

a guest
Dec 15th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.54 KB | None | 0 0
  1. use rug::Integer;
  2.  
  3. use rayon::slice::ParallelSlice;
  4. use rayon::iter::ParallelIterator;
  5.  
  6. fn parallel_chunkify_references<'a>(input: &'a Vec<&'a Integer>) -> Vec<Vec<&'a Integer>> {
  7. input
  8. .par_chunks(input.len() / 8)
  9. .map(|chunk| chunk.iter().map(|n| *n).collect())
  10. .collect()
  11. }
  12.  
  13. fn main() {
  14. let nums: Vec<Integer> = (0..100).map(|n| Integer::from(n)).collect();
  15. let refnums: Vec<&Integer> = nums.iter().map(|n| n).collect();
  16.  
  17. let product = parallel_chunkify_references(&refnums);
  18. println!("{:#?}", product);
  19. }
Add Comment
Please, Sign In to add comment