aboutsummaryrefslogtreecommitdiff
path: root/src/solvers/h48/gendata_h48.h
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2024-09-27 08:22:55 +0200
committerSebastiano Tronto <sebastiano@tronto.net>2024-09-27 08:25:41 +0200
commitcee9856b2cb151f705acf6d27454ec08ef2b9a4e (patch)
tree4616e5c59e01be16e96103f9e9897ef004434eb7 /src/solvers/h48/gendata_h48.h
parent0b32395de2500ad87e15fbb0ff4a852e313037e9 (diff)
parent79500f46632ba50b1640d16983942b940dd7955f (diff)
downloadnissy-core-cee9856b2cb151f705acf6d27454ec08ef2b9a4e.tar.gz
nissy-core-cee9856b2cb151f705acf6d27454ec08ef2b9a4e.zip
Merge branch 'master' of tronto.net:h48
Diffstat (limited to 'src/solvers/h48/gendata_h48.h')
-rw-r--r--src/solvers/h48/gendata_h48.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/solvers/h48/gendata_h48.h b/src/solvers/h48/gendata_h48.h
index a88eb4f..48d5582 100644
--- a/src/solvers/h48/gendata_h48.h
+++ b/src/solvers/h48/gendata_h48.h
@@ -104,13 +104,16 @@ STATIC size_t gendata_h48k2_realcoord(gendata_h48_arg_t *);
104STATIC void gendata_h48k2_dfs(h48k2_dfs_arg_t *arg); 104STATIC void gendata_h48k2_dfs(h48k2_dfs_arg_t *arg);
105STATIC void * gendata_h48k2_runthread(void *); 105STATIC void * gendata_h48k2_runthread(void *);
106STATIC tableinfo_t makeinfo_h48k2(gendata_h48_arg_t *); 106STATIC tableinfo_t makeinfo_h48k2(gendata_h48_arg_t *);
107STATIC void getdistribution_h48(
108 const uint8_t *, uint64_t [static 21], uint8_t, uint8_t);
107 109
108STATIC uint32_t *get_cocsepdata_ptr(const void *); 110STATIC uint32_t *get_cocsepdata_ptr(const void *);
109STATIC uint8_t *get_h48data_ptr(const void *); 111STATIC uint8_t *get_h48data_ptr(const void *);
110 112
111STATIC_INLINE uint8_t get_h48_pval(const uint8_t *, int64_t, uint8_t); 113STATIC_INLINE uint8_t get_h48_pval(const uint8_t *, int64_t, uint8_t);
112STATIC_INLINE void set_h48_pval(uint8_t *, int64_t, uint8_t, uint8_t); 114STATIC_INLINE void set_h48_pval(uint8_t *, int64_t, uint8_t, uint8_t);
113STATIC_INLINE uint8_t get_h48_bound(cube_t, uint32_t, uint8_t, uint8_t, uint8_t *); 115STATIC_INLINE uint8_t get_h48_bound(
116 cube_t, uint32_t, uint8_t, uint8_t, uint8_t *);
114 117
115size_t gendata_h48_derive(uint8_t, const void *, void *); 118size_t gendata_h48_derive(uint8_t, const void *, void *);
116 119
@@ -665,6 +668,25 @@ makeinfo_h48k2(gendata_h48_arg_t *arg)
665 return info; 668 return info;
666} 669}
667 670
671STATIC void
672getdistribution_h48(
673 const uint8_t *table,
674 uint64_t distr[static 21],
675 uint8_t h,
676 uint8_t k
677) {
678 uint8_t val;
679 int64_t i, h48max;
680
681 memset(distr, 0, 21 * sizeof(uint64_t));
682
683 h48max = H48_COORDMAX(h);
684 for (i = 0; i < h48max; i++) {
685 val = get_h48_pval(table, i, k);
686 distr[val]++;
687 }
688}
689
668STATIC uint32_t * 690STATIC uint32_t *
669get_cocsepdata_ptr(const void *data) 691get_cocsepdata_ptr(const void *data)
670{ 692{

Generated with cgit - Back to sebastiano.tronto.net