OmniDivisibleValue.smali

.class public final Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
.super Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;
.source "OmniDivisibleValue.java"


# static fields
.field public static final DEFAULT_CONTEXT:Ljava/math/MathContext;

.field public static final DEFAULT_SCALE:I = 0x8

.field public static MAX:Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue; = null

.field public static final MAX_INT_VALUE:J = 0x15798ee230L

.field public static final MAX_VALUE:Ljava/math/BigDecimal;

.field public static MIN:Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

.field public static final MIN_INT_VALUE:J

.field public static final MIN_VALUE:Ljava/math/BigDecimal;

.field private static final Om:Ljava/math/BigDecimal;


# direct methods
.method static constructor <clinit>()V
    .registers 4

    .prologue
    .line 16
    new-instance v0, Ljava/math/MathContext;

    const/4 v1, 0x0

    sget-object v2, Ljava/math/RoundingMode;->UNNECESSARY:Ljava/math/RoundingMode;

    invoke-direct {v0, v1, v2}, Ljava/math/MathContext;-><init>(ILjava/math/RoundingMode;)V

    sput-object v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->DEFAULT_CONTEXT:Ljava/math/MathContext;

    .line 18
    sget-object v0, Ljava/math/BigDecimal;->ZERO:Ljava/math/BigDecimal;

    sput-object v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->MIN_VALUE:Ljava/math/BigDecimal;

    .line 19
    new-instance v0, Ljava/math/BigDecimal;

    const-string v1, "92233720368.54775807"

    invoke-direct {v0, v1}, Ljava/math/BigDecimal;-><init>(Ljava/lang/String;)V

    sput-object v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->MAX_VALUE:Ljava/math/BigDecimal;

    .line 22
    const-wide/16 v0, 0x0

    invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->ofWillets(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

    move-result-object v0

    sput-object v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->MIN:Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

    .line 23
    const-wide v0, 0x7fffffffffffffffL

    invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->ofWillets(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

    move-result-object v0

    sput-object v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->MAX:Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

    .line 25
    new-instance v0, Ljava/math/BigDecimal;

    sget-wide v2, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->willetsPerDivisible:J

    invoke-direct {v0, v2, v3}, Ljava/math/BigDecimal;-><init>(J)V

    sput-object v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->Om:Ljava/math/BigDecimal;

    return-void
.end method

.method private constructor <init>(J)V
    .registers 4

    .prologue
    .line 86
    invoke-direct {p0, p1, p2}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;-><init>(J)V

    .line 87
    return-void
.end method

.method public static checkValue(J)V
    .registers 4

    .prologue
    .line 77
    const-wide/16 v0, 0x0

    cmp-long v0, p0, v0

    if-gez v0, :cond_c

    .line 78
    new-instance v0, Ljava/lang/ArithmeticException;

    invoke-direct {v0}, Ljava/lang/ArithmeticException;-><init>()V

    throw v0

    .line 80
    :cond_c
    const-wide v0, 0x15798ee230L

    cmp-long v0, p0, v0

    if-lez v0, :cond_1b

    .line 81
    new-instance v0, Ljava/lang/ArithmeticException;

    invoke-direct {v0}, Ljava/lang/ArithmeticException;-><init>()V

    throw v0

    .line 83
    :cond_1b
    return-void
.end method

.method public static checkValue(Ljava/math/BigDecimal;)V
    .registers 2

    .prologue
    .line 62
    sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->MIN_VALUE:Ljava/math/BigDecimal;

    invoke-virtual {p0, v0}, Ljava/math/BigDecimal;->compareTo(Ljava/math/BigDecimal;)I

    move-result v0

    if-gez v0, :cond_e

    .line 63
    new-instance v0, Ljava/lang/ArithmeticException;

    invoke-direct {v0}, Ljava/lang/ArithmeticException;-><init>()V

    throw v0

    .line 65
    :cond_e
    sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->MAX_VALUE:Ljava/math/BigDecimal;

    invoke-virtual {p0, v0}, Ljava/math/BigDecimal;->compareTo(Ljava/math/BigDecimal;)I

    move-result v0

    if-lez v0, :cond_1c

    .line 66
    new-instance v0, Ljava/lang/ArithmeticException;

    invoke-direct {v0}, Ljava/lang/ArithmeticException;-><init>()V

    throw v0

    .line 68
    :cond_1c
    return-void
.end method

.method public static of(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
    .registers 4

    .prologue
    .line 33
    invoke-static {p0, p1}, Ljava/math/BigDecimal;->valueOf(J)Ljava/math/BigDecimal;

    move-result-object v0

    invoke-static {v0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->of(Ljava/math/BigDecimal;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

    move-result-object v0

    return-object v0
.end method

.method public static of(Ljava/math/BigDecimal;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
    .registers 5

    .prologue
    .line 42
    new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

    sget-object v1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->Om:Ljava/math/BigDecimal;

    invoke-virtual {p0, v1}, Ljava/math/BigDecimal;->multiply(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;

    move-result-object v1

    invoke-virtual {v1}, Ljava/math/BigDecimal;->longValueExact()J

    move-result-wide v2

    invoke-direct {v0, v2, v3}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;-><init>(J)V

    return-object v0
.end method

.method public static ofWillets(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
    .registers 4

    .prologue
    .line 52
    new-instance v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

    invoke-direct {v0, p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;-><init>(J)V

    return-object v0
.end method


# virtual methods
.method public final bigDecimalValue()Ljava/math/BigDecimal;
    .registers 2

    .prologue
    .line 176
    invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->numberValue()Ljava/math/BigDecimal;

    move-result-object v0

    return-object v0
.end method

.method public final byteValue()B
    .registers 2

    .prologue
    .line 147
    invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->numberValue()Ljava/math/BigDecimal;

    move-result-object v0

    invoke-virtual {v0}, Ljava/math/BigDecimal;->byteValueExact()B

    move-result v0

    return v0
.end method

.method final div(Ljava/lang/Integer;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
    .registers 6

    .prologue
    .line 196
    iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->willets:J

    invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I

    move-result v2

    int-to-long v2, v2

    div-long/2addr v0, v2

    invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->ofWillets(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

    move-result-object v0

    return-object v0
.end method

.method final div(Ljava/lang/Long;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
    .registers 6

    .prologue
    .line 200
    iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->willets:J

    invoke-virtual {p1}, Ljava/lang/Long;->longValue()J

    move-result-wide v2

    div-long/2addr v0, v2

    invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->ofWillets(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

    move-result-object v0

    return-object v0
.end method

.method public final doubleValue()D
    .registers 3

    .prologue
    .line 172
    invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->doubleValueExact()D

    move-result-wide v0

    return-wide v0
.end method

.method public final doubleValueExact()D
    .registers 3

    .prologue
    .line 127
    new-instance v0, Ljava/lang/UnsupportedOperationException;

    const-string v1, "Operation not supported"

    invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method public final floatValue()F
    .registers 3

    .prologue
    .line 167
    new-instance v0, Ljava/lang/UnsupportedOperationException;

    const-string v1, "Operation not supported"

    invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method public final getAmountFractionDenominator()J
    .registers 3

    .prologue
    .line 142
    new-instance v0, Ljava/lang/UnsupportedOperationException;

    const-string v1, "Operation not supported"

    invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method public final getAmountFractionNumerator()J
    .registers 3

    .prologue
    .line 137
    new-instance v0, Ljava/lang/UnsupportedOperationException;

    const-string v1, "Operation not supported"

    invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method public final getNumberType()Ljava/lang/Class;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/lang/Class",
            "<",
            "Ljava/math/BigDecimal;",
            ">;"
        }
    .end annotation

    .prologue
    .line 96
    const-class v0, Ljava/math/BigDecimal;

    return-object v0
.end method

.method public final getPrecision()I
    .registers 2

    .prologue
    .line 107
    sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->DEFAULT_CONTEXT:Ljava/math/MathContext;

    invoke-virtual {v0}, Ljava/math/MathContext;->getPrecision()I

    move-result v0

    return v0
.end method

.method public final getPropertyType()Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;
    .registers 2

    .prologue
    .line 91
    sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;->Oo:Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;

    return-object v0
.end method

.method public final getScale()I
    .registers 2

    .prologue
    .line 112
    const/16 v0, 0x8

    return v0
.end method

.method public final intValue()I
    .registers 2

    .prologue
    .line 157
    invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->intValueExact()I

    move-result v0

    return v0
.end method

.method public final intValueExact()I
    .registers 2

    .prologue
    .line 117
    invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->numberValue()Ljava/math/BigDecimal;

    move-result-object v0

    invoke-virtual {v0}, Ljava/math/BigDecimal;->intValueExact()I

    move-result v0

    return v0
.end method

.method public final longValue()J
    .registers 3

    .prologue
    .line 162
    invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->longValueExact()J

    move-result-wide v0

    return-wide v0
.end method

.method public final longValueExact()J
    .registers 3

    .prologue
    .line 122
    invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->numberValue()Ljava/math/BigDecimal;

    move-result-object v0

    invoke-virtual {v0}, Ljava/math/BigDecimal;->longValueExact()J

    move-result-wide v0

    return-wide v0
.end method

.method public final minus(Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
    .registers 6

    .prologue
    .line 184
    iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->willets:J

    iget-wide v2, p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->willets:J

    sub-long/2addr v0, v2

    invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->ofWillets(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

    move-result-object v0

    return-object v0
.end method

.method final multiply(Ljava/lang/Integer;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
    .registers 6

    .prologue
    .line 188
    iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->willets:J

    invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I

    move-result v2

    int-to-long v2, v2

    mul-long/2addr v0, v2

    invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->ofWillets(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

    move-result-object v0

    return-object v0
.end method

.method final multiply(Ljava/lang/Long;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
    .registers 6

    .prologue
    .line 192
    iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->willets:J

    invoke-virtual {p1}, Ljava/lang/Long;->longValue()J

    move-result-wide v2

    mul-long/2addr v0, v2

    invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->ofWillets(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

    move-result-object v0

    return-object v0
.end method

.method public final bridge synthetic numberValue()Ljava/lang/Number;
    .registers 2

    .prologue
    .line 15
    invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->numberValue()Ljava/math/BigDecimal;

    move-result-object v0

    return-object v0
.end method

.method public final numberValue()Ljava/math/BigDecimal;
    .registers 5

    .prologue
    .line 101
    new-instance v0, Ljava/math/BigDecimal;

    iget-wide v2, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->willets:J

    invoke-direct {v0, v2, v3}, Ljava/math/BigDecimal;-><init>(J)V

    .line 102
    sget-object v1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->Om:Ljava/math/BigDecimal;

    const/16 v2, 0x8

    sget-object v3, Ljava/math/RoundingMode;->UNNECESSARY:Ljava/math/RoundingMode;

    invoke-virtual {v0, v1, v2, v3}, Ljava/math/BigDecimal;->divide(Ljava/math/BigDecimal;ILjava/math/RoundingMode;)Ljava/math/BigDecimal;

    move-result-object v0

    return-object v0
.end method

.method public final plus(Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
    .registers 6

    .prologue
    .line 180
    iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->willets:J

    iget-wide v2, p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->willets:J

    add-long/2addr v0, v2

    invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->ofWillets(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

    move-result-object v0

    return-object v0
.end method

.method public final round(Ljava/math/MathContext;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
    .registers 3

    .prologue
    .line 132
    invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->numberValue()Ljava/math/BigDecimal;

    move-result-object v0

    invoke-virtual {v0, p1}, Ljava/math/BigDecimal;->round(Ljava/math/MathContext;)Ljava/math/BigDecimal;

    move-result-object v0

    invoke-static {v0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->of(Ljava/math/BigDecimal;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

    move-result-object v0

    return-object v0
.end method

.method public final bridge synthetic round(Ljava/math/MathContext;)Ljavax/money/NumberValue;
    .registers 3

    .prologue
    .line 15
    invoke-virtual {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->round(Ljava/math/MathContext;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;

    move-result-object v0

    return-object v0
.end method

.method public final shortValue()S
    .registers 2

    .prologue
    .line 152
    invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->numberValue()Ljava/math/BigDecimal;

    move-result-object v0

    invoke-virtual {v0}, Ljava/math/BigDecimal;->shortValueExact()S

    move-result v0

    return v0
.end method