github.com/twelsh-aw/go/src@v0.0.0-20230516233729-a56fe86a7c81/math/copysign.go (about)

     1  // Copyright 2010 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package math
     6  
     7  // Copysign returns a value with the magnitude of f
     8  // and the sign of sign.
     9  func Copysign(f, sign float64) float64 {
    10  	const signBit = 1 << 63
    11  	return Float64frombits(Float64bits(f)&^signBit | Float64bits(sign)&signBit)
    12  }