diff options
| author | Pjotr Prins | 2025-12-09 07:32:00 +0100 |
|---|---|---|
| committer | Pjotr Prins | 2025-12-09 07:32:00 +0100 |
| commit | 8a12a2f1833eec0d0d3e435c4eb9dc4a079b551a (patch) | |
| tree | 47f431760f30da92960d71879eaa09513525e465 /src/lmm.cpp | |
| parent | 4486e91d7228e9c79950236d7f146db2a0b099ee (diff) | |
| download | pangemma-8a12a2f1833eec0d0d3e435c4eb9dc4a079b551a.tar.gz | |
Compute K for Gb
Diffstat (limited to 'src/lmm.cpp')
| -rw-r--r-- | src/lmm.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/lmm.cpp b/src/lmm.cpp index 129cbd6..969e6fc 100644 --- a/src/lmm.cpp +++ b/src/lmm.cpp @@ -2242,6 +2242,7 @@ void LMM::mdb_calc_gwa(const gsl_matrix *U, const gsl_vector *eval, if (success) { size_t size = 0; + // ---- Depending on the format we get different buffers - currently float and byte are supported: if (format == "Gb") { size_t num_bytes = value.size() / sizeof(uint8_t); assert(num_bytes == ni_total); @@ -2270,13 +2271,6 @@ void LMM::mdb_calc_gwa(const gsl_matrix *U, const gsl_vector *eval, // "S>L>L>" const uint8_t* data = reinterpret_cast<const uint8_t*>(key.data()); auto chr = static_cast<uint8_t>(data[1]); - - // printf("%#02x %#02x\n", chr, loco_chr); - - if (is_loco && loco_chr != chr) { - return make_tuple(false, markerinfo, gs); - } - // Extract big-endian uint32 // uint32_t rest = static_cast<uint32_t>(data[2]); uint32_t pos = (data[2] << 24) | (data[3] << 16) | @@ -2285,6 +2279,12 @@ void LMM::mdb_calc_gwa(const gsl_matrix *U, const gsl_vector *eval, uint32_t num = (data[6] << 24) | (data[7] << 16) | (data[8] << 8) | data[9]; + // printf("%#02x %#02x\n", chr, loco_chr); + + if (is_loco && loco_chr != chr) { + return make_tuple(false, MarkerInfo { .name="", .chr=chr, .pos=pos } , gs); + } + string_view value2; marker_mdb.get(rtxn,key,value2); auto marker = string(value2); |
