...
Run Format

Source file src/math/floor.go

  // 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
  func Floor(x float64) float64
  
  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
  func Ceil(x float64) float64
  
  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) = NaN
  func Trunc(x float64) float64
  
  func trunc(x float64) float64 {
  	if x == 0 || IsNaN(x) || IsInf(x, 0) {
  		return x
  	}
  	d, _ := Modf(x)
  	return d
  }
  

View as plain text