i.smali

.class public final Lio/reactivex/internal/util/i;
.super Ljava/lang/Object;
.source "OpenHashSet.java"


# annotations
.annotation system Ldalvik/annotation/Signature;
    value = {
        "<T:",
        "Ljava/lang/Object;",
        ">",
        "Ljava/lang/Object;"
    }
.end annotation


# instance fields
.field public keys:[Ljava/lang/Object;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "[TT;"
        }
    .end annotation
.end field

.field public mask:I

.field public maxSize:I

.field public size:I


# direct methods
.method public constructor <init>()V
    .registers 2

    .prologue
    .line 37
    const/4 v0, 0x0

    invoke-direct {p0, v0}, Lio/reactivex/internal/util/i;-><init>(B)V

    .line 38
    return-void
.end method

.method private constructor <init>(B)V
    .registers 5

    .prologue
    .line 49
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 51
    const/16 v0, 0x10

    invoke-static {v0}, Lio/reactivex/internal/util/j;->fi(I)I

    move-result v0

    .line 52
    add-int/lit8 v1, v0, -0x1

    iput v1, p0, Lio/reactivex/internal/util/i;->mask:I

    .line 53
    const/high16 v1, 0x3f400000    # 0.75f

    int-to-float v2, v0

    mul-float/2addr v1, v2

    float-to-int v1, v1

    iput v1, p0, Lio/reactivex/internal/util/i;->maxSize:I

    .line 54
    new-array v0, v0, [Ljava/lang/Object;

    check-cast v0, [Ljava/lang/Object;

    iput-object v0, p0, Lio/reactivex/internal/util/i;->keys:[Ljava/lang/Object;

    .line 55
    return-void
.end method

.method public static fh(I)I
    .registers 3

    .prologue
    .line 164
    const v0, -0x61c88647

    mul-int/2addr v0, p0

    .line 165
    ushr-int/lit8 v1, v0, 0x10

    xor-int/2addr v0, v1

    return v0
.end method


# virtual methods
.method public final a(I[Ljava/lang/Object;I)Z
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(I[TT;I)Z"
        }
    .end annotation

    .prologue
    .line 108
    iget v0, p0, Lio/reactivex/internal/util/i;->size:I

    add-int/lit8 v0, v0, -0x1

    iput v0, p0, Lio/reactivex/internal/util/i;->size:I

    .line 115
    :goto_6
    add-int/lit8 v0, p1, 0x1

    and-int/2addr v0, p3

    .line 117
    :goto_9
    aget-object v1, p2, v0

    .line 118
    if-nez v1, :cond_12

    .line 119
    const/4 v0, 0x0

    aput-object v0, p2, p1

    .line 120
    const/4 v0, 0x1

    return v0

    .line 122
    :cond_12
    invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I

    move-result v2

    invoke-static {v2}, Lio/reactivex/internal/util/i;->fh(I)I

    move-result v2

    and-int/2addr v2, p3

    .line 124
    if-gt p1, v0, :cond_25

    if-ge p1, v2, :cond_21

    if-le v2, v0, :cond_29

    .line 130
    :cond_21
    aput-object v1, p2, p1

    move p1, v0

    goto :goto_6

    .line 124
    :cond_25
    if-lt p1, v2, :cond_29

    if-gt v2, v0, :cond_21

    .line 128
    :cond_29
    add-int/lit8 v0, v0, 0x1

    and-int/2addr v0, p3

    goto :goto_9
.end method