Source File
modf.go
Belonging Package
math
// Copyright 2009 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
// Modf returns integer and fractional floating-point numbers
// that sum to f. Both values have the same sign as f.
//
// Special cases are:
// Modf(±Inf) = ±Inf, NaN
// Modf(NaN) = NaN, NaN
func ( float64) ( float64, float64)
func ( float64) ( float64, float64) {
if < 1 {
switch {
case < 0:
, = Modf(-)
return -, -
case == 0:
return , // Return -0, -0 when f == -0
}
return 0,
}
:= Float64bits()
:= uint(>>shift)&mask - bias
// Keep the top 12+e bits, the integer part; clear the rest.
if < 64-12 {
&^= 1<<(64-12-) - 1
}
= Float64frombits()
= -
return
}