~bitglue/gnuradio/install-in-etc

« back to all changes in this revision

Viewing changes to gr-trellis/src/lib/trellis_viterbi_combined_s.h

  • Committer: eb
  • Date: 2006-08-07 16:28:55 UTC
  • Revision ID: git-v1:e9a821632def12c450110e164d0d1c0275d41946
Merged anastas/wip changes r3156:3218 into trunk.


git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@3219 221aa14e-8319-0410-a670-987f0aec2ac5

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* -*- c++ -*- */
 
2
/*
 
3
 * Copyright 2004 Free Software Foundation, Inc.
 
4
 * 
 
5
 * This file is part of GNU Radio
 
6
 * 
 
7
 * GNU Radio is free software; you can redistribute it and/or modify
 
8
 * it under the terms of the GNU General Public License as published by
 
9
 * the Free Software Foundation; either version 2, or (at your option)
 
10
 * any later version.
 
11
 * 
 
12
 * GNU Radio is distributed in the hope that it will be useful,
 
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
15
 * GNU General Public License for more details.
 
16
 * 
 
17
 * You should have received a copy of the GNU General Public License
 
18
 * along with GNU Radio; see the file COPYING.  If not, write to
 
19
 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 
20
 * Boston, MA 02111-1307, USA.
 
21
 */
 
22
 
 
23
// WARNING: this file is machine generated.  Edits will be over written
 
24
 
 
25
#ifndef INCLUDED_TRELLIS_VITERBI_COMBINED_S_H
 
26
#define INCLUDED_TRELLIS_VITERBI_COMBINED_S_H
 
27
 
 
28
#include "fsm.h"
 
29
#include <gr_block.h>
 
30
#include "trellis_calc_metric.h"
 
31
 
 
32
class trellis_viterbi_combined_s;
 
33
typedef boost::shared_ptr<trellis_viterbi_combined_s> trellis_viterbi_combined_s_sptr;
 
34
 
 
35
trellis_viterbi_combined_s_sptr trellis_make_viterbi_combined_s (
 
36
    const fsm &FSM,
 
37
    const int D,
 
38
    const std::vector<float> &TABLE,
 
39
    const int K,
 
40
    const int S0,
 
41
    const int SK,
 
42
    const trellis_metric_type_t TYPE);
 
43
 
 
44
 
 
45
class trellis_viterbi_combined_s : public gr_block
 
46
{
 
47
  fsm d_FSM;
 
48
  int d_D;
 
49
  std::vector<float> d_TABLE;
 
50
  int d_K;
 
51
  int d_S0;
 
52
  int d_SK;
 
53
  trellis_metric_type_t d_TYPE;
 
54
  std::vector<int> d_trace;
 
55
 
 
56
  friend trellis_viterbi_combined_s_sptr trellis_make_viterbi_combined_s (
 
57
    const fsm &FSM,
 
58
    const int D,
 
59
    const std::vector<float> &TABLE,
 
60
    const int K,
 
61
    const int S0,
 
62
    const int SK,
 
63
    const trellis_metric_type_t TYPE);
 
64
 
 
65
 
 
66
  trellis_viterbi_combined_s (
 
67
    const fsm &FSM,
 
68
    const int D,
 
69
    const std::vector<float> &TABLE,
 
70
    const int K,
 
71
    const int S0,
 
72
    const int SK,
 
73
    const trellis_metric_type_t TYPE);
 
74
 
 
75
 
 
76
public:
 
77
  fsm FSM () const { return d_FSM; }
 
78
  int D () const { return d_D; }
 
79
  std::vector<float> TABLE () const { return d_TABLE; }
 
80
  int K () const { return d_K; }
 
81
  int S0 () const { return d_S0; }
 
82
  int SK () const { return d_SK; }
 
83
  trellis_metric_type_t TYPE () const { return d_TYPE; }
 
84
  //std::vector<int> trace () const { return d_trace; }
 
85
  void forecast (int noutput_items,
 
86
                 gr_vector_int &ninput_items_required);
 
87
  int general_work (int noutput_items,
 
88
                    gr_vector_int &ninput_items,
 
89
                    gr_vector_const_void_star &input_items,
 
90
                    gr_vector_void_star &output_items);
 
91
};
 
92
 
 
93
#endif