Skip to content

Instantly share code, notes, and snippets.

@vietj
Forked from franz1981/brenchless_fun.java
Created October 23, 2018 14:07
Show Gist options
  • Save vietj/14c8ba5cedeb022248d9112d98748c3f to your computer and use it in GitHub Desktop.
Save vietj/14c8ba5cedeb022248d9112d98748c3f to your computer and use it in GitHub Desktop.
private static long minusOneIfNotLongMax(long value) {
final long valueMinusOne = value - 1;
final long diffFromValue = value - Long.MAX_VALUE;
final long tmp = (diffFromValue - 1) >> 63;
final long mask = ((diffFromValue >> 63) ^ tmp) & tmp;
return (value & mask) | (valueMinusOne & (~mask));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment