MCPcopy Create free account
hub / github.com/aff3ct/aff3ct / build_siso

Method build_siso

src/Factory/Module/Decoder/LDPC/Decoder_LDPC.cpp:214–1126  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

212
213template<typename B, typename Q>
214module::Decoder_SISO<B, Q>*
215Decoder_LDPC ::build_siso(const tools::Sparse_matrix& H,
216 const std::vector<unsigned>& info_bits_pos,
217 module::Encoder<B>* /*encoder*/) const
218{
219 if (this->type == "BP_FLOODING" && this->simd_strategy.empty())
220 {
221 const auto max_CN_degree = (unsigned int)H.get_cols_max_degree();
222
223 if (this->implem == "MS")
224 return new module::Decoder_LDPC_BP_flooding<B, Q, tools::Update_rule_MS<Q>>(this->K,
225 this->N_cw,
226 this->n_ite,
227 H,
228 info_bits_pos,
229 tools::Update_rule_MS<Q>(),
230 this->enable_syndrome,
231 this->syndrome_depth);
232 if (this->implem == "OMS")
233 return new module::Decoder_LDPC_BP_flooding<B, Q, tools::Update_rule_OMS<Q>>(
234 this->K,
235 this->N_cw,
236 this->n_ite,
237 H,
238 info_bits_pos,
239 tools::Update_rule_OMS<Q>((Q)this->offset),
240 this->enable_syndrome,
241 this->syndrome_depth);
242 if (this->implem == "NMS")
243 return new module::Decoder_LDPC_BP_flooding<B, Q, tools::Update_rule_NMS<Q>>(
244 this->K,
245 this->N_cw,
246 this->n_ite,
247 H,
248 info_bits_pos,
249 tools::Update_rule_NMS<Q>(this->norm_factor),
250 this->enable_syndrome,
251 this->syndrome_depth);
252 if (this->implem == "SPA")
253 return new module::Decoder_LDPC_BP_flooding<B, Q, tools::Update_rule_SPA<Q>>(
254 this->K,
255 this->N_cw,
256 this->n_ite,
257 H,
258 info_bits_pos,
259 tools::Update_rule_SPA<Q>(max_CN_degree),
260 this->enable_syndrome,
261 this->syndrome_depth);
262 if (this->implem == "LSPA")
263 return new module::Decoder_LDPC_BP_flooding<B, Q, tools::Update_rule_LSPA<Q>>(
264 this->K,
265 this->N_cw,
266 this->n_ite,
267 H,
268 info_bits_pos,
269 tools::Update_rule_LSPA<Q>(max_CN_degree),
270 this->enable_syndrome,
271 this->syndrome_depth);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected