44 const AllEntities& in,
45 const Parameters& params,
46 const FF& scaling_factor)
52 const auto z_perm = View(in.z_perm);
53 const auto z_perm_shift = View(in.z_perm_shift);
54 const auto lagrange_first = View(in.lagrange_first);
55 const auto lagrange_last = View(in.lagrange_last);
56 const auto z_perm_and_first_scaled = (z_perm + lagrange_first) * scaling_factor;
57 const auto z_perm_shift_and_last_scaled = (z_perm_shift + lagrange_last) * scaling_factor;
61 (compute_grand_product_numerator_with_factor<Accumulator>(in, params, z_perm_and_first_scaled) -
62 compute_grand_product_denominator_with_factor<Accumulator>(in, params, z_perm_shift_and_last_scaled));
69 const auto z_perm_shift = View(in.z_perm_shift);
70 const auto lagrange_last = View(in.lagrange_last);
71 const auto lagrange_last_scaled = lagrange_last * scaling_factor;
77 std::get<1>(accumulators) += Accumulator(lagrange_last_scaled * z_perm_shift);
78 }
else if (!in.lagrange_last.is_zero()) {
79 std::get<1>(accumulators) += Accumulator(lagrange_last_scaled * z_perm_shift);
87 const auto z_perm = View(in.z_perm);
88 const auto lagrange_first = View(in.lagrange_first);
89 const auto lagrange_first_scaled = lagrange_first * scaling_factor;
96 std::get<2>(accumulators) += Accumulator(lagrange_first_scaled * z_perm);
97 }
else if (!in.lagrange_first.is_zero()) {
98 std::get<2>(accumulators) += Accumulator(lagrange_first_scaled * z_perm);
static void accumulate(ContainerOverSubrelations &accumulators, const AllEntities &in, const Parameters ¶ms, const FF &scaling_factor)
Compute contribution of the goblin translator permutation relation for a given edge (internal functio...