Skip to content

Commit

Permalink
rm dbg print from ground_grid app, fix mliIo.c, fix histogram2d test.
Browse files Browse the repository at this point in the history
  • Loading branch information
relleums committed Jun 5, 2024
1 parent 73230df commit 4eda1c3
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 90 deletions.
9 changes: 4 additions & 5 deletions libs/mli/src/mliIo.c
Original file line number Diff line number Diff line change
Expand Up @@ -414,9 +414,9 @@ int mli_line_viewer_write(

int mliIo_write_from_file(struct mliIo *byt, FILE *f, const uint64_t size)
{
uint64_t i;
chk_msg(f, "Expected file to be open.");
chk_msg(byt->cstr != NULL, "Expected buffer to be allocated.");
uint64_t i;
for (i = 0; i < size; i++) {
char c = getc(f);
chk(mliIo_putc(byt, c))
Expand All @@ -429,19 +429,18 @@ int mliIo_write_from_file(struct mliIo *byt, FILE *f, const uint64_t size)

int mliIo_read_to_file(struct mliIo *byt, FILE *f, const uint64_t size)
{
uint64_t i;
chk_msg(f, "Expected file to be open.");
chk_msg(byt->cstr != NULL, "Expected buffer to be allocated.");
uint64_t i;

for (i = 0; i < size; i++) {
int rc = mliIo_getc(byt);
unsigned char c;
chk(rc != EOF);
c = (unsigned char)(rc);
chk_fwrite(c, sizeof(unsigned char), 1, f);
chk_fwrite(&c, sizeof(unsigned char), 1, f);
}

return 1;
chk_error:
return 0;
}
}
88 changes: 31 additions & 57 deletions libs/mli_corsika/apps/ground_grid.main.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@
#include "../../mli/src/mliDynArray.h"
#include "../../mli/src/mli_ray_grid_traversal.h"


int mliAxisAlignedGrid_set_from_config(struct mliAxisAlignedGrid *grid, struct mliIo *text)
int mliAxisAlignedGrid_set_from_config(
struct mliAxisAlignedGrid *grid,
struct mliIo *text)
{
struct mliVec lower;
struct mliVec upper;
Expand Down Expand Up @@ -53,7 +54,6 @@ int mliAxisAlignedGrid_set_from_config(struct mliAxisAlignedGrid *grid, struct m
return 1;
chk_error:
return 0;

}

#define HIST_TARGET_SIZE 10000
Expand All @@ -76,45 +76,44 @@ int main(int argc, char *argv[])
chk(mliCorsikaHistogram2d_malloc(&hist, HIST_TARGET_SIZE));

while (mliTar_read_header(&arc, &arch)) {
/*fprintf(stderr, "%s:%d\n", __FILE__, __LINE__);*/

if (strcmp(arch.name, "init.txt") == 0) {
struct mliIo config_text = mliIo_init();

/*fprintf(stderr, "%s:%d\n", __FILE__, __LINE__);*/

if (hist.dict.capacity > 10 * HIST_TARGET_SIZE) {
chk(mliCorsikaHistogram2d_malloc(&hist, HIST_TARGET_SIZE));
chk(mliCorsikaHistogram2d_malloc(
&hist, HIST_TARGET_SIZE));
} else {
mliCorsikaHistogram2d_reset(&hist);
}
chk(mliIo_malloc(&config_text));
chk(mliTar_read_data_to_io(&arc, &config_text, arch.size));
chk(mliAxisAlignedGrid_set_from_config(&grid, &config_text));
chk(mliTar_read_data_to_io(
&arc, &config_text, arch.size));
chk(mliAxisAlignedGrid_set_from_config(
&grid, &config_text));
mliIo_free(&config_text);
} else if (strcmp(arch.name, "cer.x8.float32") == 0) {
const int num_bunches = arch.size / 32;
int num = 0;

/*fprintf(stderr, "%s:%d\n", __FILE__, __LINE__);*/

for (i = 0; i < num_bunches; i++) {
chk_msg(
mliTar_read_data(&arc, (void *)raw, sizeof(raw)),
"Failed to read 'cer.x8.float32'."
);
chk_msg(mliTar_read_data(
&arc, (void *)raw, sizeof(raw)),
"Failed to read 'cer.x8.float32'.");
mliCorsikaPhotonBunch_set_from_raw(&bunch, raw);
ray.support.x = bunch.x_cm;
ray.support.y = bunch.y_cm;
ray.support.z = 0.0;
ray.direction.x = mli_corsika_ux_to_cx(bunch.ux);
ray.direction.y = mli_corsika_vy_to_cy(bunch.vy);
ray.direction.x =
mli_corsika_ux_to_cx(bunch.ux);
ray.direction.y =
mli_corsika_vy_to_cy(bunch.vy);
ray.direction.z =
mli_corsika_restore_direction_z_component(
ray.direction.x, ray.direction.y);
ray.direction.x,
ray.direction.y);

traversal =
mliAxisAlignedGridTraversal_start(&grid, &ray);
traversal = mliAxisAlignedGridTraversal_start(
&grid, &ray);

while (traversal.valid) {
num += 1;
Expand All @@ -123,56 +122,31 @@ int main(int argc, char *argv[])
traversal.voxel.x,
traversal.voxel.y,
bunch.weight_photons));
mliAxisAlignedGridTraversal_next(&traversal);
mliAxisAlignedGridTraversal_next(
&traversal);
}
}
/*fprintf(stderr, "%s:%d [%d]\n", __FILE__, __LINE__, num);*/

} else if (strcmp(arch.name, "export.txt") == 0) {
struct mliDynCorsikaHistogram2dBin bins = mliDynCorsikaHistogram2dBin_init();
struct mliDynCorsikaHistogram2dBin bins =
mliDynCorsikaHistogram2dBin_init();

/*fprintf(stderr, "%s:%d\n", __FILE__, __LINE__);*/
chk_msg(arch.size == 0, "Expected zero size.")

chk(
mliDynCorsikaHistogram2dBin_malloc(
chk(mliDynCorsikaHistogram2dBin_malloc(
&bins,
mliCorsikaHistogram2d_len(&hist)
)
);
mliCorsikaHistogram2d_len(&hist)));
chk(mliCorsikaHistogram2d_flatten(&hist, &bins));

fprintf(stderr, "==================================\n");
for (i = 0; i < bins.size; i++) {
fprintf(
stderr,
"[%d, %d](%e)\n",
bins.array[i].x,
bins.array[i].y,
bins.array[i].value
);
}

chk_fwrite(
&(bins.size),
sizeof(uint64_t),
1,
stdout
);
chk_fwrite(&(bins.size), sizeof(uint64_t), 1, stdout);
chk_fwrite(
&(bins.array[0]),
sizeof(struct mliCorsikaHistogram2dBin),
bins.size,
stdout
)
mliDynCorsikaHistogram2dBin_free(&bins);
stdout) mliDynCorsikaHistogram2dBin_free(&bins);
fflush(stdout);

} else {
chk_bad(
"Expected one of "
"['init.txt', 'cer.x8.float32', 'export.txt']."
);
chk_bad("Expected one of "
"['init.txt', 'cer.x8.float32', "
"'export.txt'].");
}
}

