...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package s2
16
17 import "github.com/golang/geo/s1"
18
19
20
21 func roundAngle(val s1.Angle) int32 {
22 if val < 0 {
23 return int32(val - 0.5)
24 }
25 return int32(val + 0.5)
26 }
27
28
29 func minAngle(x s1.Angle, others ...s1.Angle) s1.Angle {
30 min := x
31 for _, y := range others {
32 if y < min {
33 min = y
34 }
35 }
36 return min
37 }
38
39
40 func maxAngle(x s1.Angle, others ...s1.Angle) s1.Angle {
41 max := x
42 for _, y := range others {
43 if y > max {
44 max = y
45 }
46 }
47 return max
48 }
49
50
51 func minChordAngle(x s1.ChordAngle, others ...s1.ChordAngle) s1.ChordAngle {
52 min := x
53 for _, y := range others {
54 if y < min {
55 min = y
56 }
57 }
58 return min
59 }
60
61
62 func maxChordAngle(x s1.ChordAngle, others ...s1.ChordAngle) s1.ChordAngle {
63 max := x
64 for _, y := range others {
65 if y > max {
66 max = y
67 }
68 }
69 return max
70 }
71
72
73 func minFloat64(x float64, others ...float64) float64 {
74 min := x
75 for _, y := range others {
76 if y < min {
77 min = y
78 }
79 }
80 return min
81 }
82
83
84 func maxFloat64(x float64, others ...float64) float64 {
85 max := x
86 for _, y := range others {
87 if y > max {
88 max = y
89 }
90 }
91 return max
92 }
93
94
95 func minInt(x int, others ...int) int {
96 min := x
97 for _, y := range others {
98 if y < min {
99 min = y
100 }
101 }
102 return min
103 }
104
105
106 func maxInt(x int, others ...int) int {
107 max := x
108 for _, y := range others {
109 if y > max {
110 max = y
111 }
112 }
113 return max
114 }
115
116
117 func clampInt(x, min, max int) int {
118 if x < min {
119 return min
120 }
121 if x > max {
122 return max
123 }
124 return x
125 }
126
View as plain text