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

Class LFloatNumber

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

Source from the content-addressed store, hash-verified

22}
23
24class LFloatNumber extends LNumber {
25
26 public final float number;
27 public final LNumberType.NumberMode mode;
28
29 public LFloatNumber(float number, LNumberType.NumberMode mode) {
30 this.number = number;
31 this.mode = mode;
32 }
33
34 @Override
35 public String toPrintString() {
36 if(mode == LNumberType.NumberMode.MODE_NUMBER && number == (float) Math.round(number)) {
37 if(Float.floatToRawIntBits(number) == Float.floatToRawIntBits(-0.0f)) {
38 return "-0";
39 } else {
40 return Integer.toString((int) number);
41 }
42 } else {
43 return Float.toString(number);
44 }
45 }
46
47 @Override
48 public boolean equals(Object o) {
49 if(o instanceof LFloatNumber) {
50 return Float.floatToRawIntBits(number) == Float.floatToRawIntBits(((LFloatNumber) o).number);
51 } else if(o instanceof LNumber) {
52 return value() == ((LNumber) o).value();
53 }
54 return false;
55 }
56
57 @Override
58 public double value() {
59 return number;
60 }
61
62 @Override
63 public boolean integralType() {
64 return false;
65 }
66
67 @Override
68 public long bits() {
69 return Float.floatToRawIntBits(number);
70 }
71
72}
73
74class LDoubleNumber extends LNumber {
75

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected