Skip to content

Commit d25bd40

Browse files
committed
[plotvasp] Fix TRIQS#74 compilation error on clang
- fabs for complex ? It is not defined. - replaced by std::abs. - How could the code compile before ?
1 parent c49c824 commit d25bd40

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

c++/plovasp/atm/dos_tetra3d.cpp

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -117,12 +117,12 @@ array<double, 2> dos_tetra_weights_3d(array<double, 1> eigk, double en, array<lo
117117
ci_sum += ci[i];
118118

119119
flag = dos_tet_weights(en, eigs, inds, &ct);
120-
if(fabs(ct - ci_sum) > tol)
120+
if(std::abs(ct - ci_sum) > tol)
121121
{
122122
std::cout << " *** Error in weights: it = " << it <<" flag = " << flag << ", en = " << en;
123123
for(i = 0; i < 4; i++)
124124
std::cout << ", e[" << i << "] = " << eigs[i];
125-
std::cout << ", c_diff = " << fabs(ct - ci_sum) << std::endl;
125+
std::cout << ", c_diff = " << std::abs(ct - ci_sum) << std::endl;
126126

127127
TRIQS_RUNTIME_ERROR << " Failed consistency check";
128128
}
@@ -172,12 +172,12 @@ array<double, 2> dos_tetra_weights_3d(array<double, 1> eigk, double en, array<lo
172172
// ci_sum += ci[i];
173173
//
174174
// flag = dos_tet_weights(en, eigs, inds, &ct);
175-
// if(fabs(ct - ci_sum) > tol)
175+
// if(std::abs(ct - ci_sum) > tol)
176176
// {
177177
// std::cout << " *** Error in weights: it = " << it <<" flag = " << flag << ", en = " << en;
178178
// for(i = 0; i < 4; i++)
179179
// std::cout << ", e[" << i << "] = " << eigs[i];
180-
// std::cout << ", c_diff = " << fabs(ct - ci_sum) << std::endl;
180+
// std::cout << ", c_diff = " << std::abs(ct - ci_sum) << std::endl;
181181
// return;
182182
// }
183183
//#endif
@@ -252,12 +252,12 @@ int dos_tet_weights(double en, double *eigs, int *inds,
252252
{
253253
// E1 <= E <= E2
254254
case 1:
255-
if(fabs(e2 - e1) > tol && fabs(e3 - e1) > tol && fabs(e4 - e1) > tol)
255+
if(std::abs(e2 - e1) > tol && std::abs(e3 - e1) > tol && std::abs(e4 - e1) > tol)
256256
*ct = 3.0 * (en - e1) * (en - e1) / ((e2 - e1) * (e3 - e1) * (e4 - e1));
257257
else
258258
{
259-
s = fmin(fabs(e1 - e2), fabs(e3 - e1));
260-
s = fmin(fabs(s), fabs(e4 - e1));
259+
s = fmin(std::abs(e1 - e2), std::abs(e3 - e1));
260+
s = fmin(std::abs(s), std::abs(e4 - e1));
261261
s /= 100.0;
262262
s = fmax(std::abs(s), 1.0e-20) * I;
263263

@@ -268,15 +268,15 @@ int dos_tet_weights(double en, double *eigs, int *inds,
268268

269269
// E2 <= E <= E3
270270
case 2:
271-
if(fabs(e4 - e2) > tol && fabs(e3 - e2) > tol && fabs(e4 - e1) > tol && fabs(e3 - e1) > tol)
271+
if(std::abs(e4 - e2) > tol && std::abs(e3 - e2) > tol && std::abs(e4 - e1) > tol && std::abs(e3 - e1) > tol)
272272
*ct = 3.0 * (
273273
(e3 - en) * (en - e2) / ((e4 - e2) * (e3 - e2) * (e3 - e1)) +
274274
(e4 - en) * (en - e1) / ((e4 - e1) * (e4 - e2) * (e3 - e1)));
275275
else
276276
{
277-
s = fmin(fabs(e3 - e2), fabs(e3 - e1));
278-
s = fmin(fabs(s), fabs(e4 - e1));
279-
s = fmin(fabs(s), fabs(e4 - e2));
277+
s = fmin(std::abs(e3 - e2), std::abs(e3 - e1));
278+
s = fmin(std::abs(s), std::abs(e4 - e1));
279+
s = fmin(std::abs(s), std::abs(e4 - e2));
280280
s /= 100.0;
281281
s = fmax(std::abs(s), 1.0e-20) * I;
282282

@@ -288,12 +288,12 @@ int dos_tet_weights(double en, double *eigs, int *inds,
288288

289289
// E3 <= E <= E4
290290
case 3:
291-
if(fabs(e4 - e2) > tol && fabs(e4 - e3) > tol && fabs(e4 - e1) > tol)
291+
if(std::abs(e4 - e2) > tol && std::abs(e4 - e3) > tol && std::abs(e4 - e1) > tol)
292292
*ct = 3.0 * (e4 - en) * (e4 - en) / ((e4 - e1) * (e4 - e2) * (e4 - e3));
293293
else
294294
{
295-
s = fmin(fabs(e4 - e2), fabs(e4 - e1));
296-
s = fmin(fabs(s), fabs(e4 - e3));
295+
s = fmin(std::abs(e4 - e2), std::abs(e4 - e1));
296+
s = fmin(std::abs(s), std::abs(e4 - e3));
297297
s /= 100.0;
298298
s = fmax(std::abs(s), 1.0e-20) * I;
299299

@@ -332,7 +332,7 @@ int dos_reorder(double en, double *e, int *inds)
332332
for(i = 0; i < 4; i++)
333333
e[i] = e_tmp[inds[i]];
334334

335-
if((e[0] <= en && en <= e[3]) && fabs(e[3] - e[0]) < tol) return 6;
335+
if((e[0] <= en && en <= e[3]) && std::abs(e[3] - e[0]) < tol) return 6;
336336
if(e[0] <= en && en <= e[1]) return 1;
337337
if(e[1] <= en && en <= e[2]) return 2;
338338
if(e[2] <= en && en <= e[3]) return 3;
@@ -432,12 +432,12 @@ static double F(double en, double e1, double e2, double e3, double e4)
432432
{
433433
std::complex<double> s;
434434

435-
if(fabs(e1 - e3) > tol && fabs(e4 - e2) > tol)
435+
if(std::abs(e1 - e3) > tol && std::abs(e4 - e2) > tol)
436436
return (e1 - en) * (en - e2) / ((e1 - e3) * (e4 - e2));
437437
else
438438
{
439439
// Regularization to avoid division by zero
440-
s = fmin(fabs(e3 - e1), fabs(e4 - e2));
440+
s = fmin(std::abs(e3 - e1), std::abs(e4 - e2));
441441
s /= 100.0;
442442
s = fmax(std::abs(s), 1.0e-20) * I;
443443

@@ -449,12 +449,12 @@ static double K2(double en, double e1, double e2, double e3)
449449
{
450450
std::complex<double> s;
451451

452-
if(fabs(e1 - e3) > tol && fabs(e1 - e2) > tol)
452+
if(std::abs(e1 - e3) > tol && std::abs(e1 - e2) > tol)
453453
return (en - e1) / ((e2 - e1) * (e3 - e1));
454454
else
455455
{
456456
// Regularization to avoid division by zero
457-
s = fmin(fabs(e3 - e1), fabs(e1 - e2));
457+
s = fmin(std::abs(e3 - e1), std::abs(e1 - e2));
458458
s /= 100.0;
459459
s = fmax(std::abs(s), 1.0e-20) * I;
460460

@@ -466,12 +466,12 @@ static double K1(double en, double e1, double e2)
466466
{
467467
std::complex<double> s;
468468

469-
if(fabs(e1 - e2) > tol)
469+
if(std::abs(e1 - e2) > tol)
470470
return (e1 - en) / ((e2 - e1) * (e2 - e1));
471471
else
472472
{
473473
// Regularization to avoid division by zero
474-
s = fabs(e1 - e2);
474+
s = std::abs(e1 - e2);
475475
s /= 100.0;
476476
s = fmax(std::abs(s), 1.0e-20) * I;
477477

0 commit comments

Comments
 (0)