12345678910111213141516171819202122232425262728 |
- pragma solidity ^0.4.4;
- /**
- * 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;
- }
- }
|