diff options
author | Josh Blum | 2011-07-22 11:55:52 -0700 |
---|---|---|
committer | Josh Blum | 2011-07-22 11:55:52 -0700 |
commit | 17ef212c684e13e744a4e4258f7fed2dcbc9a5be (patch) | |
tree | eacddfa5da89deb10a70d927560fabc00a24c828 /gr-trellis/src/lib | |
parent | 513febb1932f18f1123e530632032263c2322d9e (diff) | |
download | gnuradio-17ef212c684e13e744a4e4258f7fed2dcbc9a5be.tar.gz gnuradio-17ef212c684e13e744a4e4258f7fed2dcbc9a5be.tar.bz2 gnuradio-17ef212c684e13e744a4e4258f7fed2dcbc9a5be.zip |
trellis: added symbol visibility defines to gr-trellis, builds on MSVC and linux
Diffstat (limited to 'gr-trellis/src/lib')
-rw-r--r-- | gr-trellis/src/lib/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-trellis/src/lib/Makefile.am | 1 | ||||
-rw-r--r-- | gr-trellis/src/lib/fsm.cc | 4 | ||||
-rw-r--r-- | gr-trellis/src/lib/fsm.h | 3 | ||||
-rw-r--r-- | gr-trellis/src/lib/interleaver.h | 3 | ||||
-rw-r--r-- | gr-trellis/src/lib/trellis_api.h | 33 | ||||
-rw-r--r-- | gr-trellis/src/lib/trellis_constellation_metrics_cf.h | 7 | ||||
-rw-r--r-- | gr-trellis/src/lib/trellis_encoder_XX.h.t | 7 | ||||
-rw-r--r-- | gr-trellis/src/lib/trellis_metrics_X.h.t | 7 | ||||
-rw-r--r-- | gr-trellis/src/lib/trellis_pccc_decoder_X.h.t | 7 | ||||
-rw-r--r-- | gr-trellis/src/lib/trellis_pccc_encoder_XX.h.t | 7 | ||||
-rw-r--r-- | gr-trellis/src/lib/trellis_permutation.h | 7 | ||||
-rw-r--r-- | gr-trellis/src/lib/trellis_sccc_decoder_X.h.t | 7 | ||||
-rw-r--r-- | gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.h.t | 7 | ||||
-rw-r--r-- | gr-trellis/src/lib/trellis_sccc_encoder_XX.h.t | 7 | ||||
-rw-r--r-- | gr-trellis/src/lib/trellis_siso_combined_f.h | 7 | ||||
-rw-r--r-- | gr-trellis/src/lib/trellis_siso_f.h | 7 | ||||
-rw-r--r-- | gr-trellis/src/lib/trellis_viterbi_X.h.t | 7 | ||||
-rw-r--r-- | gr-trellis/src/lib/trellis_viterbi_combined_XX.h.t | 7 |
19 files changed, 95 insertions, 44 deletions
diff --git a/gr-trellis/src/lib/CMakeLists.txt b/gr-trellis/src/lib/CMakeLists.txt index eead40d4c..338baac9d 100644 --- a/gr-trellis/src/lib/CMakeLists.txt +++ b/gr-trellis/src/lib/CMakeLists.txt @@ -46,6 +46,7 @@ import os, sys sys.path.append('${GR_CORE_PYTHONPATH}') sys.path.append('${CMAKE_CURRENT_SOURCE_DIR}') os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' +os.environ['gendir'] = '${CMAKE_CURRENT_BINARY_DIR}' os.environ['do_makefile'] = '1' os.environ['do_sources'] = '0' from generate_all import generate_all @@ -56,7 +57,7 @@ generate_all() MACRO(GEGEN_GEN_EXTRACT outvar ext) EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "import os; print ';'.join( map(lambda x: os.path.join('${CMAKE_CURRENT_BINARY_DIR}', x.replace('\\\\', '').strip()), - filter(lambda f: '${ext}' in f, open('${CMAKE_CURRENT_SOURCE_DIR}/Makefile.gen').readlines() + filter(lambda f: '${ext}' in f, open('${CMAKE_CURRENT_BINARY_DIR}/Makefile.gen').readlines() )))" OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE ${outvar}) FILE(TO_CMAKE_PATH "${${outvar}}" ${outvar}) ENDMACRO(GEGEN_GEN_EXTRACT) @@ -154,6 +155,7 @@ INSTALL(TARGETS gnuradio-trellis ######################################################################## INSTALL(FILES ${generated_trellis_includes} + trellis_api.h fsm.h quicksort_index.h base.h diff --git a/gr-trellis/src/lib/Makefile.am b/gr-trellis/src/lib/Makefile.am index 795ac28b4..5f2fc1825 100644 --- a/gr-trellis/src/lib/Makefile.am +++ b/gr-trellis/src/lib/Makefile.am @@ -78,6 +78,7 @@ EXTRA_DIST += \ # These headers get installed in ${prefix}/include/gnuradio grinclude_HEADERS = \ + trellis_api.h \ fsm.h \ quicksort_index.h \ base.h \ diff --git a/gr-trellis/src/lib/fsm.cc b/gr-trellis/src/lib/fsm.cc index 889a3918b..71e54b05a 100644 --- a/gr-trellis/src/lib/fsm.cc +++ b/gr-trellis/src/lib/fsm.cc @@ -132,7 +132,7 @@ fsm::fsm(int k, int n, const std::vector<int> &G) for(int j=0;j<n;j++) { int mem = -1; if(G[i*n+j]!=0) - mem=(int)(log(G[i*n+j])/log(2.0)); + mem=(int)(log(double(G[i*n+j]))/log(2.0)); if(mem>max_mem_x[i]) max_mem_x[i]=mem; if(mem>max_mem) @@ -417,7 +417,7 @@ void fsm::generate_TM() done = find_es(s); attempts ++; } - if (done == false and d_S > 1) { + if (done == false && d_S > 1) { //throw std::runtime_error ("fsm::generate_TM(): FSM appears to be disconnected\n"); printf("fsm::generate_TM(): FSM appears to be disconnected\n"); printf("state %d cannot be reached from all other states\n",s); diff --git a/gr-trellis/src/lib/fsm.h b/gr-trellis/src/lib/fsm.h index 8bae91754..d38e08dd2 100644 --- a/gr-trellis/src/lib/fsm.h +++ b/gr-trellis/src/lib/fsm.h @@ -23,6 +23,7 @@ #ifndef INCLUDED_TRELLIS_FSM_H #define INCLUDED_TRELLIS_FSM_H +#include <trellis_api.h> #include <vector> #include <iosfwd> @@ -33,7 +34,7 @@ * rather than the FSM itself. It particular the state of the FSM * is not stored within an instance of this class. */ -class fsm { +class TRELLIS_API fsm { private: // Input alphabet cardinality. int d_I; diff --git a/gr-trellis/src/lib/interleaver.h b/gr-trellis/src/lib/interleaver.h index f6a289c52..fbd378d62 100644 --- a/gr-trellis/src/lib/interleaver.h +++ b/gr-trellis/src/lib/interleaver.h @@ -23,12 +23,13 @@ #ifndef INCLUDED_TRELLIS_INTERLEAVER_H #define INCLUDED_TRELLIS_INTERLEAVER_H +#include <trellis_api.h> #include <vector> /*! * \brief INTERLEAVER class */ -class interleaver { +class TRELLIS_API interleaver { private: int d_K; std::vector<int> d_INTER; diff --git a/gr-trellis/src/lib/trellis_api.h b/gr-trellis/src/lib/trellis_api.h new file mode 100644 index 000000000..c09b340d6 --- /dev/null +++ b/gr-trellis/src/lib/trellis_api.h @@ -0,0 +1,33 @@ +/* + * Copyright 2011 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef INCLUDED_TRELLIS_API_H +#define INCLUDED_TRELLIS_API_H + +#include <gruel/attributes.h> + +#ifdef gnuradio_trellis_EXPORTS +# define TRELLIS_API __GR_ATTR_EXPORT +#else +# define TRELLIS_API __GR_ATTR_IMPORT +#endif + +#endif /* INCLUDED_TRELLIS_API_H */ diff --git a/gr-trellis/src/lib/trellis_constellation_metrics_cf.h b/gr-trellis/src/lib/trellis_constellation_metrics_cf.h index a34c335ec..1851bb89c 100644 --- a/gr-trellis/src/lib/trellis_constellation_metrics_cf.h +++ b/gr-trellis/src/lib/trellis_constellation_metrics_cf.h @@ -23,6 +23,7 @@ #ifndef INCLUDED_TRELLIS_CONSTELLATION_METRICS_CF_H #define INCLUDED_TRELLIS_CONSTELLATION_METRICS_CF_H +#include <trellis_api.h> #include <gr_block.h> #include <digital_constellation.h> #include <digital_metric_type.h> @@ -30,13 +31,13 @@ class trellis_constellation_metrics_cf; typedef boost::shared_ptr<trellis_constellation_metrics_cf> trellis_constellation_metrics_cf_sptr; -trellis_constellation_metrics_cf_sptr trellis_make_constellation_metrics_cf (digital_constellation_sptr constellation, trellis_metric_type_t TYPE); +TRELLIS_API trellis_constellation_metrics_cf_sptr trellis_make_constellation_metrics_cf (digital_constellation_sptr constellation, trellis_metric_type_t TYPE); /*! * \brief Evaluate metrics for use by the Viterbi algorithm. * \ingroup coding_blk */ -class trellis_constellation_metrics_cf : public gr_block +class TRELLIS_API trellis_constellation_metrics_cf : public gr_block { public: void forecast (int noutput_items, @@ -53,7 +54,7 @@ class trellis_constellation_metrics_cf : public gr_block trellis_metric_type_t d_TYPE; unsigned int d_O; unsigned int d_D; - friend trellis_constellation_metrics_cf_sptr trellis_make_constellation_metrics_cf (digital_constellation_sptr constellation, trellis_metric_type_t TYPE); + friend TRELLIS_API trellis_constellation_metrics_cf_sptr trellis_make_constellation_metrics_cf (digital_constellation_sptr constellation, trellis_metric_type_t TYPE); }; diff --git a/gr-trellis/src/lib/trellis_encoder_XX.h.t b/gr-trellis/src/lib/trellis_encoder_XX.h.t index b56fde0bf..4038caac9 100644 --- a/gr-trellis/src/lib/trellis_encoder_XX.h.t +++ b/gr-trellis/src/lib/trellis_encoder_XX.h.t @@ -25,22 +25,23 @@ #ifndef @GUARD_NAME@ #define @GUARD_NAME@ +#include <trellis_api.h> #include "fsm.h" #include <gr_sync_block.h> class @NAME@; typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; -@SPTR_NAME@ trellis_make_@BASE_NAME@ (const fsm &FSM, int ST); +TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (const fsm &FSM, int ST); /*! * \brief Convolutional encoder. * \ingroup coding_blk */ -class @NAME@ : public gr_sync_block +class TRELLIS_API @NAME@ : public gr_sync_block { private: - friend @SPTR_NAME@ trellis_make_@BASE_NAME@ (const fsm &FSM, int ST); + friend TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (const fsm &FSM, int ST); fsm d_FSM; int d_ST; @NAME@ (const fsm &FSM, int ST); diff --git a/gr-trellis/src/lib/trellis_metrics_X.h.t b/gr-trellis/src/lib/trellis_metrics_X.h.t index 45d4ace10..809c27e65 100644 --- a/gr-trellis/src/lib/trellis_metrics_X.h.t +++ b/gr-trellis/src/lib/trellis_metrics_X.h.t @@ -25,26 +25,27 @@ #ifndef @GUARD_NAME@ #define @GUARD_NAME@ +#include <trellis_api.h> #include <gr_block.h> #include "calc_metric.h" class @NAME@; typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; -@SPTR_NAME@ trellis_make_@BASE_NAME@ (int O, int D, const std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE); +TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (int O, int D, const std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE); /*! * \brief Evaluate metrics for use by the Viterbi algorithm. * \ingroup coding_blk */ -class @NAME@ : public gr_block +class TRELLIS_API @NAME@ : public gr_block { int d_O; int d_D; trellis_metric_type_t d_TYPE; std::vector<@I_TYPE@> d_TABLE; - friend @SPTR_NAME@ trellis_make_@BASE_NAME@ (int O, int D, const std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE); + friend TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (int O, int D, const std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE); @NAME@ (int O, int D, const std::vector<@I_TYPE@> &TABLE, trellis_metric_type_t TYPE); public: diff --git a/gr-trellis/src/lib/trellis_pccc_decoder_X.h.t b/gr-trellis/src/lib/trellis_pccc_decoder_X.h.t index ff4b7a1f8..faf34188c 100644 --- a/gr-trellis/src/lib/trellis_pccc_decoder_X.h.t +++ b/gr-trellis/src/lib/trellis_pccc_decoder_X.h.t @@ -25,6 +25,7 @@ #ifndef @GUARD_NAME@ #define @GUARD_NAME@ +#include <trellis_api.h> #include "fsm.h" #include "interleaver.h" #include <gr_block.h> @@ -34,7 +35,7 @@ class @NAME@; typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; -@SPTR_NAME@ trellis_make_@BASE_NAME@ ( +TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ ( const fsm &FSM1, int ST10, int ST1K, const fsm &FSM2, int ST20, int ST2K, const interleaver &INTERLEAVER, @@ -47,7 +48,7 @@ typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; /*! * \ingroup coding_blk */ -class @NAME@ : public gr_block +class TRELLIS_API @NAME@ : public gr_block { fsm d_FSM1; fsm d_FSM2; @@ -61,7 +62,7 @@ class @NAME@ : public gr_block trellis_siso_type_t d_SISO_TYPE; std::vector<float> d_buffer; - friend @SPTR_NAME@ trellis_make_@BASE_NAME@ ( + friend TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ ( const fsm &FSM1, int ST10, int ST1K, const fsm &FSM2, int ST20, int ST2K, const interleaver &INTERLEAVER, diff --git a/gr-trellis/src/lib/trellis_pccc_encoder_XX.h.t b/gr-trellis/src/lib/trellis_pccc_encoder_XX.h.t index 68ccf75db..2b6110e37 100644 --- a/gr-trellis/src/lib/trellis_pccc_encoder_XX.h.t +++ b/gr-trellis/src/lib/trellis_pccc_encoder_XX.h.t @@ -25,6 +25,7 @@ #ifndef @GUARD_NAME@ #define @GUARD_NAME@ +#include <trellis_api.h> #include <vector> #include "fsm.h" #include "interleaver.h" @@ -33,7 +34,7 @@ class @NAME@; typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; -@SPTR_NAME@ trellis_make_@BASE_NAME@ ( +TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ ( const fsm &FSM1, int ST1, const fsm &FSM2, int ST2, const interleaver &INTERLEAVER, @@ -44,10 +45,10 @@ typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; * \brief SCCC encoder. * \ingroup coding_blk */ -class @NAME@ : public gr_sync_block +class TRELLIS_API @NAME@ : public gr_sync_block { private: - friend @SPTR_NAME@ trellis_make_@BASE_NAME@ ( + friend TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ ( const fsm &FSM1, int ST1, const fsm &FSM2, int ST2, const interleaver &INTERLEAVER, diff --git a/gr-trellis/src/lib/trellis_permutation.h b/gr-trellis/src/lib/trellis_permutation.h index 5505caf89..7fec9682f 100644 --- a/gr-trellis/src/lib/trellis_permutation.h +++ b/gr-trellis/src/lib/trellis_permutation.h @@ -24,22 +24,23 @@ #ifndef INCLUDED_TRELLIS_PERMUTATION_H #define INCLUDED_TRELLIS_PERMUTATION_H +#include <trellis_api.h> #include <vector> #include <gr_sync_block.h> class trellis_permutation; typedef boost::shared_ptr<trellis_permutation> trellis_permutation_sptr; -trellis_permutation_sptr trellis_make_permutation (int K, const std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t NBYTES_INOUT); +TRELLIS_API trellis_permutation_sptr trellis_make_permutation (int K, const std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t NBYTES_INOUT); /*! * \brief Permutation. * \ingroup coding_blk */ -class trellis_permutation : public gr_sync_block +class TRELLIS_API trellis_permutation : public gr_sync_block { private: - friend trellis_permutation_sptr trellis_make_permutation (int K, const std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t NBYTES_INOUT); + friend TRELLIS_API trellis_permutation_sptr trellis_make_permutation (int K, const std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t NBYTES_INOUT); int d_K; std::vector<int> d_TABLE; int d_SYMS_PER_BLOCK; diff --git a/gr-trellis/src/lib/trellis_sccc_decoder_X.h.t b/gr-trellis/src/lib/trellis_sccc_decoder_X.h.t index 3adb8a5b7..f3ba783b4 100644 --- a/gr-trellis/src/lib/trellis_sccc_decoder_X.h.t +++ b/gr-trellis/src/lib/trellis_sccc_decoder_X.h.t @@ -25,6 +25,7 @@ #ifndef @GUARD_NAME@ #define @GUARD_NAME@ +#include <trellis_api.h> #include "fsm.h" #include "interleaver.h" #include <gr_block.h> @@ -34,7 +35,7 @@ class @NAME@; typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; -@SPTR_NAME@ trellis_make_@BASE_NAME@ ( +TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ ( const fsm &FSMo, int STo0, int SToK, const fsm &FSMi, int STi0, int STiK, const interleaver &INTERLEAVER, @@ -47,7 +48,7 @@ typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; /*! * \ingroup coding_blk */ -class @NAME@ : public gr_block +class TRELLIS_API @NAME@ : public gr_block { fsm d_FSMo; fsm d_FSMi; @@ -61,7 +62,7 @@ class @NAME@ : public gr_block trellis_siso_type_t d_SISO_TYPE; std::vector<float> d_buffer; - friend @SPTR_NAME@ trellis_make_@BASE_NAME@ ( + friend TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ ( const fsm &FSMo, int STo0, int SToK, const fsm &FSMi, int STi0, int STiK, const interleaver &INTERLEAVER, diff --git a/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.h.t b/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.h.t index 146c26516..db0e494ca 100644 --- a/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.h.t +++ b/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.h.t @@ -25,6 +25,7 @@ #ifndef @GUARD_NAME@ #define @GUARD_NAME@ +#include <trellis_api.h> #include "fsm.h" #include "interleaver.h" #include <gr_block.h> @@ -35,7 +36,7 @@ class @NAME@; typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; -@SPTR_NAME@ trellis_make_@BASE_NAME@ ( +TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ ( const fsm &FSMo, int STo0, int SToK, const fsm &FSMi, int STi0, int STiK, const interleaver &INTERLEAVER, @@ -52,7 +53,7 @@ typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; /*! * \ingroup coding_blk */ -class @NAME@ : public gr_block +class TRELLIS_API @NAME@ : public gr_block { fsm d_FSMo; fsm d_FSMi; @@ -70,7 +71,7 @@ class @NAME@ : public gr_block float d_scaling; std::vector<float> d_buffer; - friend @SPTR_NAME@ trellis_make_@BASE_NAME@ ( + friend TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ ( const fsm &FSMo, int STo0, int SToK, const fsm &FSMi, int STi0, int STiK, const interleaver &INTERLEAVER, diff --git a/gr-trellis/src/lib/trellis_sccc_encoder_XX.h.t b/gr-trellis/src/lib/trellis_sccc_encoder_XX.h.t index a9e4dc454..0e8ff45a4 100644 --- a/gr-trellis/src/lib/trellis_sccc_encoder_XX.h.t +++ b/gr-trellis/src/lib/trellis_sccc_encoder_XX.h.t @@ -25,6 +25,7 @@ #ifndef @GUARD_NAME@ #define @GUARD_NAME@ +#include <trellis_api.h> #include <vector> #include "fsm.h" #include "interleaver.h" @@ -33,7 +34,7 @@ class @NAME@; typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; -@SPTR_NAME@ trellis_make_@BASE_NAME@ ( +TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ ( const fsm &FSMo, int STo, const fsm &FSMi, int STi, const interleaver &INTERLEAVER, @@ -44,10 +45,10 @@ typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; * \brief SCCC encoder. * \ingroup coding_blk */ -class @NAME@ : public gr_sync_block +class TRELLIS_API @NAME@ : public gr_sync_block { private: - friend @SPTR_NAME@ trellis_make_@BASE_NAME@ ( + friend TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ ( const fsm &FSMo, int STo, const fsm &FSMi, int STi, const interleaver &INTERLEAVER, diff --git a/gr-trellis/src/lib/trellis_siso_combined_f.h b/gr-trellis/src/lib/trellis_siso_combined_f.h index 786e79386..2d043df62 100644 --- a/gr-trellis/src/lib/trellis_siso_combined_f.h +++ b/gr-trellis/src/lib/trellis_siso_combined_f.h @@ -23,6 +23,7 @@ #ifndef INCLUDED_TRELLIS_SISO_COMBINED_F_H #define INCLUDED_TRELLIS_SISO_COMBINED_F_H +#include <trellis_api.h> #include "fsm.h" #include "siso_type.h" #include "calc_metric.h" @@ -32,7 +33,7 @@ class trellis_siso_combined_f; typedef boost::shared_ptr<trellis_siso_combined_f> trellis_siso_combined_f_sptr; -trellis_siso_combined_f_sptr trellis_make_siso_combined_f ( +TRELLIS_API trellis_siso_combined_f_sptr trellis_make_siso_combined_f ( const fsm &FSM, // underlying FSM int K, // block size in trellis steps int S0, // initial state (put -1 if not specified) @@ -48,7 +49,7 @@ trellis_siso_combined_f_sptr trellis_make_siso_combined_f ( /*! * \ingroup coding_blk */ -class trellis_siso_combined_f : public gr_block +class TRELLIS_API trellis_siso_combined_f : public gr_block { fsm d_FSM; int d_K; @@ -63,7 +64,7 @@ class trellis_siso_combined_f : public gr_block //std::vector<float> d_alpha; //std::vector<float> d_beta; - friend trellis_siso_combined_f_sptr trellis_make_siso_combined_f ( + friend TRELLIS_API trellis_siso_combined_f_sptr trellis_make_siso_combined_f ( const fsm &FSM, int K, int S0, diff --git a/gr-trellis/src/lib/trellis_siso_f.h b/gr-trellis/src/lib/trellis_siso_f.h index 0e2cba67a..b3d02ad05 100644 --- a/gr-trellis/src/lib/trellis_siso_f.h +++ b/gr-trellis/src/lib/trellis_siso_f.h @@ -23,6 +23,7 @@ #ifndef INCLUDED_TRELLIS_SISO_F_H #define INCLUDED_TRELLIS_SISO_F_H +#include <trellis_api.h> #include "fsm.h" #include "siso_type.h" #include "core_algorithms.h" @@ -31,7 +32,7 @@ class trellis_siso_f; typedef boost::shared_ptr<trellis_siso_f> trellis_siso_f_sptr; -trellis_siso_f_sptr trellis_make_siso_f ( +TRELLIS_API trellis_siso_f_sptr trellis_make_siso_f ( const fsm &FSM, // underlying FSM int K, // block size in trellis steps int S0, // initial state (put -1 if not specified) @@ -45,7 +46,7 @@ trellis_siso_f_sptr trellis_make_siso_f ( /*! * \ingroup coding_blk */ -class trellis_siso_f : public gr_block +class TRELLIS_API trellis_siso_f : public gr_block { fsm d_FSM; int d_K; @@ -57,7 +58,7 @@ class trellis_siso_f : public gr_block //std::vector<float> d_alpha; //std::vector<float> d_beta; - friend trellis_siso_f_sptr trellis_make_siso_f ( + friend TRELLIS_API trellis_siso_f_sptr trellis_make_siso_f ( const fsm &FSM, int K, int S0, diff --git a/gr-trellis/src/lib/trellis_viterbi_X.h.t b/gr-trellis/src/lib/trellis_viterbi_X.h.t index 362d3f57e..c679649bb 100644 --- a/gr-trellis/src/lib/trellis_viterbi_X.h.t +++ b/gr-trellis/src/lib/trellis_viterbi_X.h.t @@ -25,6 +25,7 @@ #ifndef @GUARD_NAME@ #define @GUARD_NAME@ +#include <trellis_api.h> #include "fsm.h" #include <gr_block.h> #include "core_algorithms.h" @@ -32,7 +33,7 @@ class @NAME@; typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; -@SPTR_NAME@ trellis_make_@BASE_NAME@ ( +TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ ( const fsm &FSM, int K, int S0, @@ -43,7 +44,7 @@ typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; /*! * \ingroup coding_blk */ -class @NAME@ : public gr_block +class TRELLIS_API @NAME@ : public gr_block { fsm d_FSM; int d_K; @@ -51,7 +52,7 @@ class @NAME@ : public gr_block int d_SK; //std::vector<int> d_trace; - friend @SPTR_NAME@ trellis_make_@BASE_NAME@ ( + friend TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ ( const fsm &FSM, int K, int S0, diff --git a/gr-trellis/src/lib/trellis_viterbi_combined_XX.h.t b/gr-trellis/src/lib/trellis_viterbi_combined_XX.h.t index 35e6c4ce0..072f66158 100644 --- a/gr-trellis/src/lib/trellis_viterbi_combined_XX.h.t +++ b/gr-trellis/src/lib/trellis_viterbi_combined_XX.h.t @@ -25,6 +25,7 @@ #ifndef @GUARD_NAME@ #define @GUARD_NAME@ +#include <trellis_api.h> #include "fsm.h" #include <gr_block.h> #include "calc_metric.h" @@ -33,7 +34,7 @@ class @NAME@; typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; -@SPTR_NAME@ trellis_make_@BASE_NAME@ ( +TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ ( const fsm &FSM, int K, int S0, @@ -46,7 +47,7 @@ typedef boost::shared_ptr<@NAME@> @SPTR_NAME@; /*! * \ingroup coding_blk */ -class @NAME@ : public gr_block +class TRELLIS_API @NAME@ : public gr_block { fsm d_FSM; int d_K; @@ -57,7 +58,7 @@ class @NAME@ : public gr_block trellis_metric_type_t d_TYPE; //std::vector<int> d_trace; - friend @SPTR_NAME@ trellis_make_@BASE_NAME@ ( + friend TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ ( const fsm &FSM, int K, int S0, |