Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions examples/cpp/get-subgrids.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -136,11 +136,11 @@ int main() {

// Check the values of the node entries.
assert(node_values_index[0] == 5442.30542919352900); // PyAPI: `subgrid.node_values[0][16]`
assert(node_values_index[1] == 0.03052158400782889); // PyAPI: `subgrid.node_values[1][20]`
assert(node_values_index[2] == 0.03052158400782889); // PyAPI: `subgrid.node_values[2][20]`
assert(node_values_index[1] == 0.03052158400782890); // PyAPI: `subgrid.node_values[1][20]`
assert(node_values_index[2] == 0.03052158400782890); // PyAPI: `subgrid.node_values[2][20]`

// PyAPI: `grid.subgrid(0, 0, 0).to_array(subgrid.shape)[16][20][20]`
assert(subgrid_array[index] == -4.936156925096015e-07);
assert(subgrid_array[index] == -4.936156925096021e-07);
}
break;
}
Expand Down
4 changes: 2 additions & 2 deletions examples/fortran/lhapdf_example.output
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Computing predictions with the same PDF: NNPDF31_nlo_as_0118_luxqed
7.1330573367785985E-005 2.1399172010335785E-004
7.1330573367785999E-005 2.1399172010335790E-004
Computing predictions with different PDFs and alphasQ2(NNPDF31_nlo_as_0118_luxqed):
7.3091433321743418E-005 2.1927429996523019E-004
7.3091433321743418E-005 2.1927429996523024E-004
Computing predictions with different PDFs and alphasQ2(MSHT20qed_nnlo):
7.3462246623863024E-005 2.2038673987158908E-004
18 changes: 17 additions & 1 deletion pineappl/src/interpolation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ mod applgrid {
for _ in 0..10 {
let x = (-yp).exp();
let delta = (1.0 - x).mul_add(-5.0, y - yp);
if (delta.abs() < 1e-15) && (delta >= deltap) {
if (delta == 0.0) || ((delta.abs() < 2e-15) && (delta.abs() >= deltap.abs())) {
return x;
}
let deriv = x.mul_add(-5.0, -1.0);
Expand Down Expand Up @@ -754,4 +754,20 @@ mod tests {
assert!(applgrid::fq20(applgrid::ftau0(q2)).ulps(&q2) < 4);
}
}

#[test]
fn pr_365() {
assert_approx_eq!(
f64,
applgrid::fx2(6.7865509745),
0.1010727499933246,
ulps = 4
);
assert_approx_eq!(
f64,
applgrid::fx2(6.786550974400577),
0.10107275000000002,
ulps = 4
);
}
}
6 changes: 3 additions & 3 deletions pineappl/tests/drell_yan_lo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ fn perform_grid_tests(
let bins = grid.convolve(&mut convolution_cache, &[], &[], &[], &[(1.0, 1.0, 1.0)]);

for (result, reference) in bins.iter().zip(reference.iter()) {
assert_approx_eq!(f64, *result, *reference, ulps = 4);
assert_approx_eq!(f64, *result, *reference, ulps = 8);
}

// TEST 5b: `convolve` with `ConvolutionCache::with_two`
Expand Down Expand Up @@ -397,8 +397,8 @@ fn perform_grid_tests(

for (&node_value1, &node_value2, &ref_value) in izip!(&node_values[1], &node_values[2], x_grid)
{
assert_approx_eq!(f64, node_value1, ref_value, ulps = 4);
assert_approx_eq!(f64, node_value2, ref_value, ulps = 4);
assert_approx_eq!(f64, node_value1, ref_value, ulps = 8);
assert_approx_eq!(f64, node_value2, ref_value, ulps = 8);
}

let bins = grid.convolve(&mut convolution_cache, &[], &[], &[], &[(1.0, 1.0, 1.0)]);
Expand Down