Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

API

full_math_u32

Module0x8006…00bb
Move path
0x91bf…9ca1::full_math_u32
Functions
66 public, 0 entry
Structs
0
Friend modules
None
full_math_u32

Bytecode83 lines

The on-chain disassembly. Offsets are bytecode positions within each function.

// Move bytecode v6
module 91bfbc386a41afcfd9b2533058d7e915a1d3829089cc268ff4333d54d6339ca1.full_math_u32 {
 
public mul_div_floor(Arg0: u32, Arg1: u32, Arg2: u32): u32 {
B0:
0MoveLoc[0](Arg0: u32)
1MoveLoc[1](Arg1: u32)
2Call full_mul(u32, u32): u64
3MoveLoc[2](Arg2: u32)
4CastU64
5Div
6CastU32
7Ret
}
 
public mul_div_round(Arg0: u32, Arg1: u32, Arg2: u32): u32 {
B0:
0MoveLoc[0](Arg0: u32)
1MoveLoc[1](Arg1: u32)
2Call full_mul(u32, u32): u64
3CopyLoc[2](Arg2: u32)
4CastU64
5LdU8(1)
6Shr
7Add
8MoveLoc[2](Arg2: u32)
9CastU64
10Div
11CastU32
12Ret
}
 
public mul_div_ceil(Arg0: u32, Arg1: u32, Arg2: u32): u32 {
B0:
0MoveLoc[0](Arg0: u32)
1MoveLoc[1](Arg1: u32)
2Call full_mul(u32, u32): u64
3CopyLoc[2](Arg2: u32)
4CastU64
5LdU64(1)
6Sub
7Add
8MoveLoc[2](Arg2: u32)
9CastU64
10Div
11CastU32
12Ret
}
 
public mul_shr(Arg0: u32, Arg1: u32, Arg2: u8): u32 {
B0:
0MoveLoc[0](Arg0: u32)
1MoveLoc[1](Arg1: u32)
2Call full_mul(u32, u32): u64
3MoveLoc[2](Arg2: u8)
4Shr
5CastU32
6Ret
}
 
public mul_shl(Arg0: u32, Arg1: u32, Arg2: u8): u32 {
B0:
0MoveLoc[0](Arg0: u32)
1MoveLoc[1](Arg1: u32)
2Call full_mul(u32, u32): u64
3MoveLoc[2](Arg2: u8)
4Shl
5CastU32
6Ret
}
 
public full_mul(Arg0: u32, Arg1: u32): u64 {
B0:
0MoveLoc[0](Arg0: u32)
1CastU64
2MoveLoc[1](Arg1: u32)
3CastU64
4Mul
5Ret
}
 
}