URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [math/] [modf.go] - Rev 747
Compare with Previous | Blame | View Log
// 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, NaNfunc Modf(f float64) (int float64, frac float64) {return modf(f)}func modf(f float64) (int float64, frac float64) {if f < 1 {if f < 0 {int, frac = Modf(-f)return -int, -frac}return 0, f}x := Float64bits(f)e := uint(x>>shift)&mask - bias// Keep the top 12+e bits, the integer part; clear the rest.if e < 64-12 {x &^= 1<<(64-12-e) - 1}int = Float64frombits(x)frac = f - intreturn}
