GeographicLib: DAuxLatitude.hpp Source File (original) (raw)
Go to the documentation of this file.
1
2
3
4
5
6
7
8
9
10#if !defined(GEOGRAPHICLIB_DAUXLATITUDE_HPP)
11#define GEOGRAPHICLIB_DAUXLATITUDE_HPP 1
12
14
16
17
18
19
20
21
22
24 private:
27 public:
28
29
30
31
32
33
34
35
36
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 Math::real DConvert(int auxin, int auxout,
64
65
66
67
68
69
70
71
72
73
74
75
77
78
79
80
81
82
83
84
85
86
87
88
90
91
92
93
94
95
96
97
98
99
100
101
102
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
129 const real c[], int K);
130
131
132
133
134
135
136
137
138
139
140
141
142
143
145 using std::isnan; using std::isinf;
146 return x == y ? base::sc(x) :
147 (isnan(x) || isnan(y) ? std::numeric_limits::quiet_NaN() :
148 (isinf(x) || isinf(y) ? std::numeric_limits::infinity() :
149 Dasinh(x, y) / Datan(x, y)));
150 }
151
152
153
154
155
156
157
158
159
160
161
162
163
164
166 using std::isnan; using std::isinf; using std::copysign;
167 return x == y ? base::sn(x) :
168 (isnan(x + y) ? x + y :
169 (isinf(x) ? copysign(real(1), x) :
170 (isinf(y) ? copysign(real(1), y) :
171 Dasinh(h(x), h(y)) * Dh(x, y) / Dasinh(x, y))));
172 }
173 protected:
174
175
179
180 static real h(real x) { return x * base::sn(x) / 2; }
183
184 private:
186 using std::sin; using std::cos;
187 real d = (x - y) / 2;
188 return cos((x + y) / 2) * (d != 0 ? sin(d) / d : 1);
189 }
190
191 real DE(const AuxAngle& X, const AuxAngle& Y) const;
192 };
193
194}
195
196#endif
Header for the GeographicLib::AuxLatitude class.
#define GEOGRAPHICLIB_EXPORT
GeographicLib::Math::real real
An accurate representation of angles.
Conversions between auxiliary latitudes.
Divided differences of auxiliary latitudes.
Definition DAuxLatitude.hpp:23
static Math::real Dlam(real x, real y)
Definition DAuxLatitude.hpp:144
DAuxLatitude(real a, real f)
Definition DAuxLatitude.hpp:37
static Math::real Dp0Dpsi(real x, real y)
Definition DAuxLatitude.hpp:165
Namespace for GeographicLib.