Skip to content

Commit

Permalink
remove unnecessary conversions
Browse files Browse the repository at this point in the history
  • Loading branch information
pause125 committed Oct 30, 2022
1 parent d04265c commit 34bda9b
Show file tree
Hide file tree
Showing 9 changed files with 21 additions and 21 deletions.
Binary file modified build/StarcoinFramework/bytecode_modules/SignedInteger64.mv
Binary file not shown.
16 changes: 8 additions & 8 deletions build/StarcoinFramework/docs/SignedInteger64.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ Multiply a u64 integer by a signed integer number.

<pre><code><b>public</b> <b>fun</b> <a href="SignedInteger64.md#0x1_SignedInteger64_multiply_u64">multiply_u64</a>(num: u64, multiplier: <a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a>): <a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> {
<b>let</b> product = multiplier.value * num;
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: (product <b>as</b> u64), is_negative: multiplier.is_negative }
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: product, is_negative: multiplier.is_negative }
}
</code></pre>

Expand Down Expand Up @@ -111,7 +111,7 @@ Divide a u64 integer by a signed integer number.

<pre><code><b>public</b> <b>fun</b> <a href="SignedInteger64.md#0x1_SignedInteger64_divide_u64">divide_u64</a>(num: u64, divisor: <a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a>): <a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> {
<b>let</b> quotient = num / divisor.value;
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: (quotient <b>as</b> u64), is_negative: divisor.is_negative }
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: quotient, is_negative: divisor.is_negative }
}
</code></pre>

Expand Down Expand Up @@ -150,14 +150,14 @@ Sub: <code>num - minus</code>
<pre><code><b>public</b> <b>fun</b> <a href="SignedInteger64.md#0x1_SignedInteger64_sub_u64">sub_u64</a>(num: u64, minus: <a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a>): <a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> {
<b>if</b> (minus.is_negative) {
<b>let</b> result = num + minus.value;
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: (result <b>as</b> u64), is_negative: <b>false</b> }
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: result, is_negative: <b>false</b> }
} <b>else</b> {
<b>if</b> (num &gt;= minus.value) {
<b>let</b> result = num - minus.value;
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: (result <b>as</b> u64), is_negative: <b>false</b> }
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: result, is_negative: <b>false</b> }
}<b>else</b> {
<b>let</b> result = minus.value - num;
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: (result <b>as</b> u64), is_negative: <b>true</b> }
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: result, is_negative: <b>true</b> }
}
}
}
Expand Down Expand Up @@ -199,14 +199,14 @@ Add: <code>num + addend</code>
<b>if</b> (addend.is_negative) {
<b>if</b> (num &gt;= addend.value) {
<b>let</b> result = num - addend.value;
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: (result <b>as</b> u64), is_negative: <b>false</b> }
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: result, is_negative: <b>false</b> }
}<b>else</b> {
<b>let</b> result = addend.value - num;
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: (result <b>as</b> u64), is_negative: <b>true</b> }
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: result, is_negative: <b>true</b> }
}
} <b>else</b> {
<b>let</b> result = num + addend.value;
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: (result <b>as</b> u64), is_negative: <b>false</b> }
<a href="SignedInteger64.md#0x1_SignedInteger64">SignedInteger64</a> { value: result, is_negative: <b>false</b> }
}
}
</code></pre>
Expand Down
Binary file modified build/StarcoinFramework/source_maps/SignedInteger64.mvsm
Binary file not shown.
2 changes: 1 addition & 1 deletion integration-tests/signed_integer/add.exp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ processed 3 tasks

task 2 'run'. lines 5-41:
{
"gas_used": 100737,
"gas_used": 100723,
"status": "Executed"
}
2 changes: 1 addition & 1 deletion integration-tests/signed_integer/add_overflow.exp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ task 2 'run'. lines 5-16:
}
},
"function": 0,
"code_offset": 42
"code_offset": 40
}
}
}
2 changes: 1 addition & 1 deletion integration-tests/signed_integer/divide.exp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ processed 3 tasks

task 2 'run'. lines 5-26:
{
"gas_used": 53261,
"gas_used": 53253,
"status": "Executed"
}
2 changes: 1 addition & 1 deletion integration-tests/signed_integer/multiply.exp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ processed 3 tasks

task 2 'run'. lines 5-23:
{
"gas_used": 45726,
"gas_used": 45720,
"status": "Executed"
}
2 changes: 1 addition & 1 deletion integration-tests/signed_integer/sub.exp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ processed 3 tasks

task 2 'run'. lines 5-36:
{
"gas_used": 84873,
"gas_used": 84861,
"status": "Executed"
}
16 changes: 8 additions & 8 deletions sources/SignedInteger64.move
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,27 @@ module SignedInteger64 {
/// Multiply a u64 integer by a signed integer number.
public fun multiply_u64(num: u64, multiplier: SignedInteger64): SignedInteger64 {
let product = multiplier.value * num;
SignedInteger64 { value: (product as u64), is_negative: multiplier.is_negative }
SignedInteger64 { value: product, is_negative: multiplier.is_negative }
}

/// Divide a u64 integer by a signed integer number.
public fun divide_u64(num: u64, divisor: SignedInteger64): SignedInteger64 {
let quotient = num / divisor.value;
SignedInteger64 { value: (quotient as u64), is_negative: divisor.is_negative }
SignedInteger64 { value: quotient, is_negative: divisor.is_negative }
}

/// Sub: `num - minus`
public fun sub_u64(num: u64, minus: SignedInteger64): SignedInteger64 {
if (minus.is_negative) {
let result = num + minus.value;
SignedInteger64 { value: (result as u64), is_negative: false }
SignedInteger64 { value: result, is_negative: false }
} else {
if (num >= minus.value) {
let result = num - minus.value;
SignedInteger64 { value: (result as u64), is_negative: false }
SignedInteger64 { value: result, is_negative: false }
}else {
let result = minus.value - num;
SignedInteger64 { value: (result as u64), is_negative: true }
SignedInteger64 { value: result, is_negative: true }
}
}
}
Expand All @@ -46,14 +46,14 @@ module SignedInteger64 {
if (addend.is_negative) {
if (num >= addend.value) {
let result = num - addend.value;
SignedInteger64 { value: (result as u64), is_negative: false }
SignedInteger64 { value: result, is_negative: false }
}else {
let result = addend.value - num;
SignedInteger64 { value: (result as u64), is_negative: true }
SignedInteger64 { value: result, is_negative: true }
}
} else {
let result = num + addend.value;
SignedInteger64 { value: (result as u64), is_negative: false }
SignedInteger64 { value: result, is_negative: false }
}
}

Expand Down

0 comments on commit 34bda9b

Please sign in to comment.