time_change(h, pp::InhomogeneousPoissonProcess) currently computes the compensator at each event time and at tmax via independent quadrature calls. Independent calls have independent ulp-level rounding errors, so the transformed times can come out of order or slightly past new_tmax. Switching to a cumulative integration over inter-arrival segments removes both failure modes by construction with no change in cost.
time_change(h, pp::InhomogeneousPoissonProcess)currently computes the compensator at each event time and at tmax via independent quadrature calls. Independent calls have independent ulp-level rounding errors, so the transformed times can come out of order or slightly pastnew_tmax. Switching to a cumulative integration over inter-arrival segments removes both failure modes by construction with no change in cost.