From 9e6465bcc8f0d9bd1d78ad357a623452358ba7f2 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Fri, 14 Mar 2025 16:46:50 +0100 Subject: Added checkdata for coord EO --- src/solvers/coord/gendata.h | 24 ++++++++++++++++++++++++ src/solvers/h48/gendata_h48.h | 1 + 2 files changed, 25 insertions(+) (limited to 'src/solvers') diff --git a/src/solvers/coord/gendata.h b/src/solvers/coord/gendata.h index 9512b93..93ffc65 100644 --- a/src/solvers/coord/gendata.h +++ b/src/solvers/coord/gendata.h @@ -1,6 +1,8 @@ STATIC size_t gendata_coord(const coord_t *, void *); STATIC int64_t gendata_coord_dispatch(const char *, void *); STATIC tableinfo_t genptable_coord(const coord_t *, const void *, uint8_t *); +STATIC void getdistribution_coord( + const uint8_t *, const char *, uint64_t [static INFO_DISTRIBUTION_LEN]); STATIC uint8_t get_coord_pval(const coord_t *, const uint8_t *, uint64_t); STATIC void set_coord_pval(const coord_t *, uint8_t *, uint64_t, uint8_t); @@ -122,6 +124,28 @@ genptable_coord(const coord_t *coord, const void *data, uint8_t *table) return info; } +STATIC void +getdistribution_coord( + const uint8_t *table, + const char *coord, + uint64_t distr[static INFO_DISTRIBUTION_LEN] +) +{ + uint8_t v; + uint64_t i; + coord_t *c; + + memset(distr, 0, INFO_DISTRIBUTION_LEN * sizeof(uint64_t)); + + if((c = parse_coord(coord, strlen(coord))) == NULL) + return; + + for (i = 0; i < c->max; i++) { + v = get_coord_pval(c, table, i); + distr[v]++; + } +} + STATIC uint8_t get_coord_pval(const coord_t *coord, const uint8_t *table, uint64_t i) { diff --git a/src/solvers/h48/gendata_h48.h b/src/solvers/h48/gendata_h48.h index fe4b259..55db1be 100644 --- a/src/solvers/h48/gendata_h48.h +++ b/src/solvers/h48/gendata_h48.h @@ -682,6 +682,7 @@ getdistribution_h48( distr[val]++; } } + STATIC const uint32_t * get_cocsepdata_constptr(const void *data) { -- cgit v1.3