> For the complete documentation index, see [llms.txt](https://docs.evo.market/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.evo.market/technical/clmm/examples/tick-math.md).

# Tick Math

* **Name**: `evoswap::tick_math`
* **Description**: This module provides functions to work with ticks and their corresponding square root prices. In EVO, the square root price is represented in a fixed-point format 48x80, using a `u128` number.

#### Sqrt Price Formula <a href="#sqrt-price-formula" id="sqrt-price-formula"></a>

To compute the client-side square root price (`sqrt_price_x80`), use the following formula:

`sqrt_price_x80 = floor(sqrt(price) * 2^80)`

For example, if the price is 1.5, then:

`sqrt_price_x80 = floor(sqrt(1.5) * 2^80) = 1480625697465890259337216`

## Public Functions <a href="#public-functions" id="public-functions"></a>

**Calculate Tick from Square Root Price**

CommentShare feedback on the editorCalculates the tick value corresponding to a given square root price.

```
public fun get_tick_at_sqrt_price(sqrt_price: u128): u32
```

**Function Parameters**

| `sqrt_price` | `u128` | The square root price in fixed-point format 48x80. |
| ------------ | ------ | -------------------------------------------------- |

**Return Value**

| `u32` | The tick value corresponding to the given sqrt\_price. |
| ----- | ------------------------------------------------------ |
