...
Source file src/pkg/math/dim.go
1
2
3
4
5 package math
6
7
8
9
10
11
12
13 func Dim(x, y float64) float64 {
14
15
16
17
18
19 v := x - y
20 if v <= 0 {
21
22 return 0
23 }
24
25 return v
26 }
27
28
29
30
31
32
33
34
35 func Max(x, y float64) float64
36
37 func max(x, y float64) float64 {
38
39 switch {
40 case IsInf(x, 1) || IsInf(y, 1):
41 return Inf(1)
42 case IsNaN(x) || IsNaN(y):
43 return NaN()
44 case x == 0 && x == y:
45 if Signbit(x) {
46 return y
47 }
48 return x
49 }
50 if x > y {
51 return x
52 }
53 return y
54 }
55
56
57
58
59
60
61
62 func Min(x, y float64) float64
63
64 func min(x, y float64) float64 {
65
66 switch {
67 case IsInf(x, -1) || IsInf(y, -1):
68 return Inf(-1)
69 case IsNaN(x) || IsNaN(y):
70 return NaN()
71 case x == 0 && x == y:
72 if Signbit(x) {
73 return x
74 }
75 return y
76 }
77 if x < y {
78 return x
79 }
80 return y
81 }
82
View as plain text