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