#ifndef BCJR_DECODER_H
#define BCJR_DECODER_H

#include <itpp/itbase.h>
#include <itpp/itcomm.h>

#include <maxstar.h>

using namespace std;
using namespace itpp;

class BCJR_decoder
{
public:
    BCJR_decoder();
    int state_count;
    maxstar max_star;

    void block_decode(vec apriori_uncoded, vec apriori_encoded, vec &extrinsic_uncoded);
    void block_decode(vec apriori_uncoded, vec apriori_encoded, vec &extrinsic_uncoded, vec &extrinsic_encoded);
};

#endif // BCJR_DECODER_H
