public static double nextAfter (double start, double direction)

Returns the floating-point number adjacent to the first argument in the direction of the second argument. If both arguments compare as equal the second argument is returned.

Special cases:

- If either argument is a NaN, then NaN is returned.
- If both arguments are signed zeros,
`direction`

is returned unchanged (as implied by the requirement of returning the second argument if the arguments compare as equal). - If
`start`

is ±`Double.MIN_VALUE`

and`direction`

has a value such that the result should have a smaller magnitude, then a zero with the same sign as`start`

is returned. - If
`start`

is infinite and`direction`

has a value such that the result should have a smaller magnitude,`Double.MAX_VALUE`

with the same sign as`start`

is returned. - If
`start`

is equal to ±`Double.MAX_VALUE`

and`direction`

has a value such that the result should have a larger magnitude, an infinity with same sign as`start`

is returned.

`start` | starting floating-point value | |

`direction` | value indicating which of
` start` 's neighbors or ` start` should
be returned |

` start`

in the
direction of ` direction`

.

Diagram: Math