当前位置: 首页>>代码示例>>Golang>>正文


Golang C.mp_bitcnt_t函数代码示例

本文整理汇总了Golang中C.mp_bitcnt_t函数的典型用法代码示例。如果您正苦于以下问题:Golang mp_bitcnt_t函数的具体用法?Golang mp_bitcnt_t怎么用?Golang mp_bitcnt_t使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了mp_bitcnt_t函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: SetBit

// SetBit sets z to x, with x's i'th bit set to b (0 or 1).
// That is, if bit is 1 SetBit sets z = x | (1 << i);
// if bit is 0 it sets z = x &^ (1 << i). If bit is not 0 or 1,
// SetBit will panic.
func (z *Int) SetBit(x *Int, i int, b uint) *Int {
	z.doinit()

	if i < 0 {
		panic("negative bit index")
	}

	z.Set(x)
	switch b {
	case 0:
		C.mpz_clrbit(z.ptr, C.mp_bitcnt_t(i))
	case 1:
		C.mpz_setbit(z.ptr, C.mp_bitcnt_t(i))
	default:
		panic("set bit is not 0 or 1")
	}
	return z
}
开发者ID:jamesadney,项目名称:gmp,代码行数:22,代码来源:int.go

示例2: doinit

// Int promises that the zero value is a 0, but in gmp
// the zero value is a crash.  To bridge the gap, the
// init bool says whether this is a valid gmp value.
// doinit initializes f.i if it needs it.  This is not inherent
// to FFI, just a mismatch between Go's convention of
// making zero values useful and gmp's decision not to.
func (f *Float) doinit() {
	if f.init {
		return
	}
	if f.prec != 0 {
		C.mpf_init2(&f.i[0], C.mp_bitcnt_t(f.prec))
	} else {
		C.mpf_init(&f.i[0])
	}
	f.init = true
}
开发者ID:jamesadney,项目名称:gmp,代码行数:17,代码来源:float.go

示例3: EqFloat

// Return non-zero if the first n bits of x and y are equal,
// zero otherwise.  I.e., test if x and y are approximately equal.
func EqFloat(x, y *Float, n uint) int {
	x.doinit()
	y.doinit()
	return int(C.mpf_eq(&x.i[0], &y.i[0], C.mp_bitcnt_t(n)))
}
开发者ID:jamesadney,项目名称:gmp,代码行数:7,代码来源:float.go

示例4: Div2Exp

// Div2Exp sets z = x / 2^s and returns z.
func (f *Float) Div2Exp(x *Float, s uint) *Float {
	x.doinit()
	f.doinit()
	C.mpf_div_2exp(&f.i[0], &x.i[0], C.mp_bitcnt_t(s))
	return f
}
开发者ID:jamesadney,项目名称:gmp,代码行数:7,代码来源:float.go

示例5: SetDefaultPrec

func SetDefaultPrec(prec uint) {
	C.mpf_set_default_prec(C.mp_bitcnt_t(prec))
}
开发者ID:jamesadney,项目名称:gmp,代码行数:3,代码来源:float.go

示例6: SetPrecRaw

func (f *Float) SetPrecRaw(prec uint) {
	f.doinit()
	C.mpf_set_prec_raw(&f.i[0], C.mp_bitcnt_t(prec))
}
开发者ID:jamesadney,项目名称:gmp,代码行数:4,代码来源:float.go

示例7: SetPrec

func (f *Float) SetPrec(prec uint) {
	f.doinit()
	C.mpf_set_prec(&f.i[0], C.mp_bitcnt_t(prec))
	f.prec = prec
}
开发者ID:jamesadney,项目名称:gmp,代码行数:5,代码来源:float.go

示例8: Rsh

// Rsh sets z = x >> s and returns z.
func (z *Int) Rsh(x *Int, s uint) *Int {
	x.doinit()
	z.doinit()
	C.mpz_div_2exp(&z.i[0], &x.i[0], C.mp_bitcnt_t(s))
	return z
}
开发者ID:WXB506,项目名称:golang,代码行数:7,代码来源:gmp.go

示例9: Div2Exp

// Div2Exp sets z = x / 2^s and returns z.
func (q *Rat) Div2Exp(x *Rat, s uint) *Rat {
	x.doinit()
	q.doinit()
	C.mpq_div_2exp(&q.i[0], &x.i[0], C.mp_bitcnt_t(s))
	return q
}
开发者ID:i-neda,项目名称:gogmp,代码行数:7,代码来源:gogmp.go

示例10: Bit

// Bit returns the value of the i'th bit of x. That is, it
// returns (x>>i)&1. The bit index i must be >= 0.
func (x *Int) Bit(i int) uint {
	x.doinit()
	return uint(C.mpz_tstbit(x.ptr, C.mp_bitcnt_t(i)))
}
开发者ID:jamesadney,项目名称:gmp,代码行数:6,代码来源:int.go

示例11: Mul2Exp

// Mul2Exp sets z = x * 2^s and returns z.
func (f *Float) Mul2Exp(x *Float, s uint) *Float {
	C.mpf_mul_2exp(&f.i[0], &x.i[0], C.mp_bitcnt_t(s))
	return f
}
开发者ID:swantescholz,项目名称:coding,代码行数:5,代码来源:gmp.go

示例12: SetPrec

func (f *Float) SetPrec(prec int) {
	C.mpf_set_prec(&f.i[0], C.mp_bitcnt_t(prec))
}
开发者ID:swantescholz,项目名称:coding,代码行数:3,代码来源:gmp.go


注:本文中的C.mp_bitcnt_t函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。