OSDN Git Service

compiler, libgo: Use //extern comments rather than __asm__.
[pf3gnuchains/gcc-fork.git] / libgo / go / math / abs.go
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 }