Math.sol 508 B

123456789101112131415161718192021
  1. pragma solidity ^0.4.24;
  2. /**
  3. * @title Math
  4. * @dev Assorted math operations
  5. */
  6. library Math {
  7. function max(uint256 _a, uint256 _b) internal pure returns (uint256) {
  8. return _a >= _b ? _a : _b;
  9. }
  10. function min(uint256 _a, uint256 _b) internal pure returns (uint256) {
  11. return _a < _b ? _a : _b;
  12. }
  13. function average(uint256 _a, uint256 _b) internal pure returns (uint256) {
  14. // (_a + _b) / 2 can overflow, so we distribute
  15. return (_a / 2) + (_b / 2) + ((_a % 2 + _b % 2) / 2);
  16. }
  17. }