示例#1
0
文件: rat.go 项目: ncw/gmp
// Cmp compares z and y and returns:
//
//   -1 if z <  y
//    0 if z == y
//   +1 if z >  y
//
func (z *Rat) Cmp(y *Rat) (r int) {
	z.doinit()
	y.doinit()
	r = int(C.mpq_cmp(&z.i[0], &y.i[0]))
	if r < 0 {
		r = -1
	} else if r > 0 {
		r = 1
	}
	return
}
示例#2
0
文件: rat.go 项目: jamesadney/gmp
// Cmp compares x and y and returns:
//
//   -1 if x <  y
//    0 if x == y
//   +1 if x >  y
//
func (x *Rat) Cmp(y *Rat) int {
	x.doinit()
	y.doinit()

	switch cmp := int(C.mpq_cmp(&x.i[0], &y.i[0])); {
	case cmp < 0:
		return -1
	case cmp == 0:
		return 0
	}
	return 1
}
示例#3
0
文件: gogmp.go 项目: i-neda/gogmp
func CmpRat(x, y *Rat) int {
	x.doinit()
	y.doinit()
	return int(C.mpq_cmp(&x.i[0], &y.i[0]))
}