commit df0ff90c75cb418873c3303c70d6e15a9525d8bf
parent fa403f13a85230402ffb965f0968bb4821aa937c
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Fri, 13 Apr 2018 10:03:55 +0200
Clean up the volumic and probe_boundary tests
Diffstat:
3 files changed, 62 insertions(+), 123 deletions(-)
diff --git a/src/test_sdis_solve_probe_boundary.c b/src/test_sdis_solve_probe_boundary.c
@@ -51,68 +51,6 @@
#define LAMBDA 0.1
/*******************************************************************************
- * Geometry 3D
- ******************************************************************************/
-static void
-box_get_indices(const size_t itri, size_t ids[3], void* context)
-{
- (void)context;
- CHK(ids);
- ids[0] = box_indices[itri*3+0];
- ids[1] = box_indices[itri*3+1];
- ids[2] = box_indices[itri*3+2];
-}
-
-static void
-box_get_position(const size_t ivert, double pos[3], void* context)
-{
- (void)context;
- CHK(pos);
- pos[0] = box_vertices[ivert*3+0];
- pos[1] = box_vertices[ivert*3+1];
- pos[2] = box_vertices[ivert*3+2];
-}
-
-static void
-box_get_interface(const size_t itri, struct sdis_interface** bound, void* context)
-{
- struct sdis_interface** interfaces = context;
- CHK(context && bound);
- *bound = interfaces[itri];
-}
-
-/*******************************************************************************
- * Geometry 2D
- ******************************************************************************/
-static void
-square_get_indices(const size_t iseg, size_t ids[2], void* context)
-{
- (void)context;
- CHK(ids);
- ids[0] = square_indices[iseg*2+0];
- ids[1] = square_indices[iseg*2+1];
-}
-
-static void
-square_get_position(const size_t ivert, double pos[2], void* context)
-{
- (void)context;
- CHK(pos);
- pos[0] = square_vertices[ivert*2+0];
- pos[1] = square_vertices[ivert*2+1];
-}
-
-static void
-square_get_interface
- (const size_t iseg, struct sdis_interface** bound, void* context)
-{
- struct sdis_interface** interfaces = context;
- CHK(context && bound);
- *bound = interfaces[iseg];
-}
-
-
-/*******************************************************************************
* Media
******************************************************************************/
static double
diff --git a/src/test_sdis_utils.h b/src/test_sdis_utils.h
@@ -58,6 +58,37 @@ static const size_t box_indices[12/*#triangles*/*3/*#indices per triangle*/] = {
};
static const size_t box_ntriangles = sizeof(box_indices) / sizeof(size_t[3]);
+static INLINE void
+box_get_indices(const size_t itri, size_t ids[3], void* context)
+{
+ (void)context;
+ CHK(ids);
+ CHK(itri < box_ntriangles);
+ ids[0] = box_indices[itri*3+0];
+ ids[1] = box_indices[itri*3+1];
+ ids[2] = box_indices[itri*3+2];
+}
+
+static INLINE void
+box_get_position(const size_t ivert, double pos[3], void* context)
+{
+ (void)context;
+ CHK(pos);
+ CHK(ivert < box_nvertices);
+ pos[0] = box_vertices[ivert*3+0];
+ pos[1] = box_vertices[ivert*3+1];
+ pos[2] = box_vertices[ivert*3+2];
+}
+
+static INLINE void
+box_get_interface(const size_t itri, struct sdis_interface** bound, void* context)
+{
+ struct sdis_interface** interfaces = context;
+ CHK(context && bound);
+ CHK(itri < box_ntriangles);
+ *bound = interfaces[itri];
+}
+
/*******************************************************************************
* Square geometry
******************************************************************************/
@@ -77,6 +108,36 @@ static const size_t square_indices[4/*#triangles*/*2/*#indices per segment*/]= {
};
static const size_t square_nsegments = sizeof(square_indices)/sizeof(size_t[2]);
+static INLINE void
+square_get_indices(const size_t iseg, size_t ids[2], void* context)
+{
+ (void)context;
+ CHK(ids);
+ CHK(iseg < square_nsegments);
+ ids[0] = square_indices[iseg*2+0];
+ ids[1] = square_indices[iseg*2+1];
+}
+
+static INLINE void
+square_get_position(const size_t ivert, double pos[2], void* context)
+{
+ (void)context;
+ CHK(pos);
+ CHK(ivert < square_nvertices);
+ pos[0] = square_vertices[ivert*2+0];
+ pos[1] = square_vertices[ivert*2+1];
+}
+
+static INLINE void
+square_get_interface
+ (const size_t iseg, struct sdis_interface** bound, void* context)
+{
+ struct sdis_interface** interfaces = context;
+ CHK(context && bound);
+ CHK(iseg < square_nsegments);
+ *bound = interfaces[iseg];
+}
+
/*******************************************************************************
* Medium & interface
******************************************************************************/
diff --git a/src/test_sdis_volumic_power.c b/src/test_sdis_volumic_power.c
@@ -51,67 +51,6 @@
#define P0 10
/*******************************************************************************
- * Geometry 3D
- ******************************************************************************/
-static void
-box_get_indices(const size_t itri, size_t ids[3], void* context)
-{
- (void)context;
- CHK(ids);
- ids[0] = box_indices[itri*3+0];
- ids[1] = box_indices[itri*3+1];
- ids[2] = box_indices[itri*3+2];
-}
-
-static void
-box_get_position(const size_t ivert, double pos[3], void* context)
-{
- (void)context;
- CHK(pos);
- pos[0] = box_vertices[ivert*3+0];
- pos[1] = box_vertices[ivert*3+1];
- pos[2] = box_vertices[ivert*3+2];
-}
-
-static void
-box_get_interface(const size_t itri, struct sdis_interface** bound, void* context)
-{
- struct sdis_interface** interfaces = context;
- CHK(context && bound);
- *bound = interfaces[itri];
-}
-
-/*******************************************************************************
- * Geometry 2D
- ******************************************************************************/
-static void
-square_get_indices(const size_t iseg, size_t ids[2], void* context)
-{
- (void)context;
- CHK(ids);
- ids[0] = square_indices[iseg*2+0];
- ids[1] = square_indices[iseg*2+1];
-}
-
-static void
-square_get_position(const size_t ivert, double pos[2], void* context)
-{
- (void)context;
- CHK(pos);
- pos[0] = square_vertices[ivert*2+0];
- pos[1] = square_vertices[ivert*2+1];
-}
-
-static void
-square_get_interface
- (const size_t iseg, struct sdis_interface** bound, void* context)
-{
- struct sdis_interface** interfaces = context;
- CHK(context && bound);
- *bound = interfaces[iseg];
-}
-
-/*******************************************************************************
* Media
******************************************************************************/
static double
@@ -365,3 +304,4 @@ main(int argc, char** argv)
CHK(mem_allocated_size() == 0);
return 0;
}
+