parent
f8c486ea1b
commit
0a0f8c58a2
@ -0,0 +1,28 @@ |
||||
pragma solidity ^0.4.0; |
||||
|
||||
/** |
||||
* Math operations with safety checks |
||||
*/ |
||||
contract SafeMath { |
||||
function safeMul(uint a, uint b) internal returns (uint) { |
||||
uint c = a * b; |
||||
assert(a == 0 || c / a == b); |
||||
return c; |
||||
} |
||||
|
||||
function safeSub(uint a, uint b) internal returns (uint) { |
||||
assert(b <= a); |
||||
return a - b; |
||||
} |
||||
|
||||
function safeAdd(uint a, uint b) internal returns (uint) { |
||||
uint c = a + b; |
||||
assert(c>=a && c>=b); |
||||
return c; |
||||
} |
||||
|
||||
function assert(bool assertion) internal { |
||||
if (!assertion) throw; |
||||
} |
||||
} |
||||
|
Loading…
Reference in new issue