當前位置: 首頁>>代碼示例>>Golang>>正文


Golang Float.Copy方法代碼示例

本文整理匯總了Golang中math/big.Float.Copy方法的典型用法代碼示例。如果您正苦於以下問題:Golang Float.Copy方法的具體用法?Golang Float.Copy怎麽用?Golang Float.Copy使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在math/big.Float的用法示例。


在下文中一共展示了Float.Copy方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: Sqrt

// Sqrt returns the square root n.
func Sqrt(n *big.Float) *big.Float {
	prec := n.Prec()

	x := new(big.Float).SetPrec(prec).SetInt64(1)
	z := new(big.Float).SetPrec(prec).SetInt64(1)

	half := new(big.Float).SetPrec(prec).SetFloat64(0.5)
	t := new(big.Float).SetPrec(prec)

	for {
		z.Copy(x)

		t.Mul(x, x)
		t.Sub(t, n)
		t.Quo(t, x)
		t.Mul(t, half)
		x.Sub(x, t)

		if x.Cmp(z) == 0 {
			break
		}
	}

	return x
}
開發者ID:wridgers,項目名稱:bigutil,代碼行數:26,代碼來源:bigutil.go

示例2: abs

func abs(x *complexFloat) *big.Float {
	r := new(big.Float).SetPrec(prec)
	i := new(big.Float).SetPrec(prec)
	r.Copy(x.r)
	i.Copy(x.i)

	r.Mul(r, x.r) // r^2
	i.Mul(i, x.i) // i^2

	r.Add(r, i) // r^2 + i^2

	return sqrtFloat(r) // sqrt(r^2 + i^2)
}
開發者ID:ysohta,項目名稱:gopl-ex,代碼行數:13,代碼來源:complexfloat.go

示例3: sqrtFloat

func sqrtFloat(x *big.Float) *big.Float {
	t1 := new(big.Float).SetPrec(prec)
	t2 := new(big.Float).SetPrec(prec)
	t1.Copy(x)

	// Iterate.
	// x{n} = (x{n-1}+x{0}/x{n-1}) / 2
	for i := 0; i <= steps; i++ {
		if t1.Cmp(zero) == 0 || t1.IsInf() {
			return t1
		}
		t2.Quo(x, t1)
		t2.Add(t2, t1)
		t1.Mul(half, t2)
	}

	return t1
}
開發者ID:ysohta,項目名稱:gopl-ex,代碼行數:18,代碼來源:complexfloat.go


注:本文中的math/big.Float.Copy方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。