stardis-solver

Solve coupled heat transfers
git clone git://git.meso-star.fr/stardis-solver.git
Log | Files | Refs | README | LICENSE

commit 56a4af4b8edbe01a8c7e2afc4f6c8d9835572ab2
parent 927016507d8c894ba7c1fe1512dcbcc833702090
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Thu, 31 May 2018 16:51:15 +0200

Add the sdis_medium_get_data function

Diffstat:
Msrc/sdis.h | 4++++
Msrc/sdis_medium.c | 6++++++
Msrc/test_sdis_medium.c | 23++++++++++++++---------
3 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/src/sdis.h b/src/sdis.h @@ -373,6 +373,10 @@ SDIS_API enum sdis_medium_type sdis_medium_get_type (const struct sdis_medium* medium); +SDIS_API struct sdis_data* +sdis_medium_get_data + (struct sdis_medium* medium); + /******************************************************************************* * An interface is the boundary between 2 media. ******************************************************************************/ diff --git a/src/sdis_medium.c b/src/sdis_medium.c @@ -204,3 +204,9 @@ sdis_medium_get_type(const struct sdis_medium* medium) ASSERT(medium != NULL); return medium->type; } +struct sdis_data* +sdis_medium_get_data(struct sdis_medium* medium) +{ + ASSERT(medium); + return medium->data; +} diff --git a/src/test_sdis_medium.c b/src/test_sdis_medium.c @@ -25,6 +25,7 @@ main(int argc, char** argv) struct sdis_medium* solid = NULL; struct sdis_fluid_shader fluid_shader = DUMMY_FLUID_SHADER; struct sdis_solid_shader solid_shader = DUMMY_SOLID_SHADER; + void* ptr = (void*)((intptr_t)0xDEADBEEF); (void)argc, (void)argv; CHK(mem_init_proxy_allocator(&allocator, &mem_default_allocator) == RES_OK); @@ -60,15 +61,19 @@ main(int argc, char** argv) CHK(sdis_fluid_create (dev, &SDIS_FLUID_SHADER_NULL, NULL, &fluid) == RES_BAD_ARG); - - CHK(sdis_solid_create(NULL, NULL, NULL, NULL) == RES_BAD_ARG); - CHK(sdis_solid_create(dev, NULL, NULL, NULL) == RES_BAD_ARG); - CHK(sdis_solid_create(NULL, &solid_shader, NULL, NULL) == RES_BAD_ARG); - CHK(sdis_solid_create(dev, &solid_shader, NULL, NULL) == RES_BAD_ARG); - CHK(sdis_solid_create(NULL, NULL, NULL, &solid) == RES_BAD_ARG); - CHK(sdis_solid_create(dev, NULL, NULL, &solid) == RES_BAD_ARG); - CHK(sdis_solid_create(NULL, &solid_shader, NULL, &solid) == RES_BAD_ARG); - CHK(sdis_solid_create(dev, &solid_shader, NULL, &solid) == RES_OK); + CHK(sdis_medium_get_type(fluid) == SDIS_FLUID); + CHK(sdis_medium_get_data(fluid) == NULL); + + CHK(sdis_solid_create(NULL, NULL, ptr, NULL) == RES_BAD_ARG); + CHK(sdis_solid_create(dev, NULL, ptr, NULL) == RES_BAD_ARG); + CHK(sdis_solid_create(NULL, &solid_shader, ptr, NULL) == RES_BAD_ARG); + CHK(sdis_solid_create(dev, &solid_shader, ptr, NULL) == RES_BAD_ARG); + CHK(sdis_solid_create(NULL, NULL, ptr, &solid) == RES_BAD_ARG); + CHK(sdis_solid_create(dev, NULL, ptr, &solid) == RES_BAD_ARG); + CHK(sdis_solid_create(NULL, &solid_shader, ptr, &solid) == RES_BAD_ARG); + CHK(sdis_solid_create(dev, &solid_shader, ptr, &solid) == RES_OK); + CHK(sdis_medium_get_type(solid) == SDIS_SOLID); + CHK(sdis_medium_get_data(solid) == ptr); CHK(sdis_medium_ref_put(solid) == RES_OK); solid_shader.calorific_capacity = NULL;