1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- // SPDX-License-Identifier: MIT
- // OpenZeppelin Contracts v4.4.1 (utils/math/SignedSafeMath.sol)
- pragma solidity ^0.8.0;
- /**
- * @dev Wrappers over Solidity's arithmetic operations.
- *
- * NOTE: `SignedSafeMath` is no longer needed starting with Solidity 0.8. The compiler
- * now has built in overflow checking.
- */
- library SignedSafeMath {
- /**
- * @dev Returns the multiplication of two signed integers, reverting on
- * overflow.
- *
- * Counterpart to Solidity's `*` operator.
- *
- * Requirements:
- *
- * - Multiplication cannot overflow.
- */
- function mul(int256 a, int256 b) internal pure returns (int256) {
- return a * b;
- }
- /**
- * @dev Returns the integer division of two signed integers. Reverts on
- * division by zero. The result is rounded towards zero.
- *
- * Counterpart to Solidity's `/` operator.
- *
- * Requirements:
- *
- * - The divisor cannot be zero.
- */
- function div(int256 a, int256 b) internal pure returns (int256) {
- return a / b;
- }
- /**
- * @dev Returns the subtraction of two signed integers, reverting on
- * overflow.
- *
- * Counterpart to Solidity's `-` operator.
- *
- * Requirements:
- *
- * - Subtraction cannot overflow.
- */
- function sub(int256 a, int256 b) internal pure returns (int256) {
- return a - b;
- }
- /**
- * @dev Returns the addition of two signed integers, reverting on
- * overflow.
- *
- * Counterpart to Solidity's `+` operator.
- *
- * Requirements:
- *
- * - Addition cannot overflow.
- */
- function add(int256 a, int256 b) internal pure returns (int256) {
- return a + b;
- }
- }
|