.class public final Landroidx/collection/MutableFloatSet; .super Landroidx/collection/FloatSet; .source "SourceFile" # annotations .annotation build Lkotlin/jvm/internal/SourceDebugExtension; value = { "SMAP\nFloatSet.kt\nKotlin\n*S Kotlin\n*F\n+ 1 FloatSet.kt\nandroidx/collection/MutableFloatSet\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n+ 3 ScatterMap.kt\nandroidx/collection/ScatterMapKt\n+ 4 _Arrays.kt\nkotlin/collections/ArraysKt___ArraysKt\n+ 5 FloatSet.kt\nandroidx/collection/FloatSet\n+ 6 FloatSet.kt\nandroidx/collection/FloatSetKt\n*L\n1#1,853:1\n832#1,2:997\n836#1,5:1005\n832#1,2:1036\n836#1,5:1044\n832#1,2:1061\n836#1,5:1069\n832#1,2:1075\n836#1,5:1083\n1#2:854\n1672#3,6:855\n1826#3:874\n1688#3:878\n1619#3:895\n1615#3:898\n1795#3,3:902\n1809#3,3:906\n1733#3:910\n1721#3:912\n1715#3:913\n1728#3:918\n1818#3:920\n1619#3:934\n1615#3:937\n1795#3,3:941\n1809#3,3:945\n1733#3:949\n1721#3:951\n1715#3:952\n1728#3:957\n1818#3:959\n1826#3:981\n1688#3:985\n1672#3,6:999\n1672#3,6:1010\n1615#3:1019\n1619#3:1020\n1795#3,3:1021\n1809#3,3:1024\n1733#3:1027\n1721#3:1028\n1715#3:1029\n1728#3:1030\n1818#3:1031\n1682#3:1032\n1661#3:1033\n1680#3:1034\n1661#3:1035\n1672#3,6:1038\n1795#3,3:1049\n1826#3:1052\n1715#3:1053\n1685#3:1054\n1661#3:1055\n1615#3:1059\n1619#3:1060\n1672#3,6:1063\n1661#3:1074\n1672#3,6:1077\n1672#3,6:1088\n1672#3,6:1094\n13614#4,2:861\n13614#4,2:968\n262#5,4:863\n232#5,7:867\n243#5,3:875\n246#5,2:879\n266#5,2:881\n249#5,6:883\n268#5:889\n442#5:890\n443#5:894\n445#5,2:896\n447#5,3:899\n450#5:905\n451#5:909\n452#5:911\n453#5,4:914\n459#5:919\n460#5,8:921\n442#5:929\n443#5:933\n445#5,2:935\n447#5,3:938\n450#5:944\n451#5:948\n452#5:950\n453#5,4:953\n459#5:958\n460#5,8:960\n262#5,4:970\n232#5,7:974\n243#5,3:982\n246#5,2:986\n266#5,2:988\n249#5,6:990\n268#5:996\n849#6,3:891\n849#6,3:930\n849#6,3:1016\n849#6,3:1056\n*S KotlinDebug\n*F\n+ 1 FloatSet.kt\nandroidx/collection/MutableFloatSet\n*L\n673#1:997,2\n673#1:1005,5\n731#1:1036,2\n731#1:1044,5\n803#1:1061,2\n803#1:1069,5\n818#1:1075,2\n818#1:1083,5\n526#1:855,6\n595#1:874\n595#1:878\n607#1:895\n607#1:898\n607#1:902,3\n607#1:906,3\n607#1:910\n607#1:912\n607#1:913\n607#1:918\n607#1:920\n620#1:934\n620#1:937\n620#1:941,3\n620#1:945,3\n620#1:949\n620#1:951\n620#1:952\n620#1:957\n620#1:959\n663#1:981\n663#1:985\n673#1:999,6\n683#1:1010,6\n697#1:1019\n698#1:1020\n705#1:1021,3\n706#1:1024,3\n707#1:1027\n708#1:1028\n708#1:1029\n712#1:1030\n715#1:1031\n724#1:1032\n724#1:1033\n730#1:1034\n730#1:1035\n731#1:1038,6\n745#1:1049,3\n746#1:1052\n748#1:1053\n798#1:1054\n798#1:1055\n801#1:1059\n803#1:1060\n803#1:1063,6\n816#1:1074\n818#1:1077,6\n833#1:1088,6\n839#1:1094,6\n573#1:861,2\n642#1:968,2\n595#1:863,4\n595#1:867,7\n595#1:875,3\n595#1:879,2\n595#1:881,2\n595#1:883,6\n595#1:889\n607#1:890\n607#1:894\n607#1:896,2\n607#1:899,3\n607#1:905\n607#1:909\n607#1:911\n607#1:914,4\n607#1:919\n607#1:921,8\n620#1:929\n620#1:933\n620#1:935,2\n620#1:938,3\n620#1:944\n620#1:948\n620#1:950\n620#1:953,4\n620#1:958\n620#1:960,8\n663#1:970,4\n663#1:974,7\n663#1:982,3\n663#1:986,2\n663#1:988,2\n663#1:990,6\n663#1:996\n607#1:891,3\n620#1:930,3\n696#1:1016,3\n800#1:1056,3\n*E\n" } .end annotation # instance fields .field private growthLimit:I # direct methods .method public constructor ()V .locals 3 .line 0 const/4 v0, 0x1 const/4 v1, 0x0 const/4 v2, 0x0 invoke-direct {p0, v2, v0, v1}, Landroidx/collection/MutableFloatSet;->(IILkotlin/jvm/internal/DefaultConstructorMarker;)V return-void .end method .method public constructor (I)V .locals 1 const/4 v0, 0x0 .line 494 invoke-direct {p0, v0}, Landroidx/collection/FloatSet;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V if-ltz p1, :cond_0 .line 500 invoke-static {p1}, Landroidx/collection/ScatterMapKt;->unloadedCapacity(I)I move-result p1 invoke-direct {p0, p1}, Landroidx/collection/MutableFloatSet;->initializeStorage(I)V return-void .line 499 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "Capacity must be a positive value." invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public synthetic constructor (IILkotlin/jvm/internal/DefaultConstructorMarker;)V .locals 0 and-int/lit8 p2, p2, 0x1 if-eqz p2, :cond_0 const/4 p1, 0x6 .line 492 :cond_0 invoke-direct {p0, p1}, Landroidx/collection/MutableFloatSet;->(I)V return-void .end method .method private final adjustStorage()V .locals 6 iget v0, p0, Landroidx/collection/FloatSet;->_capacity:I const/16 v1, 0x8 if-le v0, v1, :cond_0 iget v0, p0, Landroidx/collection/FloatSet;->_size:I int-to-long v0, v0 .line 781 invoke-static {v0, v1}, Lkotlin/ULong;->constructor-impl(J)J move-result-wide v0 const-wide/16 v2, 0x20 mul-long/2addr v0, v2 invoke-static {v0, v1}, Lkotlin/ULong;->constructor-impl(J)J move-result-wide v0 iget v2, p0, Landroidx/collection/FloatSet;->_capacity:I int-to-long v2, v2 invoke-static {v2, v3}, Lkotlin/ULong;->constructor-impl(J)J move-result-wide v2 const-wide/16 v4, 0x19 mul-long/2addr v2, v4 invoke-static {v2, v3}, Lkotlin/ULong;->constructor-impl(J)J move-result-wide v2 invoke-static {v0, v1, v2, v3}, Ljava/lang/Long;->compareUnsigned(JJ)I move-result v0 if-gtz v0, :cond_0 .line 782 invoke-direct {p0}, Landroidx/collection/MutableFloatSet;->removeDeletedMarkers()V goto :goto_0 :cond_0 iget v0, p0, Landroidx/collection/FloatSet;->_capacity:I .line 784 invoke-static {v0}, Landroidx/collection/ScatterMapKt;->nextCapacity(I)I move-result v0 invoke-direct {p0, v0}, Landroidx/collection/MutableFloatSet;->resizeStorage(I)V :goto_0 return-void .end method .method private final findAbsoluteInsertIndex(F)I .locals 19 move-object/from16 v0, p0 .line 849 invoke-static/range {p1 .. p1}, Ljava/lang/Float;->hashCode(F)I move-result v1 const v2, -0x3361d2af # -8.293031E7f mul-int/2addr v1, v2 shl-int/lit8 v2, v1, 0x10 xor-int/2addr v1, v2 ushr-int/lit8 v2, v1, 0x7 and-int/lit8 v1, v1, 0x7f iget v3, v0, Landroidx/collection/FloatSet;->_capacity:I and-int v4, v2, v3 const/4 v6, 0x0 :goto_0 iget-object v7, v0, Landroidx/collection/FloatSet;->metadata:[J shr-int/lit8 v8, v4, 0x3 and-int/lit8 v9, v4, 0x7 shl-int/lit8 v9, v9, 0x3 .line 1797 aget-wide v10, v7, v8 ushr-long/2addr v10, v9 const/4 v12, 0x1 add-int/2addr v8, v12 aget-wide v13, v7, v8 rsub-int/lit8 v7, v9, 0x40 shl-long v7, v13, v7 int-to-long v13, v9 neg-long v13, v13 const/16 v9, 0x3f shr-long/2addr v13, v9 and-long/2addr v7, v13 or-long/2addr v7, v10 int-to-long v9, v1 const-wide v13, 0x101010101010101L mul-long v15, v9, v13 move/from16 v17, v6 xor-long v5, v7, v15 sub-long v13, v5, v13 not-long v5, v5 and-long/2addr v5, v13 const-wide v13, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v5, v13 :goto_1 const-wide/16 v15, 0x0 cmp-long v18, v5, v15 if-eqz v18, :cond_1 .line 1715 invoke-static {v5, v6}, Ljava/lang/Long;->numberOfTrailingZeros(J)I move-result v15 shr-int/lit8 v15, v15, 0x3 add-int/2addr v15, v4 and-int/2addr v15, v3 iget-object v11, v0, Landroidx/collection/FloatSet;->elements:[F .line 709 aget v11, v11, v15 cmpg-float v11, v11, p1 if-nez v11, :cond_0 return v15 :cond_0 const-wide/16 v15, 0x1 sub-long v15, v5, v15 and-long/2addr v5, v15 goto :goto_1 :cond_1 not-long v5, v7 const/4 v11, 0x6 shl-long/2addr v5, v11 and-long/2addr v5, v7 and-long/2addr v5, v13 cmp-long v5, v5, v15 if-eqz v5, :cond_5 .line 723 invoke-direct {v0, v2}, Landroidx/collection/MutableFloatSet;->findFirstAvailableSlot(I)I move-result v1 iget v3, v0, Landroidx/collection/MutableFloatSet;->growthLimit:I const-wide/16 v4, 0xff if-nez v3, :cond_3 iget-object v3, v0, Landroidx/collection/FloatSet;->metadata:[J shr-int/lit8 v6, v1, 0x3 .line 1661 aget-wide v6, v3, v6 and-int/lit8 v3, v1, 0x7 shl-int/lit8 v3, v3, 0x3 shr-long/2addr v6, v3 and-long/2addr v6, v4 const-wide/16 v13, 0xfe cmp-long v3, v6, v13 if-nez v3, :cond_2 goto :goto_2 .line 725 :cond_2 invoke-direct/range {p0 .. p0}, Landroidx/collection/MutableFloatSet;->adjustStorage()V .line 726 invoke-direct {v0, v2}, Landroidx/collection/MutableFloatSet;->findFirstAvailableSlot(I)I move-result v1 :cond_3 :goto_2 iget v2, v0, Landroidx/collection/FloatSet;->_size:I add-int/2addr v2, v12 iput v2, v0, Landroidx/collection/FloatSet;->_size:I iget v2, v0, Landroidx/collection/MutableFloatSet;->growthLimit:I iget-object v3, v0, Landroidx/collection/FloatSet;->metadata:[J shr-int/lit8 v6, v1, 0x3 .line 1661 aget-wide v7, v3, v6 and-int/lit8 v11, v1, 0x7 shl-int/lit8 v11, v11, 0x3 shr-long v13, v7, v11 and-long/2addr v13, v4 const-wide/16 v15, 0x80 cmp-long v13, v13, v15 if-nez v13, :cond_4 move/from16 v18, v12 goto :goto_3 :cond_4 const/16 v18, 0x0 :goto_3 sub-int v2, v2, v18 iput v2, v0, Landroidx/collection/MutableFloatSet;->growthLimit:I shl-long v12, v4, v11 not-long v12, v12 and-long/2addr v7, v12 shl-long v11, v9, v11 or-long/2addr v7, v11 .line 1676 aput-wide v7, v3, v6 iget v2, v0, Landroidx/collection/FloatSet;->_capacity:I add-int/lit8 v6, v1, -0x7 and-int/2addr v6, v2 and-int/lit8 v2, v2, 0x7 add-int/2addr v6, v2 shr-int/lit8 v2, v6, 0x3 and-int/lit8 v6, v6, 0x7 shl-int/lit8 v6, v6, 0x3 aget-wide v7, v3, v2 shl-long/2addr v4, v6 not-long v4, v4 and-long/2addr v4, v7 shl-long v6, v9, v6 or-long/2addr v4, v6 aput-wide v4, v3, v2 return v1 :cond_5 add-int/lit8 v6, v17, 0x8 add-int/2addr v4, v6 and-int/2addr v4, v3 goto/16 :goto_0 .end method .method private final findFirstAvailableSlot(I)I .locals 9 iget v0, p0, Landroidx/collection/FloatSet;->_capacity:I and-int/2addr p1, v0 const/4 v1, 0x0 :goto_0 iget-object v2, p0, Landroidx/collection/FloatSet;->metadata:[J shr-int/lit8 v3, p1, 0x3 and-int/lit8 v4, p1, 0x7 shl-int/lit8 v4, v4, 0x3 .line 1797 aget-wide v5, v2, v3 ushr-long/2addr v5, v4 add-int/lit8 v3, v3, 0x1 aget-wide v7, v2, v3 rsub-int/lit8 v2, v4, 0x40 shl-long v2, v7, v2 int-to-long v7, v4 neg-long v7, v7 const/16 v4, 0x3f shr-long/2addr v7, v4 and-long/2addr v2, v7 or-long/2addr v2, v5 not-long v4, v2 const/4 v6, 0x7 shl-long/2addr v4, v6 and-long/2addr v2, v4 const-wide v4, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v2, v4 const-wide/16 v4, 0x0 cmp-long v4, v2, v4 if-eqz v4, :cond_0 .line 1715 invoke-static {v2, v3}, Ljava/lang/Long;->numberOfTrailingZeros(J)I move-result v1 shr-int/lit8 v1, v1, 0x3 add-int/2addr p1, v1 and-int/2addr p1, v0 return p1 :cond_0 add-int/lit8 v1, v1, 0x8 add-int/2addr p1, v1 and-int/2addr p1, v0 goto :goto_0 .end method .method private final initializeGrowth()V .locals 2 .line 531 invoke-virtual {p0}, Landroidx/collection/FloatSet;->getCapacity()I move-result v0 invoke-static {v0}, Landroidx/collection/ScatterMapKt;->loadedCapacity(I)I move-result v0 iget v1, p0, Landroidx/collection/FloatSet;->_size:I sub-int/2addr v0, v1 iput v0, p0, Landroidx/collection/MutableFloatSet;->growthLimit:I return-void .end method .method private final initializeMetadata(I)V .locals 8 if-nez p1, :cond_0 .line 518 sget-object v0, Landroidx/collection/ScatterMapKt;->EmptyGroup:[J goto :goto_0 :cond_0 add-int/lit8 v0, p1, 0xf and-int/lit8 v0, v0, -0x8 shr-int/lit8 v0, v0, 0x3 .line 522 new-array v0, v0, [J const-wide v2, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 const/4 v4, 0x0 const/4 v5, 0x0 const/4 v6, 0x6 const/4 v7, 0x0 move-object v1, v0 .line 523 invoke-static/range {v1 .. v7}, Lkotlin/collections/ArraysKt;->fill$default([JJIIILjava/lang/Object;)V :goto_0 iput-object v0, p0, Landroidx/collection/FloatSet;->metadata:[J shr-int/lit8 v1, p1, 0x3 and-int/lit8 p1, p1, 0x7 shl-int/lit8 p1, p1, 0x3 .line 1676 aget-wide v2, v0, v1 const-wide/16 v4, 0xff shl-long/2addr v4, p1 not-long v6, v4 and-long/2addr v2, v6 or-long/2addr v2, v4 aput-wide v2, v0, v1 .line 527 invoke-direct {p0}, Landroidx/collection/MutableFloatSet;->initializeGrowth()V return-void .end method .method private final initializeStorage(I)V .locals 1 if-lez p1, :cond_0 const/4 v0, 0x7 .line 507 invoke-static {p1}, Landroidx/collection/ScatterMapKt;->normalizeCapacity(I)I move-result p1 invoke-static {v0, p1}, Ljava/lang/Math;->max(II)I move-result p1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 iput p1, p0, Landroidx/collection/FloatSet;->_capacity:I .line 512 invoke-direct {p0, p1}, Landroidx/collection/MutableFloatSet;->initializeMetadata(I)V .line 513 new-array p1, p1, [F iput-object p1, p0, Landroidx/collection/FloatSet;->elements:[F return-void .end method .method private final removeDeletedMarkers()V .locals 14 iget-object v0, p0, Landroidx/collection/FloatSet;->metadata:[J iget v1, p0, Landroidx/collection/FloatSet;->_capacity:I const/4 v2, 0x0 move v3, v2 :goto_0 if-ge v2, v1, :cond_1 shr-int/lit8 v4, v2, 0x3 .line 1661 aget-wide v5, v0, v4 and-int/lit8 v7, v2, 0x7 shl-int/lit8 v7, v7, 0x3 shr-long/2addr v5, v7 const-wide/16 v8, 0xff and-long/2addr v5, v8 const-wide/16 v10, 0xfe cmp-long v5, v5, v10 if-nez v5, :cond_0 iget-object v5, p0, Landroidx/collection/FloatSet;->metadata:[J .line 1676 aget-wide v10, v5, v4 shl-long v12, v8, v7 not-long v12, v12 and-long/2addr v10, v12 const-wide/16 v12, 0x80 shl-long v6, v12, v7 or-long/2addr v6, v10 aput-wide v6, v5, v4 iget v4, p0, Landroidx/collection/FloatSet;->_capacity:I add-int/lit8 v6, v2, -0x7 and-int/2addr v6, v4 and-int/lit8 v4, v4, 0x7 add-int/2addr v6, v4 shr-int/lit8 v4, v6, 0x3 and-int/lit8 v6, v6, 0x7 shl-int/lit8 v6, v6, 0x3 aget-wide v10, v5, v4 shl-long v7, v8, v6 not-long v7, v7 and-long/2addr v7, v10 shl-long v9, v12, v6 or-long v6, v7, v9 aput-wide v6, v5, v4 add-int/lit8 v3, v3, 0x1 :cond_0 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_1 iget v0, p0, Landroidx/collection/MutableFloatSet;->growthLimit:I add-int/2addr v0, v3 iput v0, p0, Landroidx/collection/MutableFloatSet;->growthLimit:I return-void .end method .method private final removeElementAt(I)V .locals 11 iget v0, p0, Landroidx/collection/FloatSet;->_size:I add-int/lit8 v0, v0, -0x1 iput v0, p0, Landroidx/collection/FloatSet;->_size:I iget-object v0, p0, Landroidx/collection/FloatSet;->metadata:[J shr-int/lit8 v1, p1, 0x3 and-int/lit8 v2, p1, 0x7 shl-int/lit8 v2, v2, 0x3 .line 1676 aget-wide v3, v0, v1 const-wide/16 v5, 0xff shl-long v7, v5, v2 not-long v7, v7 and-long/2addr v3, v7 const-wide/16 v7, 0xfe shl-long v9, v7, v2 or-long v2, v3, v9 aput-wide v2, v0, v1 iget v1, p0, Landroidx/collection/FloatSet;->_capacity:I add-int/lit8 p1, p1, -0x7 and-int/2addr p1, v1 and-int/lit8 v1, v1, 0x7 add-int/2addr p1, v1 shr-int/lit8 v1, p1, 0x3 and-int/lit8 p1, p1, 0x7 shl-int/lit8 p1, p1, 0x3 aget-wide v2, v0, v1 shl-long v4, v5, p1 not-long v4, v4 and-long/2addr v2, v4 shl-long v4, v7, p1 or-long/2addr v2, v4 aput-wide v2, v0, v1 return-void .end method .method private final resizeStorage(I)V .locals 19 move-object/from16 v0, p0 iget-object v1, v0, Landroidx/collection/FloatSet;->metadata:[J iget-object v2, v0, Landroidx/collection/FloatSet;->elements:[F iget v3, v0, Landroidx/collection/FloatSet;->_capacity:I .line 793 invoke-direct/range {p0 .. p1}, Landroidx/collection/MutableFloatSet;->initializeStorage(I)V iget-object v4, v0, Landroidx/collection/FloatSet;->elements:[F const/4 v5, 0x0 :goto_0 if-ge v5, v3, :cond_1 shr-int/lit8 v6, v5, 0x3 .line 1661 aget-wide v6, v1, v6 and-int/lit8 v8, v5, 0x7 shl-int/lit8 v8, v8, 0x3 shr-long/2addr v6, v8 const-wide/16 v8, 0xff and-long/2addr v6, v8 const-wide/16 v10, 0x80 cmp-long v6, v6, v10 if-gez v6, :cond_0 .line 799 aget v6, v2, v5 .line 849 invoke-static {v6}, Ljava/lang/Float;->hashCode(F)I move-result v7 const v10, -0x3361d2af # -8.293031E7f mul-int/2addr v7, v10 shl-int/lit8 v10, v7, 0x10 xor-int/2addr v7, v10 ushr-int/lit8 v10, v7, 0x7 .line 801 invoke-direct {v0, v10}, Landroidx/collection/MutableFloatSet;->findFirstAvailableSlot(I)I move-result v10 and-int/lit8 v7, v7, 0x7f int-to-long v11, v7 iget-object v7, v0, Landroidx/collection/FloatSet;->metadata:[J shr-int/lit8 v13, v10, 0x3 and-int/lit8 v14, v10, 0x7 shl-int/lit8 v14, v14, 0x3 .line 1676 aget-wide v15, v7, v13 move-object/from16 v17, v1 move-object/from16 v18, v2 shl-long v1, v8, v14 not-long v1, v1 and-long/2addr v1, v15 shl-long v14, v11, v14 or-long/2addr v1, v14 aput-wide v1, v7, v13 iget v1, v0, Landroidx/collection/FloatSet;->_capacity:I add-int/lit8 v2, v10, -0x7 and-int/2addr v2, v1 and-int/lit8 v1, v1, 0x7 add-int/2addr v2, v1 shr-int/lit8 v1, v2, 0x3 and-int/lit8 v2, v2, 0x7 shl-int/lit8 v2, v2, 0x3 aget-wide v13, v7, v1 shl-long/2addr v8, v2 not-long v8, v8 and-long/2addr v8, v13 shl-long/2addr v11, v2 or-long/2addr v8, v11 aput-wide v8, v7, v1 .line 804 aput v6, v4, v10 goto :goto_1 :cond_0 move-object/from16 v17, v1 move-object/from16 v18, v2 :goto_1 add-int/lit8 v5, v5, 0x1 move-object/from16 v1, v17 move-object/from16 v2, v18 goto :goto_0 :cond_1 return-void .end method .method private final writeMetadata(IJ)V .locals 9 iget-object v0, p0, Landroidx/collection/FloatSet;->metadata:[J shr-int/lit8 v1, p1, 0x3 and-int/lit8 v2, p1, 0x7 shl-int/lit8 v2, v2, 0x3 .line 1676 aget-wide v3, v0, v1 const-wide/16 v5, 0xff shl-long v7, v5, v2 not-long v7, v7 and-long/2addr v3, v7 shl-long v7, p2, v2 or-long v2, v3, v7 aput-wide v2, v0, v1 iget v1, p0, Landroidx/collection/FloatSet;->_capacity:I add-int/lit8 p1, p1, -0x7 and-int/2addr p1, v1 and-int/lit8 v1, v1, 0x7 add-int/2addr p1, v1 shr-int/lit8 v1, p1, 0x3 and-int/lit8 p1, p1, 0x7 shl-int/lit8 p1, p1, 0x3 .line 1676 aget-wide v2, v0, v1 shl-long v4, v5, p1 not-long v4, v4 and-long/2addr v2, v4 shl-long p1, p2, p1 or-long/2addr p1, v2 aput-wide p1, v0, v1 return-void .end method # virtual methods .method public final add(F)Z .locals 3 iget v0, p0, Landroidx/collection/FloatSet;->_size:I .line 542 invoke-direct {p0, p1}, Landroidx/collection/MutableFloatSet;->findAbsoluteInsertIndex(F)I move-result v1 iget-object v2, p0, Landroidx/collection/FloatSet;->elements:[F .line 543 aput p1, v2, v1 iget p1, p0, Landroidx/collection/FloatSet;->_size:I if-eq p1, v0, :cond_0 const/4 p1, 0x1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 return p1 .end method .method public final addAll(Landroidx/collection/FloatSet;)Z .locals 1 const-string v0, "elements" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V iget v0, p0, Landroidx/collection/FloatSet;->_size:I .line 586 invoke-virtual {p0, p1}, Landroidx/collection/MutableFloatSet;->plusAssign(Landroidx/collection/FloatSet;)V iget p1, p0, Landroidx/collection/FloatSet;->_size:I if-eq v0, p1, :cond_0 const/4 p1, 0x1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 return p1 .end method .method public final addAll([F)Z .locals 1 const-string v0, "elements" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V iget v0, p0, Landroidx/collection/FloatSet;->_size:I .line 564 invoke-virtual {p0, p1}, Landroidx/collection/MutableFloatSet;->plusAssign([F)V iget p1, p0, Landroidx/collection/FloatSet;->_size:I if-eq v0, p1, :cond_0 const/4 p1, 0x1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 return p1 .end method .method public final clear()V .locals 9 const/4 v0, 0x0 iput v0, p0, Landroidx/collection/FloatSet;->_size:I iget-object v1, p0, Landroidx/collection/FloatSet;->metadata:[J .line 681 sget-object v0, Landroidx/collection/ScatterMapKt;->EmptyGroup:[J if-eq v1, v0, :cond_0 const-wide v2, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 const/4 v4, 0x0 const/4 v5, 0x0 const/4 v6, 0x6 const/4 v7, 0x0 .line 682 invoke-static/range {v1 .. v7}, Lkotlin/collections/ArraysKt;->fill$default([JJIIILjava/lang/Object;)V iget-object v0, p0, Landroidx/collection/FloatSet;->metadata:[J iget v1, p0, Landroidx/collection/FloatSet;->_capacity:I shr-int/lit8 v2, v1, 0x3 and-int/lit8 v1, v1, 0x7 shl-int/lit8 v1, v1, 0x3 .line 1676 aget-wide v3, v0, v2 const-wide/16 v5, 0xff shl-long/2addr v5, v1 not-long v7, v5 and-long/2addr v3, v7 or-long/2addr v3, v5 aput-wide v3, v0, v2 .line 685 :cond_0 invoke-direct {p0}, Landroidx/collection/MutableFloatSet;->initializeGrowth()V return-void .end method .method public final minusAssign(F)V .locals 13 .line 849 invoke-static {p1}, Ljava/lang/Float;->hashCode(F)I move-result v0 const v1, -0x3361d2af # -8.293031E7f mul-int/2addr v0, v1 shl-int/lit8 v1, v0, 0x10 xor-int/2addr v0, v1 and-int/lit8 v1, v0, 0x7f iget v2, p0, Landroidx/collection/FloatSet;->_capacity:I ushr-int/lit8 v0, v0, 0x7 and-int/2addr v0, v2 const/4 v3, 0x0 :goto_0 iget-object v4, p0, Landroidx/collection/FloatSet;->metadata:[J shr-int/lit8 v5, v0, 0x3 and-int/lit8 v6, v0, 0x7 shl-int/lit8 v6, v6, 0x3 .line 1797 aget-wide v7, v4, v5 ushr-long/2addr v7, v6 add-int/lit8 v5, v5, 0x1 aget-wide v9, v4, v5 rsub-int/lit8 v4, v6, 0x40 shl-long v4, v9, v4 int-to-long v9, v6 neg-long v9, v9 const/16 v6, 0x3f shr-long/2addr v9, v6 and-long/2addr v4, v9 or-long/2addr v4, v7 int-to-long v6, v1 const-wide v8, 0x101010101010101L mul-long/2addr v6, v8 xor-long/2addr v6, v4 sub-long v8, v6, v8 not-long v6, v6 and-long/2addr v6, v8 const-wide v8, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v6, v8 :goto_1 const-wide/16 v10, 0x0 cmp-long v12, v6, v10 if-eqz v12, :cond_1 .line 1715 invoke-static {v6, v7}, Ljava/lang/Long;->numberOfTrailingZeros(J)I move-result v10 shr-int/lit8 v10, v10, 0x3 add-int/2addr v10, v0 and-int/2addr v10, v2 iget-object v11, p0, Landroidx/collection/FloatSet;->elements:[F .line 453 aget v11, v11, v10 cmpg-float v11, v11, p1 if-nez v11, :cond_0 goto :goto_2 :cond_0 const-wide/16 v10, 0x1 sub-long v10, v6, v10 and-long/2addr v6, v10 goto :goto_1 :cond_1 not-long v6, v4 const/4 v12, 0x6 shl-long/2addr v6, v12 and-long/2addr v4, v6 and-long/2addr v4, v8 cmp-long v4, v4, v10 if-eqz v4, :cond_3 const/4 v10, -0x1 :goto_2 if-ltz v10, :cond_2 .line 622 invoke-direct {p0, v10}, Landroidx/collection/MutableFloatSet;->removeElementAt(I)V :cond_2 return-void :cond_3 add-int/lit8 v3, v3, 0x8 add-int/2addr v0, v3 and-int/2addr v0, v2 goto :goto_0 .end method .method public final minusAssign(Landroidx/collection/FloatSet;)V .locals 13 const-string v0, "elements" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 263 iget-object v0, p1, Landroidx/collection/FloatSet;->elements:[F .line 233 iget-object p1, p1, Landroidx/collection/FloatSet;->metadata:[J .line 234 array-length v1, p1 add-int/lit8 v1, v1, -0x2 if-ltz v1, :cond_3 const/4 v2, 0x0 move v3, v2 .line 237 :goto_0 aget-wide v4, p1, v3 not-long v6, v4 const/4 v8, 0x7 shl-long/2addr v6, v8 and-long/2addr v6, v4 const-wide v8, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v6, v8 cmp-long v6, v6, v8 if-eqz v6, :cond_2 sub-int v6, v3, v1 not-int v6, v6 ushr-int/lit8 v6, v6, 0x1f const/16 v7, 0x8 rsub-int/lit8 v6, v6, 0x8 move v8, v2 :goto_1 if-ge v8, v6, :cond_1 const-wide/16 v9, 0xff and-long/2addr v9, v4 const-wide/16 v11, 0x80 cmp-long v9, v9, v11 if-gez v9, :cond_0 shl-int/lit8 v9, v3, 0x3 add-int/2addr v9, v8 .line 266 aget v9, v0, v9 .line 664 invoke-virtual {p0, v9}, Landroidx/collection/MutableFloatSet;->minusAssign(F)V :cond_0 shr-long/2addr v4, v7 add-int/lit8 v8, v8, 0x1 goto :goto_1 :cond_1 if-ne v6, v7, :cond_3 :cond_2 if-eq v3, v1, :cond_3 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_3 return-void .end method .method public final minusAssign([F)V .locals 3 const-string v0, "elements" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 968 array-length v0, p1 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 aget v2, p1, v1 .line 643 invoke-virtual {p0, v2}, Landroidx/collection/MutableFloatSet;->minusAssign(F)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method public final plusAssign(F)V .locals 2 .line 552 invoke-direct {p0, p1}, Landroidx/collection/MutableFloatSet;->findAbsoluteInsertIndex(F)I move-result v0 iget-object v1, p0, Landroidx/collection/FloatSet;->elements:[F .line 553 aput p1, v1, v0 return-void .end method .method public final plusAssign(Landroidx/collection/FloatSet;)V .locals 13 const-string v0, "elements" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 263 iget-object v0, p1, Landroidx/collection/FloatSet;->elements:[F .line 233 iget-object p1, p1, Landroidx/collection/FloatSet;->metadata:[J .line 234 array-length v1, p1 add-int/lit8 v1, v1, -0x2 if-ltz v1, :cond_3 const/4 v2, 0x0 move v3, v2 .line 237 :goto_0 aget-wide v4, p1, v3 not-long v6, v4 const/4 v8, 0x7 shl-long/2addr v6, v8 and-long/2addr v6, v4 const-wide v8, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v6, v8 cmp-long v6, v6, v8 if-eqz v6, :cond_2 sub-int v6, v3, v1 not-int v6, v6 ushr-int/lit8 v6, v6, 0x1f const/16 v7, 0x8 rsub-int/lit8 v6, v6, 0x8 move v8, v2 :goto_1 if-ge v8, v6, :cond_1 const-wide/16 v9, 0xff and-long/2addr v9, v4 const-wide/16 v11, 0x80 cmp-long v9, v9, v11 if-gez v9, :cond_0 shl-int/lit8 v9, v3, 0x3 add-int/2addr v9, v8 .line 266 aget v9, v0, v9 .line 596 invoke-virtual {p0, v9}, Landroidx/collection/MutableFloatSet;->plusAssign(F)V :cond_0 shr-long/2addr v4, v7 add-int/lit8 v8, v8, 0x1 goto :goto_1 :cond_1 if-ne v6, v7, :cond_3 :cond_2 if-eq v3, v1, :cond_3 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_3 return-void .end method .method public final plusAssign([F)V .locals 3 const-string v0, "elements" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 861 array-length v0, p1 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 aget v2, p1, v1 .line 574 invoke-virtual {p0, v2}, Landroidx/collection/MutableFloatSet;->plusAssign(F)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method public final remove(F)Z .locals 16 move-object/from16 v0, p0 .line 849 invoke-static/range {p1 .. p1}, Ljava/lang/Float;->hashCode(F)I move-result v1 const v2, -0x3361d2af # -8.293031E7f mul-int/2addr v1, v2 shl-int/lit8 v2, v1, 0x10 xor-int/2addr v1, v2 and-int/lit8 v2, v1, 0x7f iget v3, v0, Landroidx/collection/FloatSet;->_capacity:I ushr-int/lit8 v1, v1, 0x7 and-int/2addr v1, v3 const/4 v4, 0x0 move v5, v4 :goto_0 iget-object v6, v0, Landroidx/collection/FloatSet;->metadata:[J shr-int/lit8 v7, v1, 0x3 and-int/lit8 v8, v1, 0x7 shl-int/lit8 v8, v8, 0x3 .line 1797 aget-wide v9, v6, v7 ushr-long/2addr v9, v8 const/4 v11, 0x1 add-int/2addr v7, v11 aget-wide v12, v6, v7 rsub-int/lit8 v6, v8, 0x40 shl-long v6, v12, v6 int-to-long v12, v8 neg-long v12, v12 const/16 v8, 0x3f shr-long/2addr v12, v8 and-long/2addr v6, v12 or-long/2addr v6, v9 int-to-long v8, v2 const-wide v12, 0x101010101010101L mul-long/2addr v8, v12 xor-long/2addr v8, v6 sub-long v12, v8, v12 not-long v8, v8 and-long/2addr v8, v12 const-wide v12, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v8, v12 :goto_1 const-wide/16 v14, 0x0 cmp-long v10, v8, v14 if-eqz v10, :cond_1 .line 1715 invoke-static {v8, v9}, Ljava/lang/Long;->numberOfTrailingZeros(J)I move-result v10 shr-int/lit8 v10, v10, 0x3 add-int/2addr v10, v1 and-int/2addr v10, v3 iget-object v14, v0, Landroidx/collection/FloatSet;->elements:[F .line 453 aget v14, v14, v10 cmpg-float v14, v14, p1 if-nez v14, :cond_0 goto :goto_2 :cond_0 const-wide/16 v14, 0x1 sub-long v14, v8, v14 and-long/2addr v8, v14 goto :goto_1 :cond_1 not-long v8, v6 const/4 v10, 0x6 shl-long/2addr v8, v10 and-long/2addr v6, v8 and-long/2addr v6, v12 cmp-long v6, v6, v14 if-eqz v6, :cond_4 const/4 v10, -0x1 :goto_2 if-ltz v10, :cond_2 move v4, v11 :cond_2 if-eqz v4, :cond_3 .line 610 invoke-direct {v0, v10}, Landroidx/collection/MutableFloatSet;->removeElementAt(I)V :cond_3 return v4 :cond_4 add-int/lit8 v5, v5, 0x8 add-int/2addr v1, v5 and-int/2addr v1, v3 goto :goto_0 .end method .method public final removeAll(Landroidx/collection/FloatSet;)Z .locals 1 const-string v0, "elements" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V iget v0, p0, Landroidx/collection/FloatSet;->_size:I .line 654 invoke-virtual {p0, p1}, Landroidx/collection/MutableFloatSet;->minusAssign(Landroidx/collection/FloatSet;)V iget p1, p0, Landroidx/collection/FloatSet;->_size:I if-eq v0, p1, :cond_0 const/4 p1, 0x1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 return p1 .end method .method public final removeAll([F)Z .locals 1 const-string v0, "elements" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V iget v0, p0, Landroidx/collection/FloatSet;->_size:I .line 633 invoke-virtual {p0, p1}, Landroidx/collection/MutableFloatSet;->minusAssign([F)V iget p1, p0, Landroidx/collection/FloatSet;->_size:I if-eq v0, p1, :cond_0 const/4 p1, 0x1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 return p1 .end method .method public final trim()I .locals 2 .annotation build Landroidx/annotation/IntRange; from = 0x0L .end annotation iget v0, p0, Landroidx/collection/FloatSet;->_capacity:I iget v1, p0, Landroidx/collection/FloatSet;->_size:I .line 765 invoke-static {v1}, Landroidx/collection/ScatterMapKt;->unloadedCapacity(I)I move-result v1 invoke-static {v1}, Landroidx/collection/ScatterMapKt;->normalizeCapacity(I)I move-result v1 if-ge v1, v0, :cond_0 .line 767 invoke-direct {p0, v1}, Landroidx/collection/MutableFloatSet;->resizeStorage(I)V iget v1, p0, Landroidx/collection/FloatSet;->_capacity:I sub-int/2addr v0, v1 return v0 :cond_0 const/4 v0, 0x0 return v0 .end method