fixed_point32
Module0x0000…0001
- Move path
- 0x0000…0001::fixed_point32
- Functions
- 66 public, 0 entry
- Structs
- 1
- Friend modules
- None
fixed_point32
Bytecode178 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v7
module 1.fixed_point32 {
struct FixedPoint32 has copy, drop, store {
value: u64
}
public multiply_u64(Arg0: u64, Arg1: FixedPoint32): u64 {
L2: loc0: u128
B0:
0MoveLoc[0](Arg0: u64)
1CastU128
2ImmBorrowLoc[1](Arg1: FixedPoint32)
3ImmBorrowField[0](FixedPoint32.value: u64)
4ReadRef
5CastU128
6Mul
7LdU8(32)
8Shr
9StLoc[2](loc0: u128)
10CopyLoc[2](loc0: u128)
11LdConst[0](u128: 1844..)
12Le
13BrFalse(15)
B1:
14Branch(17)
B2:
15LdConst[3](u64: 131075)
16Abort
B3:
17MoveLoc[2](loc0: u128)
18CastU64
19Ret
}
public divide_u64(Arg0: u64, Arg1: FixedPoint32): u64 {
L2: loc0: u128
B0:
0ImmBorrowLoc[1](Arg1: FixedPoint32)
1ImmBorrowField[0](FixedPoint32.value: u64)
2ReadRef
3LdU64(0)
4Neq
5BrFalse(7)
B1:
6Branch(9)
B2:
7LdConst[4](u64: 65540)
8Abort
B3:
9MoveLoc[0](Arg0: u64)
10CastU128
11LdU8(32)
12Shl
13ImmBorrowLoc[1](Arg1: FixedPoint32)
14ImmBorrowField[0](FixedPoint32.value: u64)
15ReadRef
16CastU128
17Div
18StLoc[2](loc0: u128)
19CopyLoc[2](loc0: u128)
20LdConst[0](u128: 1844..)
21Le
22BrFalse(24)
B4:
23Branch(26)
B5:
24LdConst[2](u64: 131074)
25Abort
B6:
26MoveLoc[2](loc0: u128)
27CastU64
28Ret
}
public create_from_rational(Arg0: u64, Arg1: u64): FixedPoint32 {
L2: loc0: bool
L3: loc1: u128
L4: loc2: u128
L5: loc3: u128
B0:
0CopyLoc[0](Arg0: u64)
1CastU128
2LdU8(64)
3Shl
4StLoc[5](loc3: u128)
5MoveLoc[1](Arg1: u64)
6CastU128
7LdU8(32)
8Shl
9StLoc[4](loc2: u128)
10CopyLoc[4](loc2: u128)
11LdU128(0)
12Neq
13BrFalse(15)
B1:
14Branch(17)
B2:
15LdConst[1](u64: 65537)
16Abort
B3:
17MoveLoc[5](loc3: u128)
18MoveLoc[4](loc2: u128)
19Div
20StLoc[3](loc1: u128)
21CopyLoc[3](loc1: u128)
22LdU128(0)
23Neq
24BrFalse(28)
B4:
25LdTrue
26StLoc[2](loc0: bool)
27Branch(32)
B5:
28MoveLoc[0](Arg0: u64)
29LdU64(0)
30Eq
31StLoc[2](loc0: bool)
B6:
32MoveLoc[2](loc0: bool)
33BrFalse(35)
B7:
34Branch(37)
B8:
35LdConst[5](u64: 131077)
36Abort
B9:
37CopyLoc[3](loc1: u128)
38LdConst[0](u128: 1844..)
39Le
40BrFalse(42)
B10:
41Branch(44)
B11:
42LdConst[5](u64: 131077)
43Abort
B12:
44MoveLoc[3](loc1: u128)
45CastU64
46Pack[0](FixedPoint32)
47Ret
}
public create_from_raw_value(Arg0: u64): FixedPoint32 {
B0:
0MoveLoc[0](Arg0: u64)
1Pack[0](FixedPoint32)
2Ret
}
public get_raw_value(Arg0: FixedPoint32): u64 {
B0:
0ImmBorrowLoc[0](Arg0: FixedPoint32)
1ImmBorrowField[0](FixedPoint32.value: u64)
2ReadRef
3Ret
}
public is_zero(Arg0: FixedPoint32): bool {
B0:
0ImmBorrowLoc[0](Arg0: FixedPoint32)
1ImmBorrowField[0](FixedPoint32.value: u64)
2ReadRef
3LdU64(0)
4Eq
5Ret
}
Constants [
0 => u128: 18446744073709551615
1 => u64: 65537
2 => u64: 131074
3 => u64: 131075
4 => u64: 65540
5 => u64: 131077
]
}