summaryrefslogtreecommitdiffstats
path: root/src/math/copysign.go
blob: 3a30afb41367e743cc933fbe8405ff98760f96ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package math

// Copysign returns a value with the magnitude of f
// and the sign of sign.
func Copysign(f, sign float64) float64 {
	const signBit = 1 << 63
	return Float64frombits(Float64bits(f)&^signBit | Float64bits(sign)&signBit)
}