From 022e732eff4c05f385b8be8b7f923f752dfe4eb4 Mon Sep 17 00:00:00 2001 From: Felix Hekhorn Date: Thu, 18 Aug 2022 15:16:39 +0200 Subject: [PATCH 1/2] Protext x1/x2_grid determination --- pineappl/src/grid.rs | 56 +++++++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/pineappl/src/grid.rs b/pineappl/src/grid.rs index 8bffdd2b..118c3ed8 100644 --- a/pineappl/src/grid.rs +++ b/pineappl/src/grid.rs @@ -1535,30 +1535,38 @@ impl Grid { .find(|subgrid| !subgrid.is_empty()) .unwrap_or_else(|| unreachable!()); // source x1/x2 grid might differ and be differently sorted than the operator - let x1_grid: Vec<_> = first_non_zero_grid - .x1_grid() - .iter() - .map(|x| { - eko_info - .grid_axes - .x_grid - .iter() - .position(|xi| approx_eq!(f64, *xi, *x, ulps = 64)) - .unwrap_or_else(|| unreachable!()) - }) - .collect(); - let x2_grid: Vec<_> = first_non_zero_grid - .x2_grid() - .iter() - .map(|x| { - eko_info - .grid_axes - .x_grid - .iter() - .position(|xi| approx_eq!(f64, *xi, *x, ulps = 64)) - .unwrap_or_else(|| unreachable!()) - }) - .collect(); + let x1_grid: Vec<_> = if has_pdf1 { + first_non_zero_grid + .x1_grid() + .iter() + .map(|x| { + eko_info + .grid_axes + .x_grid + .iter() + .position(|xi| approx_eq!(f64, *xi, *x, ulps = 64)) + .unwrap_or_else(|| unreachable!()) + }) + .collect() + } else { + Vec::::new() + }; + let x2_grid: Vec<_> = if has_pdf2 { + first_non_zero_grid + .x2_grid() + .iter() + .map(|x| { + eko_info + .grid_axes + .x_grid + .iter() + .position(|xi| approx_eq!(f64, *xi, *x, ulps = 64)) + .unwrap_or_else(|| unreachable!()) + }) + .collect() + } else { + Vec::::new() + }; // iterate over all bins, which are mapped one-to-one from the target to the source grid for bin in 0..self.bin_info().bins() { From dc33d2bea311708f41e9d8fdff2380d39ae1fe42 Mon Sep 17 00:00:00 2001 From: Christopher Schwan Date: Thu, 25 Aug 2022 12:00:53 +0200 Subject: [PATCH 2/2] Remove type annotations --- pineappl/src/grid.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pineappl/src/grid.rs b/pineappl/src/grid.rs index 118c3ed8..771fcb6a 100644 --- a/pineappl/src/grid.rs +++ b/pineappl/src/grid.rs @@ -1535,7 +1535,7 @@ impl Grid { .find(|subgrid| !subgrid.is_empty()) .unwrap_or_else(|| unreachable!()); // source x1/x2 grid might differ and be differently sorted than the operator - let x1_grid: Vec<_> = if has_pdf1 { + let x1_grid = if has_pdf1 { first_non_zero_grid .x1_grid() .iter() @@ -1549,9 +1549,9 @@ impl Grid { }) .collect() } else { - Vec::::new() + Vec::new() }; - let x2_grid: Vec<_> = if has_pdf2 { + let x2_grid = if has_pdf2 { first_non_zero_grid .x2_grid() .iter() @@ -1565,7 +1565,7 @@ impl Grid { }) .collect() } else { - Vec::::new() + Vec::new() }; // iterate over all bins, which are mapped one-to-one from the target to the source grid