Add safeDiv and min/max functions to SafeMath

This commit is contained in:
Jorge Izquierdo
2017-02-10 16:17:02 +01:00
parent abc646a95c
commit 917b129517
2 changed files with 25 additions and 10 deletions

View File

@ -11,6 +11,13 @@ contract SafeMath {
return c;
}
function safeDiv(uint a, uint b) internal returns (uint) {
assert(b > 0);
uint c = a / b;
assert(a == b * c + a % b);
return c;
}
function safeSub(uint a, uint b) internal returns (uint) {
assert(b <= a);
return a - b;
@ -22,6 +29,22 @@ contract SafeMath {
return c;
}
function max64(uint64 a, uint64 b) internal constant returns (uint64) {
return a >= b ? a : b;
}
function min64(uint64 a, uint64 b) internal constant returns (uint64) {
return a < b ? a : b;
}
function max256(uint256 a, uint256 b) internal constant returns (uint256) {
return a >= b ? a : b;
}
function min256(uint256 a, uint256 b) internal constant returns (uint256) {
return a < b ? a : b;
}
function assert(bool assertion) internal {
if (!assertion) throw;
}