5
public static long checkedAdd(long a, long b) {
long result = a + b;
checkNoOverflow((a^b) < 0 | (a^result) >= 0);
return result;
}
Jestem zainteresowany logiką boolean | jest tutaj używany. Dlaczego nie używać zwarcia warunkowego ||?Dziwna implementacja Guava LongMath.checkedAdd
Jak byś napisał go? –
checkNoOverflow ((a^b) <0 || (a^result)> = 0); – ZhekaKozlov
Nie jest to rzadkość w kodzie, który chce uniknąć rozgałęzienia ze względu na wydajność. – molbdnilo