github.com/0xPolygon/supernets2-node@v0.0.0-20230711153321-2fe574524eaa/test/contracts/uniswap/v2/Math.sol (about) 1 pragma solidity =0.5.16; 2 3 // a library for performing various math operations 4 5 library Math { 6 function min(uint x, uint y) internal pure returns (uint z) { 7 z = x < y ? x : y; 8 } 9 10 // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method) 11 function sqrt(uint y) internal pure returns (uint z) { 12 if (y > 3) { 13 z = y; 14 uint x = y / 2 + 1; 15 while (x < z) { 16 z = x; 17 x = (y / x + x) / 2; 18 } 19 } else if (y != 0) { 20 z = 1; 21 } 22 } 23 }