<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/13214">View Change</a></p><div style="white-space:pre-wrap">Approvals:
Jenkins Builder: Verified
Pau Espin Pedrol: Looks good to me, but someone else must approve
Harald Welte: Looks good to me, approved
</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">MCS: add mcs_is_*() helpers<br><br>In preparation for Channel Coding Command encoder in follow-up patches<br>let's add necessary helpers. Those are similar to previously used<br>helpers from GprsCodingScheme class but without CamelCase and with less<br>typo chances between Gprs and Egprs cases.<br><br>Change-Id: I6699cbc8d7ae766fa4d2b3d37e5f9ff1cf158b7e<br>---<br>M src/coding_scheme.c<br>M src/coding_scheme.h<br>M src/decoding.cpp<br>M src/encoding.cpp<br>M src/gprs_coding_scheme.cpp<br>M src/gprs_coding_scheme.h<br>M src/gprs_ms.cpp<br>M src/pdch.cpp<br>M src/tbf.cpp<br>M src/tbf_dl.cpp<br>M src/tbf_ul.cpp<br>M tests/edge/EdgeTest.cpp<br>12 files changed, 65 insertions(+), 45 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/coding_scheme.c b/src/coding_scheme.c</span><br><span>index 135ddd2..4a5d0d4 100644</span><br><span>--- a/src/coding_scheme.c</span><br><span>+++ b/src/coding_scheme.c</span><br><span>@@ -46,6 +46,24 @@</span><br><span> return get_value_string(mcs_names, val);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+bool mcs_is_gprs(enum CodingScheme cs)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ return CS1 <= cs && cs <= CS4;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+bool mcs_is_edge(enum CodingScheme cs)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ return MCS1 <= cs && cs <= MCS9;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+bool mcs_is_edge_gmsk(enum CodingScheme cs)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_edge(cs))</span><br><span style="color: hsl(120, 100%, 40%);">+ return cs <= MCS4;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ return false;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> static struct {</span><br><span> struct {</span><br><span> uint8_t data_header_bits;</span><br><span>diff --git a/src/coding_scheme.h b/src/coding_scheme.h</span><br><span>index f69a76e..3a9ef25 100644</span><br><span>--- a/src/coding_scheme.h</span><br><span>+++ b/src/coding_scheme.h</span><br><span>@@ -33,6 +33,10 @@</span><br><span> extern const struct value_string mcs_names[];</span><br><span> const char *mcs_name(enum CodingScheme val);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+bool mcs_is_gprs(enum CodingScheme cs);</span><br><span style="color: hsl(120, 100%, 40%);">+bool mcs_is_edge(enum CodingScheme cs);</span><br><span style="color: hsl(120, 100%, 40%);">+bool mcs_is_edge_gmsk(enum CodingScheme cs);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> enum HeaderType {</span><br><span> HEADER_INVALID,</span><br><span> HEADER_GPRS_CONTROL,</span><br><span>diff --git a/src/decoding.cpp b/src/decoding.cpp</span><br><span>index 1473ff7..d439e30 100644</span><br><span>--- a/src/decoding.cpp</span><br><span>+++ b/src/decoding.cpp</span><br><span>@@ -215,7 +215,7 @@</span><br><span> "but no more chunks possible\n");</span><br><span> return -ENOSPC;</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">- } else if (cs.isEgprs()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (mcs_is_edge(cs)) {</span><br><span> /* if E is not set (LI follows), EGPRS */</span><br><span> num_chunks = parse_extensions_egprs(data, data_len, &offs,</span><br><span> is_last_block,</span><br><span>@@ -240,7 +240,7 @@</span><br><span> }</span><br><span> </span><br><span> memcpy(&tlli_enc, data + offs, sizeof(tlli_enc));</span><br><span style="color: hsl(0, 100%, 40%);">- if (cs.isGprs())</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_gprs(cs))</span><br><span> /* The TLLI is encoded in big endian for GPRS (see</span><br><span> * TS 44.060, figure 10.2.2.1, note) */</span><br><span> *tlli = be32toh(tlli_enc);</span><br><span>diff --git a/src/encoding.cpp b/src/encoding.cpp</span><br><span>index e21a7fc..9920b46 100644</span><br><span>--- a/src/encoding.cpp</span><br><span>+++ b/src/encoding.cpp</span><br><span>@@ -1605,12 +1605,12 @@</span><br><span> gprs_llc *llc, int *offset, int *num_chunks,</span><br><span> uint8_t *data_block, bool is_final, int *count_payload)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- if (cs.isGprs())</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_gprs(cs))</span><br><span> return rlc_data_to_dl_append_gprs(rdbi,</span><br><span> llc, offset, num_chunks, data_block, is_final,</span><br><span> count_payload);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (cs.isEgprs())</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_edge(cs))</span><br><span> return rlc_data_to_dl_append_egprs(rdbi,</span><br><span> llc, offset, num_chunks, data_block, is_final,</span><br><span> count_payload);</span><br><span>diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp</span><br><span>index 1a89b77..8e6593b 100644</span><br><span>--- a/src/gprs_coding_scheme.cpp</span><br><span>+++ b/src/gprs_coding_scheme.cpp</span><br><span>@@ -228,10 +228,10 @@</span><br><span> </span><br><span> void GprsCodingScheme::inc()</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- if (isGprs() && m_scheme == CS4)</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_gprs(m_scheme) && m_scheme == CS4)</span><br><span> return;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (isEgprs() && m_scheme == MCS9)</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_edge(m_scheme) && m_scheme == MCS9)</span><br><span> return;</span><br><span> </span><br><span> if (!isValid())</span><br><span>@@ -242,10 +242,10 @@</span><br><span> </span><br><span> void GprsCodingScheme::dec()</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- if (isGprs() && m_scheme == CS1)</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_gprs(m_scheme) && m_scheme == CS1)</span><br><span> return;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (isEgprs() && m_scheme == MCS1)</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_edge(m_scheme) && m_scheme == MCS1)</span><br><span> return;</span><br><span> </span><br><span> if (!isValid())</span><br><span>diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h</span><br><span>index 6f965d6..728ffd6 100644</span><br><span>--- a/src/gprs_coding_scheme.h</span><br><span>+++ b/src/gprs_coding_scheme.h</span><br><span>@@ -45,9 +45,7 @@</span><br><span> GprsCodingScheme& operator =(GprsCodingScheme o);</span><br><span> </span><br><span> bool isValid() const {return UNKNOWN <= m_scheme && m_scheme <= MCS9;}</span><br><span style="color: hsl(0, 100%, 40%);">- bool isGprs() const {return CS1 <= m_scheme && m_scheme <= CS4;}</span><br><span style="color: hsl(0, 100%, 40%);">- bool isEgprs() const {return m_scheme >= MCS1;}</span><br><span style="color: hsl(0, 100%, 40%);">- bool isEgprsGmsk() const {return isEgprs() && m_scheme <= MCS4;}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> bool isCompatible(enum mcs_kind mode) const;</span><br><span> bool isCompatible(GprsCodingScheme o) const;</span><br><span> bool isFamilyCompatible(GprsCodingScheme o) const;</span><br><span>@@ -86,10 +84,10 @@</span><br><span> </span><br><span> inline uint8_t GprsCodingScheme::to_num() const</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- if (isGprs())</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_gprs(m_scheme))</span><br><span> return (m_scheme - CS1) + 1;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (isEgprs())</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_edge(m_scheme))</span><br><span> return (m_scheme - MCS1) + 1;</span><br><span> </span><br><span> return 0;</span><br><span>@@ -98,9 +96,9 @@</span><br><span> inline bool GprsCodingScheme::isCompatible(enum mcs_kind mode) const</span><br><span> {</span><br><span> switch (mode) {</span><br><span style="color: hsl(0, 100%, 40%);">- case GPRS: return isGprs();</span><br><span style="color: hsl(0, 100%, 40%);">- case EGPRS_GMSK: return isEgprsGmsk();</span><br><span style="color: hsl(0, 100%, 40%);">- case EGPRS: return isEgprs();</span><br><span style="color: hsl(120, 100%, 40%);">+ case GPRS: return mcs_is_gprs(m_scheme);</span><br><span style="color: hsl(120, 100%, 40%);">+ case EGPRS_GMSK: return mcs_is_edge_gmsk(m_scheme);</span><br><span style="color: hsl(120, 100%, 40%);">+ case EGPRS: return mcs_is_edge(m_scheme);</span><br><span> }</span><br><span> </span><br><span> return false;</span><br><span>@@ -108,7 +106,7 @@</span><br><span> </span><br><span> inline bool GprsCodingScheme::isCompatible(GprsCodingScheme o) const</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- return (isGprs() && o.isGprs()) || (isEgprs() && o.isEgprs());</span><br><span style="color: hsl(120, 100%, 40%);">+ return (mcs_is_gprs(m_scheme) && mcs_is_gprs(o)) || (mcs_is_edge(m_scheme) && mcs_is_edge(o));</span><br><span> }</span><br><span> </span><br><span> inline GprsCodingScheme::GprsCodingScheme(CodingScheme s)</span><br><span>diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp</span><br><span>index e64bee4..f8f6227 100644</span><br><span>--- a/src/gprs_ms.cpp</span><br><span>+++ b/src/gprs_ms.cpp</span><br><span>@@ -222,13 +222,13 @@</span><br><span> </span><br><span> switch (m_mode) {</span><br><span> case GPRS:</span><br><span style="color: hsl(0, 100%, 40%);">- if (!m_current_cs_ul.isGprs()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!mcs_is_gprs(m_current_cs_ul)) {</span><br><span> m_current_cs_ul = GprsCodingScheme::getGprsByNum(</span><br><span> m_bts->bts_data()->initial_cs_ul);</span><br><span> if (!m_current_cs_ul.isValid())</span><br><span> m_current_cs_ul = CS1;</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">- if (!m_current_cs_dl.isGprs()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!mcs_is_gprs(m_current_cs_dl)) {</span><br><span> m_current_cs_dl = GprsCodingScheme::getGprsByNum(</span><br><span> m_bts->bts_data()->initial_cs_dl);</span><br><span> if (!m_current_cs_dl.isValid())</span><br><span>@@ -238,13 +238,13 @@</span><br><span> </span><br><span> case EGPRS_GMSK:</span><br><span> case EGPRS:</span><br><span style="color: hsl(0, 100%, 40%);">- if (!m_current_cs_ul.isEgprs()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!mcs_is_edge(m_current_cs_ul)) {</span><br><span> m_current_cs_ul = GprsCodingScheme::getEgprsByNum(</span><br><span> m_bts->bts_data()->initial_mcs_ul);</span><br><span> if (!m_current_cs_ul.isValid())</span><br><span> m_current_cs_ul = MCS1;</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">- if (!m_current_cs_dl.isEgprs()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!mcs_is_edge(m_current_cs_dl)) {</span><br><span> m_current_cs_dl = GprsCodingScheme::getEgprsByNum(</span><br><span> m_bts->bts_data()->initial_mcs_dl);</span><br><span> if (!m_current_cs_dl.isValid())</span><br><span>@@ -564,14 +564,14 @@</span><br><span> OSMO_ASSERT(m_bts != NULL);</span><br><span> bts_data = m_bts->bts_data();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (m_current_cs_ul.isGprs()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_gprs(m_current_cs_ul)) {</span><br><span> if (!bts_data->max_cs_ul)</span><br><span> return GprsCodingScheme(CS4);</span><br><span> </span><br><span> return GprsCodingScheme::getGprsByNum(bts_data->max_cs_ul);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (!m_current_cs_ul.isEgprs())</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!mcs_is_edge(m_current_cs_ul))</span><br><span> return GprsCodingScheme(); /* UNKNOWN */</span><br><span> </span><br><span> if (bts_data->max_mcs_ul)</span><br><span>@@ -594,14 +594,14 @@</span><br><span> OSMO_ASSERT(m_bts != NULL);</span><br><span> bts_data = m_bts->bts_data();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (m_current_cs_dl.isGprs()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_gprs(m_current_cs_dl)) {</span><br><span> if (!bts_data->max_cs_dl)</span><br><span> return GprsCodingScheme(CS4);</span><br><span> </span><br><span> return GprsCodingScheme::getGprsByNum(bts_data->max_cs_dl);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (!m_current_cs_dl.isEgprs())</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!mcs_is_edge(m_current_cs_dl))</span><br><span> return GprsCodingScheme(); /* UNKNOWN */</span><br><span> </span><br><span> if (bts_data->max_mcs_dl)</span><br><span>@@ -650,12 +650,12 @@</span><br><span> </span><br><span> old_link_qual = meas->link_qual;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (m_current_cs_ul.isGprs()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_gprs(m_current_cs_ul)) {</span><br><span> if (current_cs_num > MAX_GPRS_CS)</span><br><span> current_cs_num = MAX_GPRS_CS;</span><br><span> low = bts_data->cs_lqual_ranges[current_cs_num-1].low;</span><br><span> high = bts_data->cs_lqual_ranges[current_cs_num-1].high;</span><br><span style="color: hsl(0, 100%, 40%);">- } else if (m_current_cs_ul.isEgprs()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (mcs_is_edge(m_current_cs_ul)) {</span><br><span> if (current_cs_num > MAX_EDGE_MCS)</span><br><span> current_cs_num = MAX_EDGE_MCS;</span><br><span> low = bts_data->mcs_lqual_ranges[current_cs_num-1].low;</span><br><span>diff --git a/src/pdch.cpp b/src/pdch.cpp</span><br><span>index c6c677c..8003105 100644</span><br><span>--- a/src/pdch.cpp</span><br><span>+++ b/src/pdch.cpp</span><br><span>@@ -741,10 +741,10 @@</span><br><span> LOGP(DRLCMACUL, LOGL_DEBUG, "Got RLC block, coding scheme: %s, "</span><br><span> "length: %d (%d))\n", mcs_name(cs), len, cs.usedSizeUL());</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (cs.isGprs())</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_gprs(cs))</span><br><span> return rcv_block_gprs(data, len, fn, meas, cs);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (cs.isEgprs())</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_edge(cs))</span><br><span> return rcv_data_block(data, len, fn, meas, cs);</span><br><span> </span><br><span> bts()->decode_error();</span><br><span>@@ -765,7 +765,7 @@</span><br><span> /* These are always data blocks, since EGPRS still uses CS-1 for</span><br><span> * control blocks (see 44.060, section 10.3, 1st par.)</span><br><span> */</span><br><span style="color: hsl(0, 100%, 40%);">- if (cs.isEgprs()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_edge(cs)) {</span><br><span> if (!bts()->bts_data()->egprs_enabled) {</span><br><span> LOGP(DRLCMACUL, LOGL_ERROR,</span><br><span> "Got %s RLC block but EGPRS is not enabled\n",</span><br><span>diff --git a/src/tbf.cpp b/src/tbf.cpp</span><br><span>index 3d9b5c4..dc90dbb 100644</span><br><span>--- a/src/tbf.cpp</span><br><span>+++ b/src/tbf.cpp</span><br><span>@@ -952,8 +952,8 @@</span><br><span> </span><br><span> static void setup_egprs_mode(gprs_rlcmac_bts *bts, GprsMs *ms)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- if (GprsCodingScheme::getEgprsByNum(bts->max_mcs_ul).isEgprsGmsk() &&</span><br><span style="color: hsl(0, 100%, 40%);">- GprsCodingScheme::getEgprsByNum(bts->max_mcs_dl).isEgprsGmsk() &&</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_edge_gmsk(GprsCodingScheme::getEgprsByNum(bts->max_mcs_ul)) &&</span><br><span style="color: hsl(120, 100%, 40%);">+ mcs_is_edge_gmsk(GprsCodingScheme::getEgprsByNum(bts->max_mcs_dl)) &&</span><br><span> ms->mode() != EGPRS)</span><br><span> {</span><br><span> ms->set_mode(EGPRS_GMSK);</span><br><span>diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp</span><br><span>index c276b3a..13ef143 100644</span><br><span>--- a/src/tbf_dl.cpp</span><br><span>+++ b/src/tbf_dl.cpp</span><br><span>@@ -363,7 +363,7 @@</span><br><span> </span><br><span> if (previous_bsn >= 0) {</span><br><span> force_cs = m_rlc.block(previous_bsn)->cs_current_trans;</span><br><span style="color: hsl(0, 100%, 40%);">- if (!force_cs.isEgprs())</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!mcs_is_edge(force_cs))</span><br><span> return -1;</span><br><span> force_data_len = m_rlc.block(previous_bsn)->len;</span><br><span> }</span><br><span>@@ -765,7 +765,7 @@</span><br><span> m_rlc.block(bsn)->next_ps,</span><br><span> m_rlc.block(bsn)->cs_last, cs, spb);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (cs.isEgprs()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_edge(cs)) {</span><br><span> OSMO_ASSERT(m_rlc.block(bsn)->next_ps >= EGPRS_PS_1);</span><br><span> OSMO_ASSERT(m_rlc.block(bsn)->next_ps <= EGPRS_PS_3);</span><br><span> }</span><br><span>@@ -812,7 +812,7 @@</span><br><span> }</span><br><span> </span><br><span> /* Calculate CPS only for EGPRS case */</span><br><span style="color: hsl(0, 100%, 40%);">- if (cs.isEgprs())</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_edge(cs))</span><br><span> rlc.cps = gprs_rlc_mcs_cps(cs, punct[0], punct[1], need_padding);</span><br><span> </span><br><span> /* If the TBF has just started, relate frames_since_last_poll to the</span><br><span>@@ -1369,7 +1369,7 @@</span><br><span> uint8_t coding_scheme = 0;</span><br><span> </span><br><span> coding_scheme = CodingScheme(cs);</span><br><span style="color: hsl(0, 100%, 40%);">- if (cs.isGprs()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_gprs(cs)) {</span><br><span> switch (coding_scheme) {</span><br><span> case CS1 :</span><br><span> bts->gprs_dl_cs1();</span><br><span>diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp</span><br><span>index 0bf5765..f40ec3d 100644</span><br><span>--- a/src/tbf_ul.cpp</span><br><span>+++ b/src/tbf_ul.cpp</span><br><span>@@ -530,7 +530,7 @@</span><br><span> uint8_t coding_scheme = 0;</span><br><span> </span><br><span> coding_scheme = CodingScheme(cs);</span><br><span style="color: hsl(0, 100%, 40%);">- if (cs.isGprs()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (mcs_is_gprs(cs)) {</span><br><span> switch (coding_scheme) {</span><br><span> case CS1 :</span><br><span> bts->gprs_ul_cs1();</span><br><span>diff --git a/tests/edge/EdgeTest.cpp b/tests/edge/EdgeTest.cpp</span><br><span>index b902806..f124b76 100644</span><br><span>--- a/tests/edge/EdgeTest.cpp</span><br><span>+++ b/tests/edge/EdgeTest.cpp</span><br><span>@@ -59,14 +59,14 @@</span><br><span> </span><br><span> /* Check static getBySizeUL() */</span><br><span> expected_size = cs.usedSizeUL();</span><br><span style="color: hsl(0, 100%, 40%);">- if (cs.spareBitsUL() > 0 && cs.isGprs())</span><br><span style="color: hsl(120, 100%, 40%);">+ if (cs.spareBitsUL() > 0 && mcs_is_gprs(cs))</span><br><span> expected_size += 1;</span><br><span> OSMO_ASSERT(expected_size == cs.sizeUL());</span><br><span> OSMO_ASSERT(cs == GprsCodingScheme::getBySizeUL(expected_size));</span><br><span> </span><br><span> /* Check static sizeUL() */</span><br><span> expected_size = cs.usedSizeDL();</span><br><span style="color: hsl(0, 100%, 40%);">- if (cs.spareBitsDL() > 0 && cs.isGprs())</span><br><span style="color: hsl(120, 100%, 40%);">+ if (cs.spareBitsDL() > 0 && mcs_is_gprs(cs))</span><br><span> expected_size += 1;</span><br><span> OSMO_ASSERT(expected_size == cs.sizeDL());</span><br><span> </span><br><span>@@ -157,9 +157,9 @@</span><br><span> </span><br><span> for (i = 0; i < ARRAY_SIZE(gprs_schemes); i++) {</span><br><span> GprsCodingScheme current_cs(gprs_schemes[i]);</span><br><span style="color: hsl(0, 100%, 40%);">- OSMO_ASSERT(current_cs.isGprs());</span><br><span style="color: hsl(0, 100%, 40%);">- OSMO_ASSERT(!current_cs.isEgprs());</span><br><span style="color: hsl(0, 100%, 40%);">- OSMO_ASSERT(!current_cs.isEgprsGmsk());</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_ASSERT(mcs_is_gprs(current_cs));</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_ASSERT(!mcs_is_edge(current_cs));</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_ASSERT(!mcs_is_edge_gmsk(current_cs));</span><br><span> OSMO_ASSERT(CodingScheme(current_cs) == gprs_schemes[i]);</span><br><span> OSMO_ASSERT(current_cs == GprsCodingScheme(gprs_schemes[i]));</span><br><span> </span><br><span>@@ -179,9 +179,9 @@</span><br><span> </span><br><span> for (i = 0; i < ARRAY_SIZE(egprs_schemes); i++) {</span><br><span> GprsCodingScheme current_cs(egprs_schemes[i].s);</span><br><span style="color: hsl(0, 100%, 40%);">- OSMO_ASSERT(!current_cs.isGprs());</span><br><span style="color: hsl(0, 100%, 40%);">- OSMO_ASSERT(current_cs.isEgprs());</span><br><span style="color: hsl(0, 100%, 40%);">- OSMO_ASSERT(!!current_cs.isEgprsGmsk() == !!egprs_schemes[i].is_gmsk);</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_ASSERT(!mcs_is_gprs(current_cs));</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_ASSERT(mcs_is_edge(current_cs));</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_ASSERT(mcs_is_edge_gmsk(current_cs) == !!egprs_schemes[i].is_gmsk);</span><br><span> OSMO_ASSERT(CodingScheme(current_cs) == egprs_schemes[i].s);</span><br><span> OSMO_ASSERT(current_cs == GprsCodingScheme(egprs_schemes[i].s));</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13214">change 13214</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/13214"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmo-pcu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I6699cbc8d7ae766fa4d2b3d37e5f9ff1cf158b7e </div>
<div style="display:none"> Gerrit-Change-Number: 13214 </div>
<div style="display:none"> Gerrit-PatchSet: 6 </div>
<div style="display:none"> Gerrit-Owner: Max <msuraev@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>
<div style="display:none"> Gerrit-Reviewer: Max <msuraev@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Pau Espin Pedrol <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: osmith <osmith@sysmocom.de> </div>