From 3eda2c90c47f242bd1cfbc3dbe7534c08d87b529 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Fri, 5 Dec 2025 10:55:40 +0100 Subject: Replace tuple with aggregate --- src/lmm.cpp | 10 +++++----- src/lmm.h | 7 ++++++- 2 files changed, 11 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/lmm.cpp b/src/lmm.cpp index 66b8e37..44f2a55 100644 --- a/src/lmm.cpp +++ b/src/lmm.cpp @@ -2100,10 +2100,10 @@ void LMM::mdb_analyze(std::function< SnpNameValues2(size_t) >& fetch_snp, auto sumstats = [&] (SUMSTAT2 st) { outfile << scientific << setprecision(6); - auto tup = st.markerinfo; - auto name = get<0>(tup); - auto chr = get<1>(tup); - auto pos = get<2>(tup); + auto m = st.markerinfo; + auto name = m.name; + auto chr = m.chr; + auto pos = m.pos; outfile << chr << "\t"; outfile << name << "\t"; @@ -2255,7 +2255,7 @@ void LMM::mdb_calc_gwa(const gsl_matrix *U, const gsl_vector *eval, size_t n_miss = 0; // count NAs: FIXME double maf = compute_maf(ni_total, ni_test, n_miss, gs.data()); - markerinfo = make_tuple(marker,chr,pos,num); + markerinfo = MarkerChrPos { .name=marker,.chr=chr,.pos=pos,.line_no=num }; // cout << "!!!!" << size << marker << ": af" << maf << " " << gs[0] << "," << gs[1] << "," << gs[2] << "," << gs[3] << endl; } diff --git a/src/lmm.h b/src/lmm.h index 715b9c0..d382e48 100644 --- a/src/lmm.h +++ b/src/lmm.h @@ -45,7 +45,12 @@ public: size_t e_mode; }; -typedef tuple< string, uint16_t, uint32_t, uint32_t > MarkerChrPos; // name, chr, pos, line +// typedef tuple< string, uint16_t, uint32_t, uint32_t > MarkerChrPos; // name, chr, pos, line +struct MarkerChrPos { + string name; + size_t chr, pos, line_no; +} ; + typedef vector Markers; typedef tuple< string,vector > SnpNameValues; typedef tuple< bool,MarkerChrPos,vector > SnpNameValues2; // success, markerinfo (maf and n_miss are computed) -- cgit 1.4.1