package com.google.common.primitives; import com.google.common.base.Preconditions; import com.google.errorprone.annotations.CheckReturnValue; import com.google.errorprone.annotations.Immutable; import java.io.Serializable; import java.util.AbstractList; import java.util.Arrays; import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.RandomAccess; import javax.annotation.CheckForNull; import okhttp3.HttpUrl; @ElementTypesAreNonnullByDefault @Immutable /* loaded from: classes3.dex */ public final class ImmutableDoubleArray implements Serializable { private static final ImmutableDoubleArray EMPTY = new ImmutableDoubleArray(new double[0]); private final double[] array; private final int end; private final transient int start; public static ImmutableDoubleArray of() { return EMPTY; } public boolean isEmpty() { return this.end == this.start; } public int length() { return this.end - this.start; } public static ImmutableDoubleArray of(double d) { return new ImmutableDoubleArray(new double[]{d}); } public static ImmutableDoubleArray of(double d, double d2) { return new ImmutableDoubleArray(new double[]{d, d2}); } public static ImmutableDoubleArray of(double d, double d2, double d3) { return new ImmutableDoubleArray(new double[]{d, d2, d3}); } public static ImmutableDoubleArray of(double d, double d2, double d3, double d4) { return new ImmutableDoubleArray(new double[]{d, d2, d3, d4}); } public static ImmutableDoubleArray of(double d, double d2, double d3, double d4, double d5) { return new ImmutableDoubleArray(new double[]{d, d2, d3, d4, d5}); } public static ImmutableDoubleArray of(double d, double d2, double d3, double d4, double d5, double d6) { return new ImmutableDoubleArray(new double[]{d, d2, d3, d4, d5, d6}); } public static ImmutableDoubleArray of(double d, double... dArr) { Preconditions.checkArgument(dArr.length <= 2147483646, "the total number of elements must fit in an int"); double[] dArr2 = new double[dArr.length + 1]; dArr2[0] = d; System.arraycopy(dArr, 0, dArr2, 1, dArr.length); return new ImmutableDoubleArray(dArr2); } public static ImmutableDoubleArray copyOf(double[] dArr) { return dArr.length == 0 ? EMPTY : new ImmutableDoubleArray(Arrays.copyOf(dArr, dArr.length)); } public static ImmutableDoubleArray copyOf(Collection collection) { return collection.isEmpty() ? EMPTY : new ImmutableDoubleArray(Doubles.toArray(collection)); } public static ImmutableDoubleArray copyOf(Iterable iterable) { if (iterable instanceof Collection) { return copyOf((Collection) iterable); } return builder().addAll(iterable).build(); } public static Builder builder(int i) { Preconditions.checkArgument(i >= 0, "Invalid initialCapacity: %s", i); return new Builder(i); } public static Builder builder() { return new Builder(10); } /* loaded from: classes3.dex */ public static final class Builder { private double[] array; private int count = 0; Builder(int i) { this.array = new double[i]; } public Builder add(double d) { ensureRoomFor(1); double[] dArr = this.array; int i = this.count; dArr[i] = d; this.count = i + 1; return this; } public Builder addAll(double[] dArr) { ensureRoomFor(dArr.length); System.arraycopy(dArr, 0, this.array, this.count, dArr.length); this.count += dArr.length; return this; } public Builder addAll(Iterable iterable) { if (iterable instanceof Collection) { return addAll((Collection) iterable); } Iterator it = iterable.iterator(); while (it.hasNext()) { add(it.next().doubleValue()); } return this; } public Builder addAll(Collection collection) { ensureRoomFor(collection.size()); for (Double d : collection) { double[] dArr = this.array; int i = this.count; this.count = i + 1; dArr[i] = d.doubleValue(); } return this; } public Builder addAll(ImmutableDoubleArray immutableDoubleArray) { ensureRoomFor(immutableDoubleArray.length()); System.arraycopy(immutableDoubleArray.array, immutableDoubleArray.start, this.array, this.count, immutableDoubleArray.length()); this.count += immutableDoubleArray.length(); return this; } private void ensureRoomFor(int i) { int i2 = this.count + i; double[] dArr = this.array; if (i2 > dArr.length) { this.array = Arrays.copyOf(dArr, expandedCapacity(dArr.length, i2)); } } private static int expandedCapacity(int i, int i2) { if (i2 < 0) { throw new AssertionError("cannot store more than MAX_VALUE elements"); } int i3 = i + (i >> 1) + 1; if (i3 < i2) { i3 = Integer.highestOneBit(i2 - 1) << 1; } if (i3 < 0) { return Integer.MAX_VALUE; } return i3; } @CheckReturnValue public ImmutableDoubleArray build() { if (this.count == 0) { return ImmutableDoubleArray.EMPTY; } return new ImmutableDoubleArray(this.array, 0, this.count); } } private ImmutableDoubleArray(double[] dArr) { this(dArr, 0, dArr.length); } private ImmutableDoubleArray(double[] dArr, int i, int i2) { this.array = dArr; this.start = i; this.end = i2; } public double get(int i) { Preconditions.checkElementIndex(i, length()); return this.array[this.start + i]; } public int indexOf(double d) { for (int i = this.start; i < this.end; i++) { if (areEqual(this.array[i], d)) { return i - this.start; } } return -1; } public int lastIndexOf(double d) { int i = this.end; do { i--; if (i < this.start) { return -1; } } while (!areEqual(this.array[i], d)); return i - this.start; } public boolean contains(double d) { return indexOf(d) >= 0; } public double[] toArray() { return Arrays.copyOfRange(this.array, this.start, this.end); } public ImmutableDoubleArray subArray(int i, int i2) { Preconditions.checkPositionIndexes(i, i2, length()); if (i == i2) { return EMPTY; } double[] dArr = this.array; int i3 = this.start; return new ImmutableDoubleArray(dArr, i + i3, i3 + i2); } public List asList() { return new AsList(); } /* JADX INFO: Access modifiers changed from: package-private */ /* loaded from: classes3.dex */ public static class AsList extends AbstractList implements RandomAccess, Serializable { private final ImmutableDoubleArray parent; private AsList(ImmutableDoubleArray immutableDoubleArray) { this.parent = immutableDoubleArray; } @Override // java.util.AbstractCollection, java.util.Collection, java.util.List public int size() { return this.parent.length(); } @Override // java.util.AbstractList, java.util.List public Double get(int i) { return Double.valueOf(this.parent.get(i)); } @Override // java.util.AbstractCollection, java.util.Collection, java.util.List public boolean contains(@CheckForNull Object obj) { return indexOf(obj) >= 0; } @Override // java.util.AbstractList, java.util.List public int indexOf(@CheckForNull Object obj) { if (obj instanceof Double) { return this.parent.indexOf(((Double) obj).doubleValue()); } return -1; } @Override // java.util.AbstractList, java.util.List public int lastIndexOf(@CheckForNull Object obj) { if (obj instanceof Double) { return this.parent.lastIndexOf(((Double) obj).doubleValue()); } return -1; } @Override // java.util.AbstractList, java.util.List public List subList(int i, int i2) { return this.parent.subArray(i, i2).asList(); } @Override // java.util.AbstractList, java.util.Collection, java.util.List public boolean equals(@CheckForNull Object obj) { if (obj instanceof AsList) { return this.parent.equals(((AsList) obj).parent); } if (!(obj instanceof List)) { return false; } List list = (List) obj; if (size() != list.size()) { return false; } int i = this.parent.start; for (Object obj2 : list) { if (obj2 instanceof Double) { int i2 = i + 1; if (ImmutableDoubleArray.areEqual(this.parent.array[i], ((Double) obj2).doubleValue())) { i = i2; } } return false; } return true; } @Override // java.util.AbstractList, java.util.Collection, java.util.List public int hashCode() { return this.parent.hashCode(); } @Override // java.util.AbstractCollection public String toString() { return this.parent.toString(); } } public boolean equals(@CheckForNull Object obj) { if (obj == this) { return true; } if (!(obj instanceof ImmutableDoubleArray)) { return false; } ImmutableDoubleArray immutableDoubleArray = (ImmutableDoubleArray) obj; if (length() != immutableDoubleArray.length()) { return false; } for (int i = 0; i < length(); i++) { if (!areEqual(get(i), immutableDoubleArray.get(i))) { return false; } } return true; } /* JADX INFO: Access modifiers changed from: private */ public static boolean areEqual(double d, double d2) { return Double.doubleToLongBits(d) == Double.doubleToLongBits(d2); } public int hashCode() { int i = 1; for (int i2 = this.start; i2 < this.end; i2++) { i = (i * 31) + Doubles.hashCode(this.array[i2]); } return i; } public String toString() { if (isEmpty()) { return HttpUrl.PATH_SEGMENT_ENCODE_SET_URI; } StringBuilder sb = new StringBuilder(length() * 5); sb.append('[').append(this.array[this.start]); int i = this.start; while (true) { i++; if (i < this.end) { sb.append(", ").append(this.array[i]); } else { sb.append(']'); return sb.toString(); } } } public ImmutableDoubleArray trimmed() { return isPartialView() ? new ImmutableDoubleArray(toArray()) : this; } private boolean isPartialView() { return this.start > 0 || this.end < this.array.length; } Object writeReplace() { return trimmed(); } Object readResolve() { return isEmpty() ? EMPTY : this; } }