package uniswap import ( "math/big" "testing" "github.com/holiman/uint256" ) func BenchmarkSqrtPriceX96ToPrice(b *testing.B) { // Create a test sqrtPriceX96 value sqrtPriceX96 := new(big.Int) sqrtPriceX96.SetString("79228162514264337593543950336", 10) // 2^96 b.ResetTimer() for i := 0; i < b.N; i++ { _ = SqrtPriceX96ToPrice(sqrtPriceX96) } } func BenchmarkPriceToSqrtPriceX96(b *testing.B) { // Create a test price value price := new(big.Float).SetFloat64(1.0) b.ResetTimer() for i := 0; i < b.N; i++ { _ = PriceToSqrtPriceX96(price) } } func BenchmarkTickToSqrtPriceX96(b *testing.B) { tick := 100000 b.ResetTimer() for i := 0; i < b.N; i++ { _ = TickToSqrtPriceX96(tick) } } func BenchmarkSqrtPriceX96ToTick(b *testing.B) { // Create a test sqrtPriceX96 value sqrtPriceX96 := new(big.Int) sqrtPriceX96.SetString("79228162514264337593543950336", 10) // 2^96 b.ResetTimer() for i := 0; i < b.N; i++ { _ = SqrtPriceX96ToTick(sqrtPriceX96) } } func BenchmarkGetTickAtSqrtPrice(b *testing.B) { // Create a test sqrtPriceX96 value using uint256 bigInt := new(big.Int) bigInt.SetString("79228162514264337593543950336", 10) sqrtPriceX96, _ := uint256.FromBig(bigInt) b.ResetTimer() for i := 0; i < b.N; i++ { _ = GetTickAtSqrtPrice(sqrtPriceX96) } } func BenchmarkGetNextTick(b *testing.B) { currentTick := 100000 tickSpacing := MediumTickSpacing b.ResetTimer() for i := 0; i < b.N; i++ { _ = GetNextTick(currentTick, tickSpacing) } } func BenchmarkGetPreviousTick(b *testing.B) { currentTick := 100000 tickSpacing := MediumTickSpacing b.ResetTimer() for i := 0; i < b.N; i++ { _ = GetPreviousTick(currentTick, tickSpacing) } }