75 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
pragma solidity ^0.4.11;
 | 
						|
 | 
						|
contract SafeMath {
 | 
						|
    function safeMul(uint a, uint b)
 | 
						|
        internal
 | 
						|
        constant 
 | 
						|
        returns (uint256) 
 | 
						|
    {
 | 
						|
        uint c = a * b;
 | 
						|
        assert(a == 0 || c / a == b);
 | 
						|
        return c;
 | 
						|
    }
 | 
						|
 | 
						|
    function safeDiv(uint a, uint b)
 | 
						|
        internal 
 | 
						|
        constant 
 | 
						|
        returns (uint256) 
 | 
						|
    {
 | 
						|
        uint c = a / b;
 | 
						|
        return c;
 | 
						|
    }
 | 
						|
 | 
						|
    function safeSub(uint a, uint b) 
 | 
						|
        internal 
 | 
						|
        constant 
 | 
						|
        returns (uint256) 
 | 
						|
    {
 | 
						|
        assert(b <= a);
 | 
						|
        return a - b;
 | 
						|
    }
 | 
						|
 | 
						|
    function safeAdd(uint a, uint b) 
 | 
						|
        internal 
 | 
						|
        constant 
 | 
						|
        returns (uint256) 
 | 
						|
    {
 | 
						|
        uint c = a + b;
 | 
						|
        assert(c >= a);
 | 
						|
        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;
 | 
						|
    }
 | 
						|
}
 | 
						|
 |