MIR: Add remaining arithmetic operations

What

Completed remaining arithmetic operations in MIR as per #6622

How

. Addition and subtraction have direct rust counterparts;

. Edivision was implemented using rust's div_rem which gives the truncated division result. To obtain the Euclidean division result, the code checks the sign of the divisor and quotient to correctly convert one division into the other;

. Shifts for naturals have native rust counterparts, while operations in Bytes required an original solution, performing the operation out of place;

Manually testing the MR

The examples shown in Michelson reference are all already implemented and execute successfully with cargo test.

Edited by Luciano Freitas

Merge request reports

Loading