3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-25 05:43:40 +01:00
dft_tools/c++/plovasp/atm/test/tet_weights.cpp

36 lines
659 B
C++
Raw Normal View History

#include "testing.hpp"
int main()
{
double e[4], en, ci_sum, ct, res[4];
int inds[4], inds_should[4];
int i, flag;
char mess[128];
e[0] = -1.5;
e[1] = -1.309017;
e[2] = -1.0;
e[3] = -0.5;
en = -0.55;
printf("\n Test case 2\n\n");
flag = dos_reorder(en, e, inds);
dos_corner_weights(en, e, inds, res);
dos_tet_weights(en, e, inds, &ct);
for(i = 0, ci_sum = 0.0; i < 4; i++)
{
printf(" res[%d] = %20.15lf\n", i, res[i]);
ci_sum += res[i];
}
printf(" Difference: %le\n", fabs(ci_sum - ct));
sprintf(mess, "Difference between 'ci_sum' and 'ct' is too large");
ASSERT(fabs(ci_sum - ct) < 1e-12, mess);
}