MCPcopy Create free account
hub / github.com/Hiro420/NikkeTools / LDoubleNumber

Class LDoubleNumber

UnLuac/src/unluac/parse/LNumber.java:74–122  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

72}
73
74class LDoubleNumber extends LNumber {
75
76 public final double number;
77 public final LNumberType.NumberMode mode;
78
79 public LDoubleNumber(double number, LNumberType.NumberMode mode) {
80 this.number = number;
81 this.mode = mode;
82 }
83
84 @Override
85 public String toPrintString() {
86 if(mode == LNumberType.NumberMode.MODE_NUMBER && number == (double) Math.round(number)) {
87 if(Double.doubleToRawLongBits(number) == Double.doubleToRawLongBits(-0.0)) {
88 return "-0";
89 } else {
90 return Long.toString((long) number);
91 }
92 } else {
93 return Double.toString(number);
94 }
95 }
96
97 @Override
98 public boolean equals(Object o) {
99 if(o instanceof LDoubleNumber) {
100 return Double.doubleToRawLongBits(number) == Double.doubleToRawLongBits(((LDoubleNumber) o).number);
101 } else if(o instanceof LNumber) {
102 return value() == ((LNumber) o).value();
103 }
104 return false;
105 }
106
107 @Override
108 public double value() {
109 return number;
110 }
111
112 @Override
113 public boolean integralType() {
114 return false;
115 }
116
117 @Override
118 public long bits() {
119 return Double.doubleToRawLongBits(number);
120 }
121
122}
123
124class LIntNumber extends LNumber {
125

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected