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:
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>