Lines Matching full:numbers

1 // RUN: %check_clang_tidy -check-suffix=ALL -std=c++20 %s modernize-use-std-numbers %t
2 …L,IMPRECISE -std=c++20 %s modernize-use-std-numbers %t -- -config="{CheckOptions: { modernize-use-…
4 // CHECK-FIXES-ALL: #include <numbers>
13 …[[@LINE-1]]:33: warning: prefer 'std::numbers::e' to this literal, differs by '0.00e+00' [moderniz…
14 // CHECK-FIXES-ALL: static constexpr double e = std::numbers::e;
42 …[@LINE-1]]:34: warning: prefer 'std::numbers::pi' to this literal, differs by '5.36e-08' [moderniz… in foo()
43 // CHECK-FIXES-ALL: static constexpr double Pi = std::numbers::pi; in foo()
46 …[[@LINE-1]]:37: warning: prefer 'std::numbers::e' to this literal, differs by '2.85e-08' [moderniz… in foo()
47 // CHECK-FIXES-ALL: static constexpr double Euler = std::numbers::e; in foo()
50 …[@LINE-1]]:35: warning: prefer 'std::numbers::phi' to this literal, differs by '8.87e-08' [moderni… in foo()
51 // CHECK-FIXES-ALL: static constexpr double Phi = std::numbers::phi; in foo()
55 …[[@LINE-1]]:49: warning: prefer 'std::numbers::pi' to this macro, differs by '5.36e-08' [modernize… in foo()
56 // CHECK-FIXES-ALL: static constexpr double PiDefineFromMacro = std::numbers::pi; in foo()
59 …[@LINE-1]]:35: warning: prefer 'std::numbers::pi' to this literal, differs by '1.59e-03' [moderniz… in foo()
60 // CHECK-FIXES-IMPRECISE: static constexpr double Pi2 = std::numbers::pi; in foo()
62 …[[@LINE-1]]:38: warning: prefer 'std::numbers::e' to this literal, differs by '8.28e-03' [moderniz… in foo()
63 // CHECK-FIXES-IMPRECISE: static constexpr double Euler2 = std::numbers::e; in foo()
65 …[@LINE-1]]:36: warning: prefer 'std::numbers::phi' to this literal, differs by '8.03e-03' [moderni… in foo()
66 // CHECK-FIXES-IMPRECISE: static constexpr double Phi2 = std::numbers::phi; in foo()
69 …1]]:35: warning: prefer 'std::numbers::pi_v<long double>' to this literal, differs by '5.36e-08' [… in foo()
70 // CHECK-FIXES-ALL: static constexpr double Pi3 = std::numbers::pi_v<long double>; in foo()
73 …1]]:38: warning: prefer 'std::numbers::e_v<long double>' to this literal, differs by '2.85e-08' [m… in foo()
74 // CHECK-FIXES-ALL: static constexpr double Euler3 = std::numbers::e_v<long double>; in foo()
77 …]]:36: warning: prefer 'std::numbers::phi_v<long double>' to this literal, differs by '8.87e-08' [… in foo()
78 // CHECK-FIXES-ALL: static constexpr double Phi3 = std::numbers::phi_v<long double>; in foo()
81 …1]]:40: warning: prefer 'std::numbers::pi_v<long double>' to this literal, differs by '5.36e-08' [… in foo()
82 // CHECK-FIXES-ALL: static constexpr long double Pi4 = std::numbers::pi_v<long double>; in foo()
85 …1]]:43: warning: prefer 'std::numbers::e_v<long double>' to this literal, differs by '2.85e-08' [m… in foo()
86 // CHECK-FIXES-ALL: static constexpr long double Euler4 = std::numbers::e_v<long double>; in foo()
89 …]]:41: warning: prefer 'std::numbers::phi_v<long double>' to this literal, differs by '8.87e-08' [… in foo()
90 // CHECK-FIXES-ALL: static constexpr long double Phi4 = std::numbers::phi_v<long double>; in foo()
93 …[[@LINE-1]]:41: warning: prefer 'std::numbers::e' to this literal, differs by '2.85e-08' [moderniz… in foo()
94 // CHECK-FIXES-ALL: static constexpr my_double Euler5 = std::numbers::e; in foo()
97 …[[@LINE-1]]:40: warning: prefer 'std::numbers::e' to this literal, differs by '2.85e-08' [moderniz… in foo()
98 // CHECK-FIXES-ALL: static constexpr my_float Euler6 = std::numbers::e; in foo()
101 …[[@LINE-1]]:38: warning: prefer 'std::numbers::e' to this literal, differs by '2.85e-08' [moderniz… in foo()
102 // CHECK-FIXES-ALL: static constexpr int NotEuler7 = std::numbers::e; in foo()
105 …S-ALL: :[[@LINE-1]]:37: warning: prefer 'std::numbers::inv_pi' to this formula [modernize-use-std… in foo()
106 // CHECK-FIXES-ALL: static constexpr double InvPi = std::numbers::inv_pi; in foo()
110 …LL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::sqrt2_v<float>' to this formula [modernize-use… in foo()
111 // CHECK-FIXES-ALL: std::numbers::sqrt2_v<float>; in foo()
114 …[[@LINE-1]]:10: warning: prefer 'std::numbers::pi' to this macro, differs by '5.36e-08' [modernize… in foo()
115 // CHECK-FIXES-ALL: sink(std::numbers::pi); in foo()
119 …[@LINE-1]]:18: warning: prefer 'std::numbers::pi' to this literal, differs by '1.59e-03' [moderniz… in foo()
120 // CHECK-FIXES-IMPRECISE: auto Y = X * std::numbers::pi; in foo()
126 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::sqrt2' to this formula [modernize-use-std- in foo()
127 // CHECK-FIXES-ALL: std::numbers::sqrt2; in foo()
130 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::sqrt2' to this formula [modernize-use-std- in foo()
131 // CHECK-FIXES-ALL: std::numbers::sqrt2; in foo()
134 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::sqrt2' to this formula [modernize-use-std- in foo()
135 // CHECK-FIXES-ALL: std::numbers::sqrt2; in foo()
143 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::sqrt2' to this formula [modernize-use-std- in foo()
144 // CHECK-FIXES-ALL: std::numbers::sqrt2; in foo()
147 …SAGES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::e' to this formula [modernize-use-std-nu… in foo()
148 // CHECK-FIXES-ALL: std::numbers::e; in foo()
151 …SAGES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::e' to this formula [modernize-use-std-nu… in foo()
152 // CHECK-FIXES-ALL: std::numbers::e; in foo()
155 …SAGES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::e' to this formula [modernize-use-std-nu… in foo()
156 // CHECK-FIXES-ALL: std::numbers::e; in foo()
159 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::log2e' to this formula [modernize-use-std- in foo()
160 …AGES-ALL: :[[@LINE-2]]:10: warning: prefer 'std::numbers::e' to this formula [modernize-use-std-nu… in foo()
161 // CHECK-FIXES-ALL: std::numbers::log2e; in foo()
164 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::log2e' to this formula [modernize-use-std- in foo()
165 // CHECK-FIXES-ALL: std::numbers::log2e; in foo()
168 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::log2e' to this formula [modernize-use-std- in foo()
169 // CHECK-FIXES-ALL: std::numbers::log2e; in foo()
172 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::log2e' to this formula [modernize-use-std- in foo()
173 // CHECK-FIXES-ALL: std::numbers::log2e; in foo()
176 …ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::log2e_v<float>' to this formula [modernize-use… in foo()
177 // CHECK-FIXES-ALL: std::numbers::log2e_v<float>; in foo()
182 …@LINE-1]]:18: warning: prefer 'std::numbers::log2e' to this literal, differs by '4.09e-08' [modern… in foo()
183 // CHECK-FIXES-ALL: auto log2e = std::numbers::log2e; in foo()
186 …ES-ALL: :[[@LINE-1]]:15: warning: prefer 'std::numbers::log2e' to this formula [modernize-use-std- in foo()
187 // CHECK-FIXES-ALL: floatSink(std::numbers::log2e); in foo()
190 …LL: :[[@LINE-1]]:15: warning: prefer 'std::numbers::log2e_v<float>' to this formula [modernize-use… in foo()
191 // CHECK-FIXES-ALL: floatSink(std::numbers::log2e_v<float>); in foo()
194 …@LINE-1]]:15: warning: prefer 'std::numbers::log2e' to this literal, differs by '4.09e-08' [modern… in foo()
195 // CHECK-FIXES-ALL: floatSink(std::numbers::log2e); in foo()
198 …-1]]:15: warning: prefer 'std::numbers::log2e_v<float>' to this literal, differs by '4.09e-08' [mo… in foo()
199 // CHECK-FIXES-ALL: floatSink(std::numbers::log2e_v<float>); in foo()
202 …LL: :[[@LINE-1]]:15: warning: prefer 'std::numbers::log2e_v<float>' to this formula [modernize-use… in foo()
203 // CHECK-FIXES-ALL: floatSink(std::numbers::log2e_v<float>); in foo()
206 …LL: :[[@LINE-1]]:15: warning: prefer 'std::numbers::log2e_v<float>' to this formula [modernize-use… in foo()
207 // CHECK-FIXES-ALL: floatSink(std::numbers::log2e_v<float>); in foo()
212 …LL: :[[@LINE-1]]:32: warning: prefer 'std::numbers::log2e_v<float>' to this formula [modernize-use… in foo()
213 // CHECK-FIXES-ALL: floatSink(static_cast<int>(std::numbers::log2e_v<float>)); in foo()
216 …-1]]:15: warning: prefer 'std::numbers::log2e_v<float>' to this literal, differs by '1.93e-08' [mo… in foo()
217 // CHECK-FIXES-ALL: floatSink(std::numbers::log2e_v<float>); in foo()
220 …@LINE-1]]:15: warning: prefer 'std::numbers::log2e' to this literal, differs by '1.93e-08' [modern… in foo()
221 // CHECK-FIXES-ALL: floatSink(std::numbers::log2e); in foo()
224 …-1]]:32: warning: prefer 'std::numbers::log2e_v<float>' to this literal, differs by '1.93e-08' [mo… in foo()
225 // CHECK-FIXES-ALL: floatSink(static_cast<int>(std::numbers::log2e_v<float>)); in foo()
228 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::log10e' to this formula [modernize-use-std… in foo()
229 …AGES-ALL: :[[@LINE-2]]:11: warning: prefer 'std::numbers::e' to this formula [modernize-use-std-nu… in foo()
230 // CHECK-FIXES-ALL: std::numbers::log10e; in foo()
233 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::log10e' to this formula [modernize-use-std… in foo()
234 // CHECK-FIXES-ALL: std::numbers::log10e; in foo()
237 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::log10e' to this formula [modernize-use-std… in foo()
238 // CHECK-FIXES-ALL: std::numbers::log10e; in foo()
241 …LINE-1]]:19: warning: prefer 'std::numbers::log10e' to this literal, differs by '4.82e-07' [modern… in foo()
242 // CHECK-FIXES-ALL: auto log10e = std::numbers::log10e; in foo()
245 …LINE-1]]:19: warning: prefer 'std::numbers::egamma' to this literal, differs by '6.49e-08' [modern… in foo()
246 // CHECK-FIXES-ALL: auto egamma = std::numbers::egamma * 42; in foo()
251 …ES-ALL: :[[@LINE-1]]:10: warning: prefer 'std::numbers::inv_pi' to this formula [modernize-use-std… in foo()
252 // CHECK-FIXES-ALL: sink(std::numbers::inv_pi); in foo()
255 …-ALL: :[[@LINE-1]]:10: warning: prefer 'std::numbers::inv_sqrtpi' to this formula [modernize-use-s… in foo()
256 // CHECK-FIXES-ALL: sink(std::numbers::inv_sqrtpi); in foo()
259 …-ALL: :[[@LINE-1]]:10: warning: prefer 'std::numbers::inv_sqrtpi' to this formula [modernize-use-s… in foo()
260 …[[@LINE-2]]:24: warning: prefer 'std::numbers::pi' to this macro, differs by '5.36e-08' [modernize… in foo()
261 // CHECK-FIXES-ALL: sink(std::numbers::inv_sqrtpi); in foo()
264 …AGES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::ln2' to this formula [modernize-use-std-n… in foo()
265 // CHECK-FIXES-ALL: std::numbers::ln2; in foo()
268 …AGES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::ln10' to this formula [modernize-use-std- in foo()
269 // CHECK-FIXES-ALL: std::numbers::ln10; in foo()
272 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::sqrt2' to this formula [modernize-use-std- in foo()
273 // CHECK-FIXES-ALL: std::numbers::sqrt2; in foo()
276 …-ALL: :[[@LINE-1]]:10: warning: prefer 'std::numbers::inv_sqrt3' to this formula [modernize-use-st… in foo()
277 …ES-ALL: :[[@LINE-2]]:14: warning: prefer 'std::numbers::sqrt3' to this formula [modernize-use-std- in foo()
278 // CHECK-FIXES-ALL: sink(std::numbers::inv_sqrt3); in foo()
281 …S-ALL: :[[@LINE-1]]:10: warning: prefer 'std::numbers::inv_sqrt3' to this macro [modernize-use-std… in foo()
282 // CHECK-FIXES-ALL: sink(std::numbers::inv_sqrt3); in foo()
287 …]]:29: warning: prefer 'std::numbers::inv_sqrt3_v<float>' to this literal, differs by '1.04e-08' [… in foo()
288 // CHECK-FIXES-ALL: const auto inv_sqrt3f = std::numbers::inv_sqrt3_v<float>; in foo()
291 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::sqrt3' to this formula [modernize-use-std- in foo()
292 // CHECK-FIXES-ALL: std::numbers::sqrt3; in foo()
295 …[@LINE-1]]:20: warning: prefer 'std::numbers::phi' to this literal, differs by '8.87e-08' [moderni… in foo()
296 // CHECK-FIXES-ALL: auto somePhi = std::numbers::phi; in foo()
303 …GES-ALL: :[[@LINE-1]]:10: warning: prefer 'std::numbers::phi' to this formula [modernize-use-std-n… in foo()
304 // CHECK-FIXES-ALL: sink(std::numbers::phi); in foo()
307 …ALL: :[[@LINE-1]]:10: warning: prefer 'std::numbers::phi_v<float>' to this formula [modernize-use-… in foo()
308 // CHECK-FIXES-ALL: sink(std::numbers::phi_v<float>); in foo()
316 …[@LINE-1]]:29: warning: prefer 'std::numbers::pi' to this literal, differs by '5.36e-08' [moderniz… in baz()
317 // CHECK-FIXES-ALL: static constexpr T Pi = std::numbers::pi; in baz()
320 …[[@LINE-1]]:32: warning: prefer 'std::numbers::e' to this literal, differs by '2.85e-08' [moderniz… in baz()
321 // CHECK-FIXES-ALL: static constexpr T Euler = std::numbers::e; in baz()
324 …[@LINE-1]]:30: warning: prefer 'std::numbers::phi' to this literal, differs by '8.87e-08' [moderni… in baz()
325 // CHECK-FIXES-ALL: static constexpr T Phi = std::numbers::phi; in baz()
329 …[[@LINE-1]]:44: warning: prefer 'std::numbers::pi' to this macro, differs by '5.36e-08' [modernize… in baz()
330 // CHECK-FIXES-ALL: static constexpr T PiDefineFromMacro = std::numbers::pi; in baz()
333 …[@LINE-1]]:30: warning: prefer 'std::numbers::pi' to this literal, differs by '1.59e-03' [moderniz… in baz()
334 // CHECK-FIXES-IMPRECISE: static constexpr T Pi2 = std::numbers::pi; in baz()
336 …[[@LINE-1]]:33: warning: prefer 'std::numbers::e' to this literal, differs by '8.28e-03' [moderniz… in baz()
337 // CHECK-FIXES-IMPRECISE: static constexpr T Euler2 = std::numbers::e; in baz()
339 …[@LINE-1]]:31: warning: prefer 'std::numbers::phi' to this literal, differs by '8.03e-03' [moderni… in baz()
340 // CHECK-FIXES-IMPRECISE: static constexpr T Phi2 = std::numbers::phi; in baz()
343 …1]]:30: warning: prefer 'std::numbers::pi_v<long double>' to this literal, differs by '5.36e-08' [… in baz()
344 // CHECK-FIXES-ALL: static constexpr T Pi3 = std::numbers::pi_v<long double>; in baz()
347 …1]]:33: warning: prefer 'std::numbers::e_v<long double>' to this literal, differs by '2.85e-08' [m… in baz()
348 // CHECK-FIXES-ALL: static constexpr T Euler3 = std::numbers::e_v<long double>; in baz()
351 …]]:31: warning: prefer 'std::numbers::phi_v<long double>' to this literal, differs by '8.87e-08' [… in baz()
352 // CHECK-FIXES-ALL: static constexpr T Phi3 = std::numbers::phi_v<long double>; in baz()
356 …ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::sqrt2_v<float>' to this formula [modernize-use… in baz()
357 // CHECK-FIXES-ALL: std::numbers::sqrt2_v<float>; in baz()
363 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::sqrt2' to this formula [modernize-use-std- in baz()
364 // CHECK-FIXES-ALL: std::numbers::sqrt2; in baz()
369 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::sqrt2' to this formula [modernize-use-std- in baz()
370 // CHECK-FIXES-ALL: std::numbers::sqrt2; in baz()
380 …SAGES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::e' to this formula [modernize-use-std-nu… in baz()
381 // CHECK-FIXES-ALL: std::numbers::e; in baz()
386 …SAGES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::e' to this formula [modernize-use-std-nu… in baz()
387 // CHECK-FIXES-ALL: std::numbers::e; in baz()
390 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::log2e' to this formula [modernize-use-std- in baz()
391 …AGES-ALL: :[[@LINE-2]]:10: warning: prefer 'std::numbers::e' to this formula [modernize-use-std-nu… in baz()
392 // CHECK-FIXES-ALL: std::numbers::log2e; in baz()
397 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::log2e' to this formula [modernize-use-std- in baz()
398 // CHECK-FIXES-ALL: std::numbers::log2e; in baz()
401 …@LINE-1]]:15: warning: prefer 'std::numbers::log2e' to this literal, differs by '4.09e-08' [modern… in baz()
402 // CHECK-FIXES-ALL: T log2e = std::numbers::log2e; in baz()
405 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::log10e' to this formula [modernize-use-std… in baz()
406 …AGES-ALL: :[[@LINE-2]]:11: warning: prefer 'std::numbers::e' to this formula [modernize-use-std-nu… in baz()
407 // CHECK-FIXES-ALL: std::numbers::log10e; in baz()
412 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::log10e' to this formula [modernize-use-std… in baz()
413 // CHECK-FIXES-ALL: std::numbers::log10e; in baz()
416 …LINE-1]]:16: warning: prefer 'std::numbers::log10e' to this literal, differs by '4.82e-07' [modern… in baz()
417 // CHECK-FIXES-ALL: T log10e = std::numbers::log10e; in baz()
420 …LINE-1]]:16: warning: prefer 'std::numbers::egamma' to this literal, differs by '6.49e-08' [modern… in baz()
421 // CHECK-FIXES-ALL: T egamma = std::numbers::egamma * 42; in baz()
428 …-ALL: :[[@LINE-1]]:10: warning: prefer 'std::numbers::inv_sqrtpi' to this formula [modernize-use-s… in baz()
429 …[[@LINE-2]]:24: warning: prefer 'std::numbers::pi' to this macro, differs by '5.36e-08' [modernize… in baz()
430 // CHECK-FIXES-ALL: sink(std::numbers::inv_sqrtpi); in baz()
434 …AGES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::ln2' to this formula [modernize-use-std-n… in baz()
435 // CHECK-FIXES-ALL: std::numbers::ln2; in baz()
438 …AGES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::ln10' to this formula [modernize-use-std- in baz()
439 // CHECK-FIXES-ALL: std::numbers::ln10; in baz()
442 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::sqrt2' to this formula [modernize-use-std- in baz()
443 // CHECK-FIXES-ALL: std::numbers::sqrt2; in baz()
446 …-ALL: :[[@LINE-1]]:10: warning: prefer 'std::numbers::inv_sqrt3' to this formula [modernize-use-st… in baz()
447 …ES-ALL: :[[@LINE-2]]:14: warning: prefer 'std::numbers::sqrt3' to this formula [modernize-use-std- in baz()
448 // CHECK-FIXES-ALL: sink(std::numbers::inv_sqrt3); in baz()
451 …GES-ALL: :[[@LINE-1]]:5: warning: prefer 'std::numbers::sqrt3' to this formula [modernize-use-std- in baz()
452 // CHECK-FIXES-ALL: std::numbers::sqrt3; in baz()
455 …[@LINE-1]]:13: warning: prefer 'std::numbers::phi' to this literal, differs by '8.87e-08' [moderni… in baz()
456 // CHECK-FIXES-ALL: T phi = std::numbers::phi; in baz()
461 …GES-ALL: :[[@LINE-1]]:10: warning: prefer 'std::numbers::phi' to this formula [modernize-use-std-n… in baz()
462 // CHECK-FIXES-ALL: sink(std::numbers::phi); in baz()
465 …ALL: :[[@LINE-1]]:10: warning: prefer 'std::numbers::phi_v<float>' to this formula [modernize-use-… in baz()
466 // CHECK-FIXES-ALL: sink(std::numbers::phi_v<float>); in baz()