jimu-decompiled/sources/com/google/common/primitives/Doubles.java
2025-05-13 19:24:51 +02:00

193 lines
6.1 KiB
Java

package com.google.common.primitives;
import com.google.common.base.Preconditions;
import java.io.Serializable;
import java.util.AbstractList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.RandomAccess;
import java.util.regex.Pattern;
/* loaded from: classes.dex */
public final class Doubles {
private static class DoubleArrayAsList extends AbstractList<Double> implements RandomAccess, Serializable {
final double[] a;
final int b;
final int c;
DoubleArrayAsList(double[] dArr, int i, int i2) {
this.a = dArr;
this.b = i;
this.c = i2;
}
@Override // java.util.AbstractList, java.util.List
/* renamed from: a, reason: merged with bridge method [inline-methods] */
public Double set(int i, Double d) {
Preconditions.a(i, size());
double[] dArr = this.a;
int i2 = this.b;
double d2 = dArr[i2 + i];
Preconditions.a(d);
dArr[i2 + i] = d.doubleValue();
return Double.valueOf(d2);
}
@Override // java.util.AbstractCollection, java.util.Collection, java.util.List
public boolean contains(Object obj) {
return (obj instanceof Double) && Doubles.c(this.a, ((Double) obj).doubleValue(), this.b, this.c) != -1;
}
@Override // java.util.AbstractList, java.util.Collection, java.util.List
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof DoubleArrayAsList)) {
return super.equals(obj);
}
DoubleArrayAsList doubleArrayAsList = (DoubleArrayAsList) obj;
int size = size();
if (doubleArrayAsList.size() != size) {
return false;
}
for (int i = 0; i < size; i++) {
if (this.a[this.b + i] != doubleArrayAsList.a[doubleArrayAsList.b + i]) {
return false;
}
}
return true;
}
@Override // java.util.AbstractList, java.util.Collection, java.util.List
public int hashCode() {
int i = 1;
for (int i2 = this.b; i2 < this.c; i2++) {
i = (i * 31) + Doubles.a(this.a[i2]);
}
return i;
}
@Override // java.util.AbstractList, java.util.List
public int indexOf(Object obj) {
int c;
if (!(obj instanceof Double) || (c = Doubles.c(this.a, ((Double) obj).doubleValue(), this.b, this.c)) < 0) {
return -1;
}
return c - this.b;
}
@Override // java.util.AbstractCollection, java.util.Collection, java.util.List
public boolean isEmpty() {
return false;
}
@Override // java.util.AbstractList, java.util.List
public int lastIndexOf(Object obj) {
int d;
if (!(obj instanceof Double) || (d = Doubles.d(this.a, ((Double) obj).doubleValue(), this.b, this.c)) < 0) {
return -1;
}
return d - this.b;
}
@Override // java.util.AbstractCollection, java.util.Collection, java.util.List
public int size() {
return this.c - this.b;
}
@Override // java.util.AbstractList, java.util.List
public List<Double> subList(int i, int i2) {
Preconditions.b(i, i2, size());
if (i == i2) {
return Collections.emptyList();
}
double[] dArr = this.a;
int i3 = this.b;
return new DoubleArrayAsList(dArr, i + i3, i3 + i2);
}
@Override // java.util.AbstractCollection
public String toString() {
StringBuilder sb = new StringBuilder(size() * 12);
sb.append('[');
sb.append(this.a[this.b]);
int i = this.b;
while (true) {
i++;
if (i >= this.c) {
sb.append(']');
return sb.toString();
}
sb.append(", ");
sb.append(this.a[i]);
}
}
@Override // java.util.AbstractList, java.util.List
public Double get(int i) {
Preconditions.a(i, size());
return Double.valueOf(this.a[this.b + i]);
}
double[] a() {
return Arrays.copyOfRange(this.a, this.b, this.c);
}
}
static {
a();
}
public static boolean b(double d) {
return Double.NEGATIVE_INFINITY < d && d < Double.POSITIVE_INFINITY;
}
/* JADX INFO: Access modifiers changed from: private */
public static int c(double[] dArr, double d, int i, int i2) {
while (i < i2) {
if (dArr[i] == d) {
return i;
}
i++;
}
return -1;
}
/* JADX INFO: Access modifiers changed from: private */
public static int d(double[] dArr, double d, int i, int i2) {
for (int i3 = i2 - 1; i3 >= i; i3--) {
if (dArr[i3] == d) {
return i3;
}
}
return -1;
}
public static int a(double d) {
return Double.valueOf(d).hashCode();
}
public static double[] a(Collection<? extends Number> collection) {
if (collection instanceof DoubleArrayAsList) {
return ((DoubleArrayAsList) collection).a();
}
Object[] array = collection.toArray();
int length = array.length;
double[] dArr = new double[length];
for (int i = 0; i < length; i++) {
Object obj = array[i];
Preconditions.a(obj);
dArr[i] = ((Number) obj).doubleValue();
}
return dArr;
}
private static Pattern a() {
return Pattern.compile("[+-]?(?:NaN|Infinity|" + ("(?:\\d++(?:\\.\\d*+)?|\\.\\d++)(?:[eE][+-]?\\d++)?[fFdD]?") + "|" + ("0[xX](?:\\p{XDigit}++(?:\\.\\p{XDigit}*+)?|\\.\\p{XDigit}++)[pP][+-]?\\d++[fFdD]?") + ")");
}
}