go/src/math/big/alias_test.go

func equal(z, x *big.Int) bool {}

type bigInt

func generatePositiveInt(rand *rand.Rand, size int) *big.Int {}

func (bigInt) Generate(rand *rand.Rand, size int) reflect.Value {}

type notZeroInt

func (notZeroInt) Generate(rand *rand.Rand, size int) reflect.Value {}

type positiveInt

func (positiveInt) Generate(rand *rand.Rand, size int) reflect.Value {}

type prime

func (prime) Generate(r *rand.Rand, size int) reflect.Value {}

type zeroOrOne

func (zeroOrOne) Generate(rand *rand.Rand, size int) reflect.Value {}

type smallUint

func (smallUint) Generate(rand *rand.Rand, size int) reflect.Value {}

// checkAliasingOneArg checks if f returns a correct result when v and x alias.
//
// f is a function that takes x as an argument, doesn't modify it, sets v to the
// result, and returns v. It is the function signature of unbound methods like
//
//	func (v *big.Int) m(x *big.Int) *big.Int
//
// v and x are two random Int values. v is randomized even if it will be
// overwritten to test for improper buffer reuse.
func checkAliasingOneArg(t *testing.T, f func(v, x *big.Int) *big.Int, v, x *big.Int) bool {}

// checkAliasingTwoArgs checks if f returns a correct result when any
// combination of v, x and y alias.
//
// f is a function that takes x and y as arguments, doesn't modify them, sets v
// to the result, and returns v. It is the function signature of unbound methods
// like
//
//	func (v *big.Int) m(x, y *big.Int) *big.Int
//
// v, x and y are random Int values. v is randomized even if it will be
// overwritten to test for improper buffer reuse.
func checkAliasingTwoArgs(t *testing.T, f func(v, x, y *big.Int) *big.Int, v, x, y *big.Int) bool {}

func TestAliasing(t *testing.T) {}