github.com/prattmic/llgo-embedded@v0.0.0-20150820070356-41cfecea0e1e/third_party/gofrontend/libgo/go/math/abs.go (about)

     1  // Copyright 2009 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  // Abs returns the absolute value of x.
     8  //
     9  // Special cases are:
    10  //	Abs(±Inf) = +Inf
    11  //	Abs(NaN) = NaN
    12  
    13  //extern fabs
    14  func libc_fabs(float64) float64
    15  
    16  func Abs(x float64) float64 {
    17  	return libc_fabs(x)
    18  }
    19  
    20  func abs(x float64) float64 {
    21  	switch {
    22  	case x < 0:
    23  		return -x
    24  	case x == 0:
    25  		return 0 // return correctly abs(-0)
    26  	}
    27  	return x
    28  }