> For the complete documentation index, see [llms.txt](https://docs.fringe.fi/v2-smart-contract-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fringe.fi/v2-smart-contract-documentation/priceoracle/priceproviders/uniswapv3/v3-core/libraries/tickmath.md).

# TickMath

## Overview

#### License: GPL-2.0-or-later

```solidity
library TickMath
```

Computes sqrt price for ticks of size 1.0001, i.e. sqrt(1.0001^tick) as fixed point Q64.96 numbers. Supports prices between 2\*\*-128 and 2\*\*128

## Functions info

### getSqrtRatioAtTick

```solidity
function getSqrtRatioAtTick(
    int24 tick
) internal pure returns (uint160 sqrtPriceX96)
```

Calculates sqrt(1.0001^tick) \* 2^96

Throws if |tick| > max tick

Parameters:

| Name | Type  | Description                          |
| ---- | ----- | ------------------------------------ |
| tick | int24 | The input tick for the above formula |

Return values:

| Name              | Type    | Description                                                                                      |
| ----------------- | ------- | ------------------------------------------------------------------------------------------------ |
| sqrtPriceX96      | uint160 | A Fixed point Q64.96 number representing the sqrt of the ratio of the two assets (token1/token0) |
| at the given tick |         |                                                                                                  |

### getTickAtSqrtRatio

```solidity
function getTickAtSqrtRatio(
    uint160 sqrtPriceX96
) internal pure returns (int24 tick)
```

Calculates the greatest tick value such that getRatioAtTick(tick) <= ratio

Throws in case sqrtPriceX96 < MIN\_SQRT\_RATIO, as MIN\_SQRT\_RATIO is the lowest value getRatioAtTick may ever return.

Parameters:

| Name         | Type    | Description                                              |
| ------------ | ------- | -------------------------------------------------------- |
| sqrtPriceX96 | uint160 | The sqrt ratio for which to compute the tick as a Q64.96 |

Return values:

| Name | Type  | Description                                                                    |
| ---- | ----- | ------------------------------------------------------------------------------ |
| tick | int24 | The greatest tick for which the ratio is less than or equal to the input ratio |
