URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [math/] [floor.go] - Rev 747
Compare with Previous | Blame | View Log
// Copyright 2009-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// Floor returns the greatest integer value less than or equal to x.//// Special cases are:// Floor(±0) = ±0// Floor(±Inf) = ±Inf// Floor(NaN) = NaN//extern floorfunc libc_floor(float64) float64func Floor(x float64) float64 {return libc_floor(x)}func floor(x float64) float64 {if x == 0 || IsNaN(x) || IsInf(x, 0) {return x}if x < 0 {d, fract := Modf(-x)if fract != 0.0 {d = d + 1}return -d}d, _ := Modf(x)return d}// Ceil returns the least integer value greater than or equal to x.//// Special cases are:// Ceil(±0) = ±0// Ceil(±Inf) = ±Inf// Ceil(NaN) = NaN//extern ceilfunc libc_ceil(float64) float64func Ceil(x float64) float64 {return libc_ceil(x)}func ceil(x float64) float64 {return -Floor(-x)}// Trunc returns the integer value of x.//// Special cases are:// Trunc(±0) = ±0// Trunc(±Inf) = ±Inf// Trunc(NaN) = NaNfunc Trunc(x float64) float64 {return trunc(x)}func trunc(x float64) float64 {if x == 0 || IsNaN(x) || IsInf(x, 0) {return x}d, _ := Modf(x)return d}
