commit 53b53e4a8c3bda3cbaef95a1dc74927682cf6374
parent 81c3c332e7ce4ebeebfce033a80f37ff207309d0
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Thu, 5 Jul 2018 09:44:30 +0200
Push further the "fetch xsections" tests
Diffstat:
1 file changed, 25 insertions(+), 22 deletions(-)
diff --git a/src/test_htmie_load.c b/src/test_htmie_load.c
@@ -25,6 +25,7 @@ static void
test_fetch(struct htmie* htmie)
{
size_t nwlens;
+ size_t i;
const double* wlens;
const double* absor;
const double* scatt;
@@ -43,28 +44,30 @@ test_fetch(struct htmie* htmie)
scatt = htmie_get_xsections_scattering(htmie);
absor = htmie_get_xsections_absorption(htmie);
- CHK(absor[0] == htmie_fetch_xsection_absorption(htmie, wlens[0], NEAREST));
- CHK(absor[1] == htmie_fetch_xsection_absorption(htmie, wlens[1], NEAREST));
- CHK(scatt[0] == htmie_fetch_xsection_scattering(htmie, wlens[0], NEAREST));
- CHK(scatt[1] == htmie_fetch_xsection_scattering(htmie, wlens[1], NEAREST));
-
- u = 0.25;
- wlen = wlens[0] + u * (wlens[1] - wlens[0]);
- xabs = absor[0] + u * (absor[1] - absor[0]);
- xsca = scatt[0] + u * (scatt[1] - scatt[0]);
- CHK(absor[0] == htmie_fetch_xsection_absorption(htmie, wlen, NEAREST));
- CHK(scatt[0] == htmie_fetch_xsection_scattering(htmie, wlen, NEAREST));
- CHK(eq_eps(xabs, htmie_fetch_xsection_absorption(htmie, wlen, LINEAR), 1.e-6));
- CHK(eq_eps(xsca, htmie_fetch_xsection_scattering(htmie, wlen, LINEAR), 1.e-6));
-
- u = 0.51;
- wlen = wlens[0] + u * (wlens[1] - wlens[0]);
- xabs = absor[0] + u * (absor[1] - absor[0]);
- xsca = scatt[0] + u * (scatt[1] - scatt[0]);
- CHK(absor[1] == htmie_fetch_xsection_absorption(htmie, wlen, NEAREST));
- CHK(scatt[1] == htmie_fetch_xsection_scattering(htmie, wlen, NEAREST));
- CHK(eq_eps(xabs, htmie_fetch_xsection_absorption(htmie, wlen, LINEAR), 1.e-6));
- CHK(eq_eps(xsca, htmie_fetch_xsection_scattering(htmie, wlen, LINEAR), 1.e-6));
+ FOR_EACH(i, 0, nwlens-1) {
+ CHK(absor[i+0] == htmie_fetch_xsection_absorption(htmie, wlens[i+0], NEAREST));
+ CHK(absor[i+1] == htmie_fetch_xsection_absorption(htmie, wlens[i+1], NEAREST));
+ CHK(scatt[i+0] == htmie_fetch_xsection_scattering(htmie, wlens[i+0], NEAREST));
+ CHK(scatt[i+1] == htmie_fetch_xsection_scattering(htmie, wlens[i+1], NEAREST));
+
+ u = 0.25;
+ wlen = wlens[i+0] + u * (wlens[i+1] - wlens[i+0]);
+ xabs = absor[i+0] + u * (absor[i+1] - absor[i+0]);
+ xsca = scatt[i+0] + u * (scatt[i+1] - scatt[i+0]);
+ CHK(absor[i+0] == htmie_fetch_xsection_absorption(htmie, wlen, NEAREST));
+ CHK(scatt[i+0] == htmie_fetch_xsection_scattering(htmie, wlen, NEAREST));
+ CHK(eq_eps(xabs, htmie_fetch_xsection_absorption(htmie, wlen, LINEAR), 1.e-6));
+ CHK(eq_eps(xsca, htmie_fetch_xsection_scattering(htmie, wlen, LINEAR), 1.e-6));
+
+ u = 0.51;
+ wlen = wlens[i+0] + u * (wlens[i+1] - wlens[i+0]);
+ xabs = absor[i+0] + u * (absor[i+1] - absor[i+0]);
+ xsca = scatt[i+0] + u * (scatt[i+1] - scatt[i+0]);
+ CHK(absor[i+1] == htmie_fetch_xsection_absorption(htmie, wlen, NEAREST));
+ CHK(scatt[i+1] == htmie_fetch_xsection_scattering(htmie, wlen, NEAREST));
+ CHK(eq_eps(xabs, htmie_fetch_xsection_absorption(htmie, wlen, LINEAR), 1.e-6));
+ CHK(eq_eps(xsca, htmie_fetch_xsection_scattering(htmie, wlen, LINEAR), 1.e-6));
+ }
#undef NEAREST
#undef LINEAR