commit 18f052ad97ae7c9811b74ef98377d550876e5eb6
parent 243b7b0254a38b411d4a61b952bed9b585b0da6e
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Thu, 22 Sep 2016 16:28:51 +0200
Naming uniformization (frequency -> wavelength).
Diffstat:
12 files changed, 50 insertions(+), 47 deletions(-)
diff --git a/src/ssol_ranst_sun_wl.c b/src/ssol_ranst_sun_wl.c
@@ -154,12 +154,12 @@ ranst_sun_wl_get
res_T
ranst_sun_wl_setup
(struct ranst_sun_wl* ran,
- const double* frequencies,
+ const double* wavelengths,
const double* intensities,
const size_t sz)
{
res_T res = RES_OK;
- if (!ran || !frequencies || !intensities || !sz)
+ if (!ran || !wavelengths || !intensities || !sz)
return RES_BAD_ARG;
if (sz > 1) {
ran->type = WL_PIECEWISE;
@@ -168,13 +168,13 @@ ranst_sun_wl_setup
ran->allocator, &ran->state.piecewise.spectrum);
if (res != RES_OK) goto error;
res = ssp_ranst_piecewise_linear_setup
- (ran->state.piecewise.spectrum, frequencies, intensities, sz);
+ (ran->state.piecewise.spectrum, wavelengths, intensities, sz);
if (res != RES_OK) goto error;
}
else {
ran->type = WL_DIRAC;
ran->get = &ran_dirac_get;
- ran->state.dirac.wavelength = frequencies[0];
+ ran->state.dirac.wavelength = wavelengths[0];
}
end:
return res;
diff --git a/src/ssol_ranst_sun_wl.h b/src/ssol_ranst_sun_wl.h
@@ -31,7 +31,7 @@ ranst_sun_wl_create
extern LOCAL_SYM res_T
ranst_sun_wl_setup
(struct ranst_sun_wl* ran,
- const double* frequencies,
+ const double* wavelengths,
const double* intensities,
const size_t sz);
diff --git a/src/ssol_scene.c b/src/ssol_scene.c
@@ -411,7 +411,7 @@ hit_filter_function
str_cget(receiver_name),
(unsigned) rs->rs_id,
(unsigned) rs->s_idx,
- rs->freq,
+ rs->wavelength,
seg->weight,
SPLIT3(seg->hit_pos),
SPLIT3(seg->dir),
diff --git a/src/ssol_solver.c b/src/ssol_solver.c
@@ -66,7 +66,7 @@ set_sun_distributions(struct solver_data* data)
struct ssol_spectrum* spectrum;
struct ssol_device* dev;
const struct ssol_sun* sun;
- const double* frequencies;
+ const double* wavelengths;
const double* intensities;
res_T res = RES_OK;
size_t sz;
@@ -81,11 +81,11 @@ set_sun_distributions(struct solver_data* data)
res = ranst_sun_wl_create(dev->allocator, &data->sun_wl_ran);
if (res != RES_OK) goto error;
spectrum = sun->spectrum;
- frequencies = darray_double_cdata_get(&spectrum->frequencies);
+ wavelengths = darray_double_cdata_get(&spectrum->wavelengths);
intensities = darray_double_cdata_get(&spectrum->intensities);
- sz = darray_double_size_get(&spectrum->frequencies);
+ sz = darray_double_size_get(&spectrum->wavelengths);
res = ranst_sun_wl_setup(
- data->sun_wl_ran, frequencies, intensities, sz);
+ data->sun_wl_ran, wavelengths, intensities, sz);
if (res != RES_OK) goto error;
/* then the direction distribution */
res = ranst_sun_dir_create(dev->allocator, &data->sun_dir_ran);
@@ -251,7 +251,8 @@ setup_next_segment(struct realisation* rs)
d3_set(seg->org, prev->hit_pos);
- res = material_shade(prev->hit_material, &data->fragment, rs->freq, data->brdfs);
+ res = material_shade(
+ prev->hit_material, &data->fragment, rs->wavelength, data->brdfs);
if (res != RES_OK) {
rs->end = TERM_ERR;
return res;
@@ -472,7 +473,7 @@ static void
sample_wavelength(struct realisation* rs)
{
ASSERT(rs);
- rs->freq = ranst_sun_wl_get(rs->data.sun_wl_ran, rs->data.rng);
+ rs->wavelength = ranst_sun_wl_get(rs->data.sun_wl_ran, rs->data.rng);
}
/* check if the sampled point as described in rs->start receives sun light
@@ -576,7 +577,7 @@ receive_sunlight(struct realisation* rs)
str_cget(receiver_name),
(unsigned) rs->rs_id,
(unsigned) rs->s_idx,
- rs->freq,
+ rs->wavelength,
seg->weight,
SPLIT3(seg->hit_pos),
SPLIT3(seg->dir),
@@ -612,7 +613,7 @@ propagate(struct realisation* rs)
switch (rs->data.scene->atmosphere->type) {
case ATMOS_UNIFORM:
spectrum = rs->data.scene->atmosphere->data.uniform.spectrum;
- CHECK(spectrum_interpolate(spectrum, rs->freq, &ka), RES_OK);
+ CHECK(spectrum_interpolate(spectrum, rs->wavelength, &ka), RES_OK);
break;
default: FATAL("Unreachable code\n"); break;
}
diff --git a/src/ssol_solver_c.h b/src/ssol_solver_c.h
@@ -120,7 +120,7 @@ struct realisation {
struct darray_segment segments;
struct starting_point start;
struct solver_data data;
- double freq;
+ double wavelength;
size_t s_idx;
size_t rs_id;
uint32_t success_mask;
diff --git a/src/ssol_spectrum.c b/src/ssol_spectrum.c
@@ -34,7 +34,7 @@ spectrum_release(ref_T* ref)
ASSERT(ref);
dev = spectrum->dev;
ASSERT(dev && dev->allocator);
- darray_double_release(&spectrum->frequencies);
+ darray_double_release(&spectrum->wavelengths);
darray_double_release(&spectrum->intensities);
MEM_RM(dev->allocator, spectrum);
SSOL(device_ref_put(dev));
@@ -47,10 +47,10 @@ spectrum_includes_point
{
const double* data;
size_t sz;
- ASSERT(spectrum && spectrum->frequencies.data && spectrum->intensities.data);
- sz = spectrum->frequencies.size;
+ ASSERT(spectrum && spectrum->wavelengths.data && spectrum->intensities.data);
+ sz = spectrum->wavelengths.size;
ASSERT(sz && sz == spectrum->intensities.size);
- data = spectrum->frequencies.data;
+ data = spectrum->wavelengths.data;
return data[0] <= wavelenght && wavelenght <= data[sz - 1];
}
@@ -79,8 +79,8 @@ spectrum_includes
return RES_BAD_ARG;
}
- test_sz = tested->frequencies.size;
- test_data = tested->frequencies.data;
+ test_sz = tested->wavelengths.size;
+ test_data = tested->wavelengths.data;
*include = spectrum_includes_point(reference, test_data[0])
&& spectrum_includes_point(reference, test_data[test_sz - 1]);
@@ -94,7 +94,7 @@ spectrum_interpolate
double* intensity)
{
double* next;
- double* freqs;
+ double* wavelengths;
double* ints;
double slope;
size_t idx_next, sz;
@@ -105,18 +105,20 @@ spectrum_interpolate
return RES_BAD_ARG;
}
- sz = spectrum->frequencies.size;
- freqs = spectrum->frequencies.data;
+ sz = spectrum->wavelengths.size;
+ wavelengths = spectrum->wavelengths.data;
ints = spectrum->intensities.data;
- next = search_lower_bound(&wavelenght, freqs, sz, sizeof(double), &eq_d);
+ next = search_lower_bound(&wavelenght, wavelengths, sz, sizeof(double), &eq_d);
ASSERT(next); /* cause spectrum_includes_point */
- idx_next = next - freqs;
+ idx_next = next - wavelengths;
ASSERT(idx_next); /* cause spectrum_includes_point */
ASSERT(ints[idx_next] >= ints[idx_next - 1]);
- ASSERT(freqs[idx_next] >= freqs[idx_next - 1]);
+ ASSERT(wavelengths[idx_next] >= wavelengths[idx_next - 1]);
- slope = (ints[idx_next] - ints[idx_next - 1]) / (freqs[idx_next] - freqs[idx_next - 1]);
- *intensity = ints[idx_next - 1] + (wavelenght - freqs[idx_next - 1]) * slope;
+ slope = (ints[idx_next] - ints[idx_next - 1])
+ / (wavelengths[idx_next] - wavelengths[idx_next - 1]);
+ *intensity = ints[idx_next - 1]
+ + (wavelenght - wavelengths[idx_next - 1]) * slope;
ASSERT(*intensity >= 0);
return RES_OK;
}
@@ -144,7 +146,7 @@ ssol_spectrum_create
SSOL(device_ref_get(dev));
spectrum->dev = dev;
ref_init(&spectrum->ref);
- darray_double_init(dev->allocator, &spectrum->frequencies);
+ darray_double_init(dev->allocator, &spectrum->wavelengths);
darray_double_init(dev->allocator, &spectrum->intensities);
exit:
@@ -191,17 +193,17 @@ ssol_spectrum_setup
|| !data)
return RES_BAD_ARG;
- res = darray_double_resize(&spectrum->frequencies, nwavelength);
+ res = darray_double_resize(&spectrum->wavelengths, nwavelength);
if (res != RES_OK) return res;
res = darray_double_resize(&spectrum->intensities, nwavelength);
if (res != RES_OK) {
- darray_double_clear(&spectrum->frequencies);
+ darray_double_clear(&spectrum->wavelengths);
return res;
}
FOR_EACH(i, 0, nwavelength) {
- spectrum->frequencies.data[i] = wavelengths[i];
+ spectrum->wavelengths.data[i] = wavelengths[i];
spectrum->intensities.data[i] = data[i];
}
diff --git a/src/ssol_spectrum_c.h b/src/ssol_spectrum_c.h
@@ -20,7 +20,7 @@
#include <rsys/dynamic_array_double.h>
struct ssol_spectrum {
- struct darray_double frequencies;
+ struct darray_double wavelengths;
struct darray_double intensities;
struct ssol_device* dev;
ref_T ref;
diff --git a/src/test_ssol_solver1.c b/src/test_ssol_solver1.c
@@ -54,7 +54,7 @@ main(int argc, char** argv)
struct ssol_spectrum* abs;
struct ssol_atmosphere* atm;
double dir[3];
- double frequencies[3] = { 1, 2, 3 };
+ double wavelengths[3] = { 1, 2, 3 };
double mismatch[3] = { 1.5, 3.5 };
double intensities[3] = { 1, 0.8, 1 };
double ka[3] = { 0, 0, 0 };
@@ -88,7 +88,7 @@ main(int argc, char** argv)
CHECK(ssp_rng_create(&allocator, &ssp_rng_threefry, &rng), RES_OK);
CHECK(ssol_spectrum_create(dev, &spectrum), RES_OK);
- CHECK(ssol_spectrum_setup(spectrum, frequencies, intensities, 3), RES_OK);
+ CHECK(ssol_spectrum_setup(spectrum, wavelengths, intensities, 3), RES_OK);
CHECK(ssol_sun_create_directional(dev, &sun), RES_OK);
CHECK(ssol_sun_set_direction(sun, d3(dir, 1, 0, -1)), RES_OK);
CHECK(ssol_sun_set_spectrum(sun, spectrum), RES_OK);
@@ -213,7 +213,7 @@ main(int argc, char** argv)
/* check atmosphere model; with no absorbtion result is unchanged */
CHECK(ssol_spectrum_create(dev, &abs), RES_OK);
- CHECK(ssol_spectrum_setup(abs, frequencies, ka, 3), RES_OK);
+ CHECK(ssol_spectrum_setup(abs, wavelengths, ka, 3), RES_OK);
CHECK(ssol_atmosphere_create_uniform(dev, &atm), RES_OK);
CHECK(ssol_atmosphere_set_uniform_absorbtion(atm, abs), RES_OK);
CHECK(ssol_scene_attach_atmosphere(scene, atm), RES_OK);
@@ -232,7 +232,7 @@ main(int argc, char** argv)
/* check atmosphere model; with absorbtion power decreases */
ka[0] = ka[1] = ka[2] = 0.1;
CHECK(ssol_spectrum_create(dev, &abs), RES_OK);
- CHECK(ssol_spectrum_setup(abs, frequencies, ka, 3), RES_OK);
+ CHECK(ssol_spectrum_setup(abs, wavelengths, ka, 3), RES_OK);
CHECK(ssol_atmosphere_create_uniform(dev, &atm), RES_OK);
CHECK(ssol_atmosphere_set_uniform_absorbtion(atm, abs), RES_OK);
CHECK(ssol_scene_attach_atmosphere(scene, atm), RES_OK);
@@ -255,7 +255,7 @@ main(int argc, char** argv)
CHECK(ssol_scene_detach_sun(scene, sun), RES_OK);
CHECK(ssol_scene_attach_sun(scene, sun_mono), RES_OK);
ka[1] = 0.2;
- CHECK(ssol_spectrum_setup(abs, frequencies, ka, 2), RES_OK);
+ CHECK(ssol_spectrum_setup(abs, wavelengths, ka, 2), RES_OK);
NCHECK(tmp = tmpfile(), 0);
CHECK(ssol_solve(scene, rng, N, tmp), RES_OK);
CHECK(pp_sum(tmp, "cible", &m, &std), RES_OK);
diff --git a/src/test_ssol_solver2.c b/src/test_ssol_solver2.c
@@ -56,7 +56,7 @@ main(int argc, char** argv)
struct ssol_sun* sun;
struct ssol_spectrum* spectrum;
double dir[3];
- double frequencies[3] = { 1, 2, 3 };
+ double wavelengths[3] = { 1, 2, 3 };
double intensities[3] = { 1, 0.8, 1 };
double transform1[12]; /* 3x4 column major matrix */
double transform2[12]; /* 3x4 column major matrix */
@@ -89,7 +89,7 @@ main(int argc, char** argv)
CHECK(ssp_rng_create(&allocator, &ssp_rng_threefry, &rng), RES_OK);
CHECK(ssol_spectrum_create(dev, &spectrum), RES_OK);
- CHECK(ssol_spectrum_setup(spectrum, frequencies, intensities, 3), RES_OK);
+ CHECK(ssol_spectrum_setup(spectrum, wavelengths, intensities, 3), RES_OK);
CHECK(ssol_sun_create_directional(dev, &sun), RES_OK);
CHECK(ssol_sun_set_direction(sun, d3(dir, 1, 0, -1)), RES_OK);
CHECK(ssol_sun_set_spectrum(sun, spectrum), RES_OK);
diff --git a/src/test_ssol_solver3.c b/src/test_ssol_solver3.c
@@ -54,7 +54,7 @@ main(int argc, char** argv)
struct ssol_sun* sun;
struct ssol_spectrum* spectrum;
double dir[3];
- double frequencies[3] = { 1, 2, 3 };
+ double wavelengths[3] = { 1, 2, 3 };
double intensities[3] = { 1, 0.8, 1 };
double transform[12]; /* 3x4 column major matrix */
double polygon[] = { -10.0, -10.0, -10.0, 10.0, 10.0, 10.0, 10.0, -10.0 };
@@ -81,7 +81,7 @@ main(int argc, char** argv)
CHECK(ssp_rng_create(&allocator, &ssp_rng_threefry, &rng), RES_OK);
CHECK(ssol_spectrum_create(dev, &spectrum), RES_OK);
- CHECK(ssol_spectrum_setup(spectrum, frequencies, intensities, 3), RES_OK);
+ CHECK(ssol_spectrum_setup(spectrum, wavelengths, intensities, 3), RES_OK);
CHECK(ssol_sun_create_directional(dev, &sun), RES_OK);
CHECK(ssol_sun_set_direction(sun, d3(dir, 1, 0, -1)), RES_OK);
CHECK(ssol_sun_set_spectrum(sun, spectrum), RES_OK);
diff --git a/src/test_ssol_solver4.c b/src/test_ssol_solver4.c
@@ -54,7 +54,7 @@ main(int argc, char** argv)
struct ssol_sun* sun;
struct ssol_spectrum* spectrum;
double dir[3];
- double frequencies[3] = { 1, 2, 3 };
+ double wavelengths[3] = { 1, 2, 3 };
double intensities[3] = { 1, 0.8, 1 };
double transform[12]; /* 3x4 column major matrix */
double polygon[] = { -10.0, -10.0, -10.0, 10.0, 10.0, 10.0, 10.0, -10.0 };
@@ -81,7 +81,7 @@ main(int argc, char** argv)
CHECK(ssp_rng_create(&allocator, &ssp_rng_threefry, &rng), RES_OK);
CHECK(ssol_spectrum_create(dev, &spectrum), RES_OK);
- CHECK(ssol_spectrum_setup(spectrum, frequencies, intensities, 3), RES_OK);
+ CHECK(ssol_spectrum_setup(spectrum, wavelengths, intensities, 3), RES_OK);
CHECK(ssol_sun_create_directional(dev, &sun), RES_OK);
CHECK(ssol_sun_set_direction(sun, d3(dir, 0, 0, -1)), RES_OK);
CHECK(ssol_sun_set_spectrum(sun, spectrum), RES_OK);
diff --git a/src/test_ssol_solver5.c b/src/test_ssol_solver5.c
@@ -54,7 +54,7 @@ main(int argc, char** argv)
struct ssol_sun* sun;
struct ssol_spectrum* spectrum;
double dir[3];
- double frequencies[3] = { 1, 2, 3 };
+ double wavelengths[3] = { 1, 2, 3 };
double intensities[3] = { 1, 0.8, 1 };
double transform[12]; /* 3x4 column major matrix */
double polygon[] = { -10.0, -10.0, -10.0, 10.0, 10.0, 10.0, 10.0, -10.0 };
@@ -81,7 +81,7 @@ main(int argc, char** argv)
CHECK(ssp_rng_create(&allocator, &ssp_rng_threefry, &rng), RES_OK);
CHECK(ssol_spectrum_create(dev, &spectrum), RES_OK);
- CHECK(ssol_spectrum_setup(spectrum, frequencies, intensities, 3), RES_OK);
+ CHECK(ssol_spectrum_setup(spectrum, wavelengths, intensities, 3), RES_OK);
CHECK(ssol_sun_create_directional(dev, &sun), RES_OK);
CHECK(ssol_sun_set_direction(sun, d3(dir, 0, 0, -1)), RES_OK);
CHECK(ssol_sun_set_spectrum(sun, spectrum), RES_OK);