solstice-solver

Solver library of the solstice app
git clone git://git.meso-star.com/solstice-solver.git
Log | Files | Refs | README | LICENSE

commit 6bd0bb87706f1b9f1878ddbf4d9fbd567563b51a
parent c2f74c92aeb3ad288b4535192807799a4d385c3b
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Mon, 24 Apr 2017 11:14:13 +0200

add the ssol_data_get_value to the public API

Diffstat:
Msrc/ssol.h | 4++++
Msrc/ssol_c.h | 19-------------------
Msrc/ssol_data.c | 20++++++++++++++++++++
Msrc/ssol_material.c | 3++-
4 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/src/ssol.h b/src/ssol.h @@ -1208,6 +1208,10 @@ ssol_data_eq (const struct ssol_data* op0, const struct ssol_data* op1); +SSOL_API double +ssol_data_get_value + (const struct ssol_data* data, + const double wavelength); /******************************************************************************* * Medium API diff --git a/src/ssol_c.h b/src/ssol_c.h @@ -18,7 +18,6 @@ #include "ssol.h" #include "ssol_instance_c.h" -#include "ssol_spectrum_c.h" #include <rsys/math.h> #include <star/s3d.h> @@ -69,23 +68,5 @@ hit_filter_function void* realisation, void* filter_data); -static INLINE double -ssol_data_get_value(const struct ssol_data* data, const double wavelength) -{ - double val; - ASSERT(data && wavelength >= 0); - - switch(data->type) { - case SSOL_DATA_REAL: - val = data->value.real; - break; - case SSOL_DATA_SPECTRUM: - val = spectrum_interpolate(data->value.spectrum, wavelength); - break; - default: FATAL("Unreachable code\n"); break; - } - return val; -} - #endif /* SSOL_C_H */ diff --git a/src/ssol_data.c b/src/ssol_data.c @@ -17,6 +17,7 @@ #define SSOL_DATA_C_H #include "ssol.h" +#include "ssol_spectrum_c.h" /******************************************************************************* * Exported functions @@ -88,5 +89,24 @@ ssol_data_eq(const struct ssol_data* a, const struct ssol_data* b) return 0; } +double +ssol_data_get_value(const struct ssol_data* data, const double wavelength) +{ + double val; + ASSERT(data); + + switch(data->type) { + case SSOL_DATA_REAL: + val = data->value.real; + break; + case SSOL_DATA_SPECTRUM: + ASSERT(wavelength >= 0); + val = spectrum_interpolate(data->value.spectrum, wavelength); + break; + default: FATAL("Unreachable code\n"); break; + } + return val; +} + #endif /* SSOL_DATA_C_H */ diff --git a/src/ssol_material.c b/src/ssol_material.c @@ -15,8 +15,9 @@ #include "ssol.h" #include "ssol_c.h" -#include "ssol_material_c.h" #include "ssol_device_c.h" +#include "ssol_material_c.h" +#include "ssol_spectrum_c.h" #include <rsys/double2.h> #include <rsys/double3.h>