Sometimes math.nextafter() needs to be applied multiple times in succession.
x = nextafter(nextafter( nextafter(x, inf), inf), inf) # Three steps up It would be nice if the function supported this directly:
x = nextafter(x, inf, n=3) The implementation would just be a for-loop:
def newnextafter(x, y, /, *, n=1): 'Return the floating-point value n steps after x towards y.' for i in range(n): x = nextafter(x, y) return x The formal paramater can be just n or the longer but more descriptive steps.
Linked PRs