Expand Down
36 changes: 9 additions & 27 deletions libs/mli_corsika/src/mli_corsika_Histogram2d.test.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,42 +15,24 @@ CASE("mli_corsika_Histogram2d: init,malloc,free")

CASE("mli_corsika_Histogram2d: assign to same bin multiple times.")
{
uint64_t i = 0;
uint64_t a = 0;
int32_t b = 0;
double c = 0;
int64_t rc = 0;

uint64_t i;
struct mliCorsikaHistogram2d hist = mliCorsikaHistogram2d_init();
struct mliIo buff = mliIo_init();
struct mliDynCorsikaHistogram2dBin bins = mliDynCorsikaHistogram2dBin_init();

CHECK(mliCorsikaHistogram2d_malloc(&hist, 10));
CHECK(mliIo_malloc(&buff));
CHECK(mliDynCorsikaHistogram2dBin_malloc(&bins, 1));

for (i = 0; i < 20; i++) {
CHECK(mliCorsikaHistogram2d_assign(&hist, 42, 13, 0.5));
}

CHECK(mliCorsikaHistogram2d_dumps(&hist, &buff));
CHECK(mliCorsikaHistogram2d_flatten(&hist, &bins));
mliCorsikaHistogram2d_free(&hist);

buff.pos = 0;

rc = mliIo_read(&buff, (const void *)(&a), sizeof(uint64_t), 1);
CHECK(rc == 1);
CHECK(a == 1);

rc = mliIo_read(&buff, (const void *)(&b), sizeof(int32_t), 1);
CHECK(rc == 1);
CHECK(b == 42);

rc = mliIo_read(&buff, (const void *)(&b), sizeof(int32_t), 1);
CHECK(rc == 1);
CHECK(b == 13);

rc = mliIo_read(&buff, (const void *)(&c), sizeof(double), 1);
CHECK(rc == 1);
CHECK_MARGIN(c, 20 * 0.5, 1e-6);
CHECK(bins.size == 1);
CHECK(bins.array[0].x == 42);
CHECK(bins.array[0].y == 13);
CHECK_MARGIN(bins.array[0].value, 20 * 0.5, 1e-6);

mliIo_free(&buff);
mliDynCorsikaHistogram2dBin_free(&bins);
}
2 changes: 1 addition & 1 deletion libs/mli_corsika/src/mli_corsika_version.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@

#define MLI_CORSIKA_VERSION_MAYOR 0
#define MLI_CORSIKA_VERSION_MINOR 4
#define MLI_CORSIKA_VERSION_PATCH 0
#define MLI_CORSIKA_VERSION_PATCH 1

#endif

0 comments on commit 4eda1c3

Please sign in to comment.