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 }