Pow2.smali 1003 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. .class public final Lio/reactivex/internal/util/Pow2;
  2. .super Ljava/lang/Object;
  3. .source "Pow2.java"
  4. # direct methods
  5. .method private constructor <init>()V
  6. .locals 2
  7. .line 22
  8. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  9. .line 23
  10. new-instance v0, Ljava/lang/IllegalStateException;
  11. const-string v1, "No instances!"
  12. invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  13. throw v0
  14. .end method
  15. .method public static isPowerOfTwo(I)Z
  16. .locals 1
  17. add-int/lit8 v0, p0, -0x1
  18. and-int/2addr p0, v0
  19. if-nez p0, :cond_0
  20. const/4 p0, 0x1
  21. goto :goto_0
  22. :cond_0
  23. const/4 p0, 0x0
  24. :goto_0
  25. return p0
  26. .end method
  27. .method public static roundToPowerOfTwo(I)I
  28. .locals 1
  29. const/4 v0, 0x1
  30. sub-int/2addr p0, v0
  31. .line 34
  32. invoke-static {p0}, Ljava/lang/Integer;->numberOfLeadingZeros(I)I
  33. move-result p0
  34. rsub-int/lit8 p0, p0, 0x20
  35. shl-int p0, v0, p0
  36. return p0
  37. .end method