func (z *e2) ToMont() *e2 {
	z.A0.ToMont()
	z.A1.ToMont()
	return z
}
ToMont converts to mont form
package bn256
import (
	"github.com/consensys/gurvy/bn256/fp"
)
type e2 struct {
	A0, A1 fp.Element
}
func (z *e2) SetString(s1, s2 string) *e2 {
	z.A0.SetString(s1)
	z.A1.SetString(s2)
	return z
}
func (z *e2) SetZero() *e2 {
	z.A0.SetZero()
	z.A1.SetZero()
	return z
}
func (z *e2) Clone() *e2 {
	return &e2{
		A0: z.A0,
		A1: z.A1,
	}
}
func (z *e2) Set(x *e2) *e2 {
	z.A0.Set(&x.A0)
	z.A1.Set(&x.A1)
	return z
}
func (z *e2) SetOne() *e2 {
	z.A0.SetOne()
	z.A1.SetZero()
	return z
}
func (z *e2) SetRandom() *e2 {
	z.A0.SetRandom()
	z.A1.SetRandom()
	return z
}
func (z *e2) Equal(x *e2) bool {
	return z.A0.Equal(&x.A0) && z.A1.Equal(&x.A1)
}
func (z *e2) IsZero() bool {
	return z.A0.IsZero() && z.A1.IsZero()
}
func (z *e2) Neg(x *e2) *e2 {
	z.A0.Neg(&x.A0)
	z.A1.Neg(&x.A1)
	return z
}
func (z *e2) String() string {
	return (z.A0.String() + "+" + z.A1.String() + "*u")
}