Skip to content

Instantly share code, notes, and snippets.

@master-of-zen
Created March 26, 2021 14:03
Show Gist options
  • Save master-of-zen/f02d96d5628318c5b54f4fc32f1aedeb to your computer and use it in GitHub Desktop.
Save master-of-zen/f02d96d5628318c5b54f4fc32f1aedeb to your computer and use it in GitHub Desktop.
  for x in 1..=scale {
    let src_row = &data_origin[(src.cfg.stride * 2 + x)..];
    let local_sum: usize = (1..scale)
      .into_par_iter()
      .map(|y| u32::cast_from(src_row[col * 2 + y]) as usize)
      .sum();
    sum += local_sum;
  }
@master-of-zen
Copy link
Author

      for (col, dst) in dst_row.iter_mut().take(width).enumerate() {
        let sum: usize = (1..scale)
          .into_par_iter()
          .map(|x| {
            let src_row = &data_origin[(src.cfg.stride * 2 + x)..];
            for y in 1..=scale {
              u32::cast_from(src_row[col * 2 + y]) as usize
            }
          })
          .sum();

        let pixels = scale * scale;
        let avg = sum / pixels;
        *dst = T::cast_from(avg);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment