Beispiel #1
0
Datei: int.go Projekt: locusf/gmp
// AndNot sets z = x &^ y and returns z.
func (z *Int) AndNot(x, y *Int) *Int {
	x.doinit()
	y.doinit()
	z.doinit()
	t := z
	aliased := false
	if z == y || z == x {
		aliased = true
		t = new(Int).Set(y)
	}
	C.mpz_com(&t.i[0], &y.i[0])
	C.mpz_and(&z.i[0], &x.i[0], &t.i[0])
	if aliased {
		t.Clear()
	}
	return z
}
Beispiel #2
0
// Not sets z = ^x and returns z.
func (z *Int) Not(x *Int) *Int {
	z.doinit()
	x.doinit()
	C.mpz_com(z.ptr, x.ptr)
	return z
}
Beispiel #3
0
Datei: int.go Projekt: locusf/gmp
// Not sets z = ^x and returns z.
func (z *Int) Not(x *Int) *Int {
	x.doinit()
	z.doinit()
	C.mpz_com(&z.i[0], &x.i[0])
	return z
}