Files
rr3-apk/decompiled/sources/androidx/core/math/MathUtils.java
Daniel Elliott f9d20bb3fc Add decompiled APK source code (JADX)
- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-18 14:52:23 -08:00

129 lines
3.4 KiB
Java

package androidx.core.math;
/* loaded from: classes.dex */
public class MathUtils {
public static double clamp(double d, double d2, double d3) {
return d < d2 ? d2 : d > d3 ? d3 : d;
}
public static float clamp(float f, float f2, float f3) {
return f < f2 ? f2 : f > f3 ? f3 : f;
}
public static int clamp(int i, int i2, int i3) {
return i < i2 ? i2 : i > i3 ? i3 : i;
}
public static long clamp(long j, long j2, long j3) {
return j < j2 ? j2 : j > j3 ? j3 : j;
}
private MathUtils() {
}
public static int addExact(int i, int i2) {
int i3 = i + i2;
if ((i >= 0) == (i2 >= 0)) {
if ((i >= 0) != (i3 >= 0)) {
throw new ArithmeticException("integer overflow");
}
}
return i3;
}
public static long addExact(long j, long j2) {
long j3 = j + j2;
if ((j >= 0) == (j2 >= 0)) {
if ((j >= 0) != (j3 >= 0)) {
throw new ArithmeticException("integer overflow");
}
}
return j3;
}
public static int subtractExact(int i, int i2) {
int i3 = i - i2;
if ((i < 0) != (i2 < 0)) {
if ((i < 0) != (i3 < 0)) {
throw new ArithmeticException("integer overflow");
}
}
return i3;
}
public static long subtractExact(long j, long j2) {
long j3 = j - j2;
if ((j < 0) != (j2 < 0)) {
if ((j < 0) != (j3 < 0)) {
throw new ArithmeticException("integer overflow");
}
}
return j3;
}
public static int multiplyExact(int i, int i2) {
int i3 = i * i2;
if (i == 0 || i2 == 0 || (i3 / i == i2 && i3 / i2 == i)) {
return i3;
}
throw new ArithmeticException("integer overflow");
}
public static long multiplyExact(long j, long j2) {
long j3 = j * j2;
if (j == 0 || j2 == 0 || (j3 / j == j2 && j3 / j2 == j)) {
return j3;
}
throw new ArithmeticException("integer overflow");
}
public static int incrementExact(int i) {
if (i != Integer.MAX_VALUE) {
return i + 1;
}
throw new ArithmeticException("integer overflow");
}
public static long incrementExact(long j) {
if (j != Long.MAX_VALUE) {
return j + 1;
}
throw new ArithmeticException("integer overflow");
}
public static int decrementExact(int i) {
if (i != Integer.MIN_VALUE) {
return i - 1;
}
throw new ArithmeticException("integer overflow");
}
public static long decrementExact(long j) {
if (j != Long.MIN_VALUE) {
return j - 1;
}
throw new ArithmeticException("integer overflow");
}
public static int negateExact(int i) {
if (i != Integer.MIN_VALUE) {
return -i;
}
throw new ArithmeticException("integer overflow");
}
public static long negateExact(long j) {
if (j != Long.MIN_VALUE) {
return -j;
}
throw new ArithmeticException("integer overflow");
}
public static int toIntExact(long j) {
if (j > 2147483647L || j < -2147483648L) {
throw new ArithmeticException("integer overflow");
}
return (int) j;
}
}