SafeMath.sol 534 B

12345678910111213141516171819202122232425262728
  1. pragma solidity ^0.4.4;
  2. /**
  3. * Math operations with safety checks
  4. */
  5. contract SafeMath {
  6. function safeMul(uint a, uint b) internal returns (uint) {
  7. uint c = a * b;
  8. assert(a == 0 || c / a == b);
  9. return c;
  10. }
  11. function safeSub(uint a, uint b) internal returns (uint) {
  12. assert(b <= a);
  13. return a - b;
  14. }
  15. function safeAdd(uint a, uint b) internal returns (uint) {
  16. uint c = a + b;
  17. assert(c>=a && c>=b);
  18. return c;
  19. }
  20. function assert(bool assertion) internal {
  21. if (!assertion) throw;
  22. }
  23. }