[134467] trunk/dports/science/gnuradio
michaelld at macports.org
michaelld at macports.org
Thu Mar 26 11:43:37 PDT 2015
Revision: 134467
https://trac.macports.org/changeset/134467
Author: michaelld at macports.org
Date: 2015-03-26 11:43:37 -0700 (Thu, 26 Mar 2015)
Log Message:
-----------
gnuradio:
+ Add non-default variant to allow for building with c++11 compliance;
+ fix libc++ / libstdc++ and c++11 patches to work, for now, while we figure out a better way to handle std::complex math pre-c++11.
Modified Paths:
--------------
trunk/dports/science/gnuradio/Portfile
Added Paths:
-----------
trunk/dports/science/gnuradio/files/patch-c++11-fixes.diff
trunk/dports/science/gnuradio/files/patch-dvbt2_libc++_fixes.diff
Modified: trunk/dports/science/gnuradio/Portfile
===================================================================
--- trunk/dports/science/gnuradio/Portfile 2015-03-26 17:35:54 UTC (rev 134466)
+++ trunk/dports/science/gnuradio/Portfile 2015-03-26 18:43:37 UTC (rev 134467)
@@ -153,9 +153,28 @@
patchfiles-append \
patch-various.diff
- # temporary patch to fix use of std::complex in dvbt2_paprtr_cc_impl.cc
+ if {${configure.cxx_stdlib} eq "libc++" ||
+ [variant_isset cxx11]} {
+
+ # temporary patch to fix use of std::complex in dvbt2 to
+ # be compatible with libc++ and/or c++11
+ patchfiles-append \
+ patch-dvbt2_libc++_fixes.diff
+
+ } else {
+
+ # libstdc++ and not c++11:
+ # temporary patch to fix use of std::complex
+ # in dvbt2_paprtr_cc_impl.cc
+ patchfiles-append \
+ patch-dvbt2_paprtr_cc_impl.cc.diff
+
+ }
+
+ # temporary patch to fix compiling using -std=c++11; does not
+ # hurt for using older C++ standards.
patchfiles-append \
- patch-dvbt2_paprtr_cc_impl.cc.diff
+ patch-c++11-fixes.diff
}
@@ -563,3 +582,36 @@
-DSDL_INCLUDE_DIR=
}
+
+variant cxx11 description "Compile using C++11" {
+
+ # require C++11
+
+ configure.cxxflags-append -std=c++11
+
+ if {${configure.cxx_stdlib} eq "libstdc++"} {
+
+ # *clang* when using libstdc++ do not seem to support C++11;
+ # C++11 support seems to need GCC 4.7+ when using libstdc++;
+ # could use C++0x support on GCC4.[56], but just ignore it since
+ # there are newer compilers already in place as defaults.
+
+ # Blacklist GCC compilers not supporting C++11 and all CLANG.
+ # This is probably not necessary, but it's good practice.
+
+ compiler.blacklist-append *clang* {*gcc-3*} {*gcc-4.[0-6]}
+
+ # and whitelist those we do want to use. wish there were a better way.
+ # these will be used in the order provided.
+
+ compiler.whitelist macports-gcc-4.9 macports-gcc-4.8 macports-gcc-4.7
+
+ } else {
+
+ # using libc++;
+ # Blacklist Clang not supporting C++11 in some form and all GCC.
+
+ compiler.blacklist-append *gcc* {clang < 500}
+
+ }
+}
Added: trunk/dports/science/gnuradio/files/patch-c++11-fixes.diff
===================================================================
--- trunk/dports/science/gnuradio/files/patch-c++11-fixes.diff (rev 0)
+++ trunk/dports/science/gnuradio/files/patch-c++11-fixes.diff 2015-03-26 18:43:37 UTC (rev 134467)
@@ -0,0 +1,52 @@
+--- gr-dtv/lib/atsc/atsc_sync_impl.cc.orig
++++ gr-dtv/lib/atsc/atsc_sync_impl.cc
+@@ -31,6 +31,13 @@
+ namespace gr {
+ namespace dtv {
+
++ static const double LOOP_FILTER_TAP = 0.0005; // 0.0005 works
++ static const double ADJUSTMENT_GAIN = 1.0e-5 / (10 * ATSC_DATA_SEGMENT_LENGTH);
++ static const int SYMBOL_INDEX_OFFSET = 3;
++ static const int MIN_SEG_LOCK_CORRELATION_VALUE = 5;
++ static const int SSI_MIN = -16;
++ static const int SSI_MAX = 15;
++
+ atsc_sync::sptr
+ atsc_sync::make(float rate)
+ {
+--- gr-dtv/lib/atsc/atsc_sync_impl.h.orig
++++ gr-dtv/lib/atsc/atsc_sync_impl.h
+@@ -34,12 +34,6 @@ namespace gr {
+ class atsc_sync_impl : public atsc_sync
+ {
+ private:
+- static const double LOOP_FILTER_TAP = 0.0005; // 0.0005 works
+- static const double ADJUSTMENT_GAIN = 1.0e-5 / (10 * ATSC_DATA_SEGMENT_LENGTH);
+- static const int SYMBOL_INDEX_OFFSET = 3;
+- static const int MIN_SEG_LOCK_CORRELATION_VALUE = 5;
+- static const int SSI_MIN = -16;
+- static const int SSI_MAX = 15;
+
+ gr::filter::single_pole_iir<float,float,float> d_loop; // ``VCO'' loop filter
+ gr::filter::mmse_fir_interpolator_ff d_interp;
+--- gr-fec/lib/cc_decoder_impl.cc.orig
++++ gr-fec/lib/cc_decoder_impl.cc
+@@ -147,7 +147,7 @@ namespace gr {
+ d_SUBSHIFT = 0;
+ }
+
+- yp_kernel = boost::assign::map_list_of("k=7r=2", volk_8u_x4_conv_k7_r2_8u);
++ std::map<std::string, conv_kernel> yp_kernel = boost::assign::map_list_of("k=7r=2", volk_8u_x4_conv_k7_r2_8u);
+
+ std::string k_ = "k=";
+ std::string r_ = "r=";
+--- gr-fec/lib/cc_decoder_impl.h.orig
++++ gr-fec/lib/cc_decoder_impl.h
+@@ -85,7 +85,6 @@ namespace gr {
+ int parity(int x);
+ int parityb(unsigned char x);
+ void partab_init(void);
+- std::map<std::string, conv_kernel> yp_kernel;
+
+ public:
+ cc_decoder_impl(int frame_size, int k,
Added: trunk/dports/science/gnuradio/files/patch-dvbt2_libc++_fixes.diff
===================================================================
--- trunk/dports/science/gnuradio/files/patch-dvbt2_libc++_fixes.diff (rev 0)
+++ trunk/dports/science/gnuradio/files/patch-dvbt2_libc++_fixes.diff 2015-03-26 18:43:37 UTC (rev 134467)
@@ -0,0 +1,2402 @@
+--- gr-dtv/lib/dvbt2/dvbt2_framemapper_cc_impl.cc.orig
++++ gr-dtv/lib/dvbt2/dvbt2_framemapper_cc_impl.cc
+@@ -245,12 +245,12 @@ namespace gr {
+
+ bch_poly_build_tables();
+ l1pre_ldpc_lookup_generate();
+- m_bpsk[0].real() = 1.0;
+- m_bpsk[0].imag() = 0.0;
+- m_bpsk[1].real() = -1.0;
+- m_bpsk[1].imag() = 0.0;
+- unmodulated[0].real() = 0.0;
+- unmodulated[0].imag() = 0.0;
++ m_bpsk[0].real( 1.0);
++ m_bpsk[0].imag( 0.0);
++ m_bpsk[1].real( -1.0);
++ m_bpsk[1].imag( 0.0);
++ unmodulated[0].real( 0.0);
++ unmodulated[0].imag( 0.0);
+
+ l1post_ldpc_lookup_generate();
+ switch (l1constellation) {
+@@ -259,182 +259,182 @@ namespace gr {
+ break;
+ case L1_MOD_QPSK:
+ normalization = sqrt(2);
+- m_qpsk[0].real() = 1.0 / normalization;
+- m_qpsk[0].imag() = 1.0 / normalization;
+- m_qpsk[1].real() = 1.0 / normalization;
+- m_qpsk[1].imag() = -1.0 / normalization;
+- m_qpsk[2].real() = -1.0 / normalization;
+- m_qpsk[2].imag() = 1.0 / normalization;
+- m_qpsk[3].real() = -1.0 / normalization;
+- m_qpsk[3].imag() = -1.0 / normalization;
++ m_qpsk[0].real( 1.0 / normalization);
++ m_qpsk[0].imag( 1.0 / normalization);
++ m_qpsk[1].real( 1.0 / normalization);
++ m_qpsk[1].imag(-1.0 / normalization);
++ m_qpsk[2].real(-1.0 / normalization);
++ m_qpsk[2].imag( 1.0 / normalization);
++ m_qpsk[3].real(-1.0 / normalization);
++ m_qpsk[3].imag(-1.0 / normalization);
+ eta_mod = 2;
+ break;
+ case L1_MOD_16QAM:
+ normalization = sqrt(10);
+- m_16qam[0].real() = 3.0 / normalization;
+- m_16qam[0].imag() = 3.0 / normalization;
+- m_16qam[1].real() = 3.0 / normalization;
+- m_16qam[1].imag() = 1.0 / normalization;
+- m_16qam[2].real() = 1.0 / normalization;
+- m_16qam[2].imag() = 3.0 / normalization;
+- m_16qam[3].real() = 1.0 / normalization;
+- m_16qam[3].imag() = 1.0 / normalization;
+- m_16qam[4].real() = 3.0 / normalization;
+- m_16qam[4].imag() = -3.0 / normalization;
+- m_16qam[5].real() = 3.0 / normalization;
+- m_16qam[5].imag() = -1.0 / normalization;
+- m_16qam[6].real() = 1.0 / normalization;
+- m_16qam[6].imag() = -3.0 / normalization;
+- m_16qam[7].real() = 1.0 / normalization;
+- m_16qam[7].imag() = -1.0 / normalization;
+- m_16qam[8].real() = -3.0 / normalization;
+- m_16qam[8].imag() = 3.0 / normalization;
+- m_16qam[9].real() = -3.0 / normalization;
+- m_16qam[9].imag() = 1.0 / normalization;
+- m_16qam[10].real() = -1.0 / normalization;
+- m_16qam[10].imag() = 3.0 / normalization;
+- m_16qam[11].real() = -1.0 / normalization;
+- m_16qam[11].imag() = 1.0 / normalization;
+- m_16qam[12].real() = -3.0 / normalization;
+- m_16qam[12].imag() = -3.0 / normalization;
+- m_16qam[13].real() = -3.0 / normalization;
+- m_16qam[13].imag() = -1.0 / normalization;
+- m_16qam[14].real() = -1.0 / normalization;
+- m_16qam[14].imag() = -3.0 / normalization;
+- m_16qam[15].real() = -1.0 / normalization;
+- m_16qam[15].imag() = -1.0 / normalization;
++ m_16qam[0].real( 3.0 / normalization);
++ m_16qam[0].imag( 3.0 / normalization);
++ m_16qam[1].real( 3.0 / normalization);
++ m_16qam[1].imag( 1.0 / normalization);
++ m_16qam[2].real( 1.0 / normalization);
++ m_16qam[2].imag( 3.0 / normalization);
++ m_16qam[3].real( 1.0 / normalization);
++ m_16qam[3].imag( 1.0 / normalization);
++ m_16qam[4].real( 3.0 / normalization);
++ m_16qam[4].imag(-3.0 / normalization);
++ m_16qam[5].real( 3.0 / normalization);
++ m_16qam[5].imag(-1.0 / normalization);
++ m_16qam[6].real( 1.0 / normalization);
++ m_16qam[6].imag(-3.0 / normalization);
++ m_16qam[7].real( 1.0 / normalization);
++ m_16qam[7].imag(-1.0 / normalization);
++ m_16qam[8].real(-3.0 / normalization);
++ m_16qam[8].imag( 3.0 / normalization);
++ m_16qam[9].real(-3.0 / normalization);
++ m_16qam[9].imag( 1.0 / normalization);
++ m_16qam[10].real(-1.0 / normalization);
++ m_16qam[10].imag( 3.0 / normalization);
++ m_16qam[11].real(-1.0 / normalization);
++ m_16qam[11].imag( 1.0 / normalization);
++ m_16qam[12].real(-3.0 / normalization);
++ m_16qam[12].imag(-3.0 / normalization);
++ m_16qam[13].real(-3.0 / normalization);
++ m_16qam[13].imag(-1.0 / normalization);
++ m_16qam[14].real(-1.0 / normalization);
++ m_16qam[14].imag(-3.0 / normalization);
++ m_16qam[15].real(-1.0 / normalization);
++ m_16qam[15].imag(-1.0 / normalization);
+ eta_mod = 4;
+ break;
+ case L1_MOD_64QAM:
+ normalization = sqrt(42);
+- m_64qam[0].real() = 7.0 / normalization;
+- m_64qam[0].imag() = 7.0 / normalization;
+- m_64qam[1].real() = 7.0 / normalization;
+- m_64qam[1].imag() = 5.0 / normalization;
+- m_64qam[2].real() = 5.0 / normalization;
+- m_64qam[2].imag() = 7.0 / normalization;
+- m_64qam[3].real() = 5.0 / normalization;
+- m_64qam[3].imag() = 5.0 / normalization;
+- m_64qam[4].real() = 7.0 / normalization;
+- m_64qam[4].imag() = 1.0 / normalization;
+- m_64qam[5].real() = 7.0 / normalization;
+- m_64qam[5].imag() = 3.0 / normalization;
+- m_64qam[6].real() = 5.0 / normalization;
+- m_64qam[6].imag() = 1.0 / normalization;
+- m_64qam[7].real() = 5.0 / normalization;
+- m_64qam[7].imag() = 3.0 / normalization;
+- m_64qam[8].real() = 1.0 / normalization;
+- m_64qam[8].imag() = 7.0 / normalization;
+- m_64qam[9].real() = 1.0 / normalization;
+- m_64qam[9].imag() = 5.0 / normalization;
+- m_64qam[10].real() = 3.0 / normalization;
+- m_64qam[10].imag() = 7.0 / normalization;
+- m_64qam[11].real() = 3.0 / normalization;
+- m_64qam[11].imag() = 5.0 / normalization;
+- m_64qam[12].real() = 1.0 / normalization;
+- m_64qam[12].imag() = 1.0 / normalization;
+- m_64qam[13].real() = 1.0 / normalization;
+- m_64qam[13].imag() = 3.0 / normalization;
+- m_64qam[14].real() = 3.0 / normalization;
+- m_64qam[14].imag() = 1.0 / normalization;
+- m_64qam[15].real() = 3.0 / normalization;
+- m_64qam[15].imag() = 3.0 / normalization;
+- m_64qam[16].real() = 7.0 / normalization;
+- m_64qam[16].imag() = -7.0 / normalization;
+- m_64qam[17].real() = 7.0 / normalization;
+- m_64qam[17].imag() = -5.0 / normalization;
+- m_64qam[18].real() = 5.0 / normalization;
+- m_64qam[18].imag() = -7.0 / normalization;
+- m_64qam[19].real() = 5.0 / normalization;
+- m_64qam[19].imag() = -5.0 / normalization;
+- m_64qam[20].real() = 7.0 / normalization;
+- m_64qam[20].imag() = -1.0 / normalization;
+- m_64qam[21].real() = 7.0 / normalization;
+- m_64qam[21].imag() = -3.0 / normalization;
+- m_64qam[22].real() = 5.0 / normalization;
+- m_64qam[22].imag() = -1.0 / normalization;
+- m_64qam[23].real() = 5.0 / normalization;
+- m_64qam[23].imag() = -3.0 / normalization;
+- m_64qam[24].real() = 1.0 / normalization;
+- m_64qam[24].imag() = -7.0 / normalization;
+- m_64qam[25].real() = 1.0 / normalization;
+- m_64qam[25].imag() = -5.0 / normalization;
+- m_64qam[26].real() = 3.0 / normalization;
+- m_64qam[26].imag() = -7.0 / normalization;
+- m_64qam[27].real() = 3.0 / normalization;
+- m_64qam[27].imag() = -5.0 / normalization;
+- m_64qam[28].real() = 1.0 / normalization;
+- m_64qam[28].imag() = -1.0 / normalization;
+- m_64qam[29].real() = 1.0 / normalization;
+- m_64qam[29].imag() = -3.0 / normalization;
+- m_64qam[30].real() = 3.0 / normalization;
+- m_64qam[30].imag() = -1.0 / normalization;
+- m_64qam[31].real() = 3.0 / normalization;
+- m_64qam[31].imag() = -3.0 / normalization;
+- m_64qam[32].real() = -7.0 / normalization;
+- m_64qam[32].imag() = 7.0 / normalization;
+- m_64qam[33].real() = -7.0 / normalization;
+- m_64qam[33].imag() = 5.0 / normalization;
+- m_64qam[34].real() = -5.0 / normalization;
+- m_64qam[34].imag() = 7.0 / normalization;
+- m_64qam[35].real() = -5.0 / normalization;
+- m_64qam[35].imag() = 5.0 / normalization;
+- m_64qam[36].real() = -7.0 / normalization;
+- m_64qam[36].imag() = 1.0 / normalization;
+- m_64qam[37].real() = -7.0 / normalization;
+- m_64qam[37].imag() = 3.0 / normalization;
+- m_64qam[38].real() = -5.0 / normalization;
+- m_64qam[38].imag() = 1.0 / normalization;
+- m_64qam[39].real() = -5.0 / normalization;
+- m_64qam[39].imag() = 3.0 / normalization;
+- m_64qam[40].real() = -1.0 / normalization;
+- m_64qam[40].imag() = 7.0 / normalization;
+- m_64qam[41].real() = -1.0 / normalization;
+- m_64qam[41].imag() = 5.0 / normalization;
+- m_64qam[42].real() = -3.0 / normalization;
+- m_64qam[42].imag() = 7.0 / normalization;
+- m_64qam[43].real() = -3.0 / normalization;
+- m_64qam[43].imag() = 5.0 / normalization;
+- m_64qam[44].real() = -1.0 / normalization;
+- m_64qam[44].imag() = 1.0 / normalization;
+- m_64qam[45].real() = -1.0 / normalization;
+- m_64qam[45].imag() = 3.0 / normalization;
+- m_64qam[46].real() = -3.0 / normalization;
+- m_64qam[46].imag() = 1.0 / normalization;
+- m_64qam[47].real() = -3.0 / normalization;
+- m_64qam[47].imag() = 3.0 / normalization;
+- m_64qam[48].real() = -7.0 / normalization;
+- m_64qam[48].imag() = -7.0 / normalization;
+- m_64qam[49].real() = -7.0 / normalization;
+- m_64qam[49].imag() = -5.0 / normalization;
+- m_64qam[50].real() = -5.0 / normalization;
+- m_64qam[50].imag() = -7.0 / normalization;
+- m_64qam[51].real() = -5.0 / normalization;
+- m_64qam[51].imag() = -5.0 / normalization;
+- m_64qam[52].real() = -7.0 / normalization;
+- m_64qam[52].imag() = -1.0 / normalization;
+- m_64qam[53].real() = -7.0 / normalization;
+- m_64qam[53].imag() = -3.0 / normalization;
+- m_64qam[54].real() = -5.0 / normalization;
+- m_64qam[54].imag() = -1.0 / normalization;
+- m_64qam[55].real() = -5.0 / normalization;
+- m_64qam[55].imag() = -3.0 / normalization;
+- m_64qam[56].real() = -1.0 / normalization;
+- m_64qam[56].imag() = -7.0 / normalization;
+- m_64qam[57].real() = -1.0 / normalization;
+- m_64qam[57].imag() = -5.0 / normalization;
+- m_64qam[58].real() = -3.0 / normalization;
+- m_64qam[58].imag() = -7.0 / normalization;
+- m_64qam[59].real() = -3.0 / normalization;
+- m_64qam[59].imag() = -5.0 / normalization;
+- m_64qam[60].real() = -1.0 / normalization;
+- m_64qam[60].imag() = -1.0 / normalization;
+- m_64qam[61].real() = -1.0 / normalization;
+- m_64qam[61].imag() = -3.0 / normalization;
+- m_64qam[62].real() = -3.0 / normalization;
+- m_64qam[62].imag() = -1.0 / normalization;
+- m_64qam[63].real() = -3.0 / normalization;
+- m_64qam[63].imag() = -3.0 / normalization;
++ m_64qam[0].real( 7.0 / normalization);
++ m_64qam[0].imag( 7.0 / normalization);
++ m_64qam[1].real( 7.0 / normalization);
++ m_64qam[1].imag( 5.0 / normalization);
++ m_64qam[2].real( 5.0 / normalization);
++ m_64qam[2].imag( 7.0 / normalization);
++ m_64qam[3].real( 5.0 / normalization);
++ m_64qam[3].imag( 5.0 / normalization);
++ m_64qam[4].real( 7.0 / normalization);
++ m_64qam[4].imag( 1.0 / normalization);
++ m_64qam[5].real( 7.0 / normalization);
++ m_64qam[5].imag( 3.0 / normalization);
++ m_64qam[6].real( 5.0 / normalization);
++ m_64qam[6].imag( 1.0 / normalization);
++ m_64qam[7].real( 5.0 / normalization);
++ m_64qam[7].imag( 3.0 / normalization);
++ m_64qam[8].real( 1.0 / normalization);
++ m_64qam[8].imag( 7.0 / normalization);
++ m_64qam[9].real( 1.0 / normalization);
++ m_64qam[9].imag( 5.0 / normalization);
++ m_64qam[10].real( 3.0 / normalization);
++ m_64qam[10].imag( 7.0 / normalization);
++ m_64qam[11].real( 3.0 / normalization);
++ m_64qam[11].imag( 5.0 / normalization);
++ m_64qam[12].real( 1.0 / normalization);
++ m_64qam[12].imag( 1.0 / normalization);
++ m_64qam[13].real( 1.0 / normalization);
++ m_64qam[13].imag( 3.0 / normalization);
++ m_64qam[14].real( 3.0 / normalization);
++ m_64qam[14].imag( 1.0 / normalization);
++ m_64qam[15].real( 3.0 / normalization);
++ m_64qam[15].imag( 3.0 / normalization);
++ m_64qam[16].real( 7.0 / normalization);
++ m_64qam[16].imag(-7.0 / normalization);
++ m_64qam[17].real( 7.0 / normalization);
++ m_64qam[17].imag(-5.0 / normalization);
++ m_64qam[18].real( 5.0 / normalization);
++ m_64qam[18].imag(-7.0 / normalization);
++ m_64qam[19].real( 5.0 / normalization);
++ m_64qam[19].imag(-5.0 / normalization);
++ m_64qam[20].real( 7.0 / normalization);
++ m_64qam[20].imag(-1.0 / normalization);
++ m_64qam[21].real( 7.0 / normalization);
++ m_64qam[21].imag(-3.0 / normalization);
++ m_64qam[22].real( 5.0 / normalization);
++ m_64qam[22].imag(-1.0 / normalization);
++ m_64qam[23].real( 5.0 / normalization);
++ m_64qam[23].imag(-3.0 / normalization);
++ m_64qam[24].real( 1.0 / normalization);
++ m_64qam[24].imag(-7.0 / normalization);
++ m_64qam[25].real( 1.0 / normalization);
++ m_64qam[25].imag(-5.0 / normalization);
++ m_64qam[26].real( 3.0 / normalization);
++ m_64qam[26].imag(-7.0 / normalization);
++ m_64qam[27].real( 3.0 / normalization);
++ m_64qam[27].imag(-5.0 / normalization);
++ m_64qam[28].real( 1.0 / normalization);
++ m_64qam[28].imag(-1.0 / normalization);
++ m_64qam[29].real( 1.0 / normalization);
++ m_64qam[29].imag(-3.0 / normalization);
++ m_64qam[30].real( 3.0 / normalization);
++ m_64qam[30].imag(-1.0 / normalization);
++ m_64qam[31].real( 3.0 / normalization);
++ m_64qam[31].imag(-3.0 / normalization);
++ m_64qam[32].real(-7.0 / normalization);
++ m_64qam[32].imag( 7.0 / normalization);
++ m_64qam[33].real(-7.0 / normalization);
++ m_64qam[33].imag( 5.0 / normalization);
++ m_64qam[34].real(-5.0 / normalization);
++ m_64qam[34].imag( 7.0 / normalization);
++ m_64qam[35].real(-5.0 / normalization);
++ m_64qam[35].imag( 5.0 / normalization);
++ m_64qam[36].real(-7.0 / normalization);
++ m_64qam[36].imag( 1.0 / normalization);
++ m_64qam[37].real(-7.0 / normalization);
++ m_64qam[37].imag( 3.0 / normalization);
++ m_64qam[38].real(-5.0 / normalization);
++ m_64qam[38].imag( 1.0 / normalization);
++ m_64qam[39].real(-5.0 / normalization);
++ m_64qam[39].imag( 3.0 / normalization);
++ m_64qam[40].real(-1.0 / normalization);
++ m_64qam[40].imag( 7.0 / normalization);
++ m_64qam[41].real(-1.0 / normalization);
++ m_64qam[41].imag( 5.0 / normalization);
++ m_64qam[42].real(-3.0 / normalization);
++ m_64qam[42].imag( 7.0 / normalization);
++ m_64qam[43].real(-3.0 / normalization);
++ m_64qam[43].imag( 5.0 / normalization);
++ m_64qam[44].real(-1.0 / normalization);
++ m_64qam[44].imag( 1.0 / normalization);
++ m_64qam[45].real(-1.0 / normalization);
++ m_64qam[45].imag( 3.0 / normalization);
++ m_64qam[46].real(-3.0 / normalization);
++ m_64qam[46].imag( 1.0 / normalization);
++ m_64qam[47].real(-3.0 / normalization);
++ m_64qam[47].imag( 3.0 / normalization);
++ m_64qam[48].real(-7.0 / normalization);
++ m_64qam[48].imag(-7.0 / normalization);
++ m_64qam[49].real(-7.0 / normalization);
++ m_64qam[49].imag(-5.0 / normalization);
++ m_64qam[50].real(-5.0 / normalization);
++ m_64qam[50].imag(-7.0 / normalization);
++ m_64qam[51].real(-5.0 / normalization);
++ m_64qam[51].imag(-5.0 / normalization);
++ m_64qam[52].real(-7.0 / normalization);
++ m_64qam[52].imag(-1.0 / normalization);
++ m_64qam[53].real(-7.0 / normalization);
++ m_64qam[53].imag(-3.0 / normalization);
++ m_64qam[54].real(-5.0 / normalization);
++ m_64qam[54].imag(-1.0 / normalization);
++ m_64qam[55].real(-5.0 / normalization);
++ m_64qam[55].imag(-3.0 / normalization);
++ m_64qam[56].real(-1.0 / normalization);
++ m_64qam[56].imag(-7.0 / normalization);
++ m_64qam[57].real(-1.0 / normalization);
++ m_64qam[57].imag(-5.0 / normalization);
++ m_64qam[58].real(-3.0 / normalization);
++ m_64qam[58].imag(-7.0 / normalization);
++ m_64qam[59].real(-3.0 / normalization);
++ m_64qam[59].imag(-5.0 / normalization);
++ m_64qam[60].real(-1.0 / normalization);
++ m_64qam[60].imag(-1.0 / normalization);
++ m_64qam[61].real(-1.0 / normalization);
++ m_64qam[61].imag(-3.0 / normalization);
++ m_64qam[62].real(-3.0 / normalization);
++ m_64qam[62].imag(-1.0 / normalization);
++ m_64qam[63].real(-3.0 / normalization);
++ m_64qam[63].imag(-3.0 / normalization);
+ eta_mod = 6;
+ break;
+ }
+@@ -1799,12 +1799,12 @@ namespace gr {
+ for (int i = 0; i < mapped_items - stream_items - 1840 - (N_post / eta_mod) - (N_FC - C_FC); i++) {
+ int b = ((sr) ^ (sr >> 1)) & 1;
+ if (b) {
+- dummy_randomize[i].real() = -1.0;
++ dummy_randomize[i].real(-1.0);
+ }
+ else {
+- dummy_randomize[i].real() = 1.0;
++ dummy_randomize[i].real(1.0);
+ }
+- dummy_randomize[i].imag() = 0;
++ dummy_randomize[i].imag(0);
+ sr >>= 1;
+ if(b) {
+ sr |= 0x4000;
+--- gr-dtv/lib/dvbt2/dvbt2_miso_cc_impl.cc.orig
++++ gr-dtv/lib/dvbt2/dvbt2_miso_cc_impl.cc
+@@ -578,11 +578,11 @@ namespace gr {
+ for (int j = 0; j < miso_items; j += 2) {
+ temp1 = *in++;
+ temp2 = *in++;
+- out2->real() = -temp2.real();
+- out2->imag() = temp2.imag();
++ out2->real(-temp2.real());
++ out2->imag( temp2.imag());
+ out2++;
+- out2->real() = temp1.real();
+- out2->imag() = -temp1.imag();
++ out2->real( temp1.real());
++ out2->imag(-temp1.imag());
+ out2++;
+ }
+ }
+--- gr-dtv/lib/dvbt2/dvbt2_modulator_bc_impl.cc.orig
++++ gr-dtv/lib/dvbt2/dvbt2_modulator_bc_impl.cc
+@@ -88,749 +88,749 @@ namespace gr {
+ switch (constellation) {
+ case MOD_QPSK:
+ normalization = sqrt(2);
+- m_qpsk[0].real() = 1.0 / normalization;
+- m_qpsk[0].imag() = 1.0 / normalization;
+- m_qpsk[1].real() = 1.0 / normalization;
+- m_qpsk[1].imag() = -1.0 / normalization;
+- m_qpsk[2].real() = -1.0 / normalization;
+- m_qpsk[2].imag() = 1.0 / normalization;
+- m_qpsk[3].real() = -1.0 / normalization;
+- m_qpsk[3].imag() = -1.0 / normalization;
++ m_qpsk[0].real( 1.0 / normalization);
++ m_qpsk[0].imag( 1.0 / normalization);
++ m_qpsk[1].real( 1.0 / normalization);
++ m_qpsk[1].imag(-1.0 / normalization);
++ m_qpsk[2].real(-1.0 / normalization);
++ m_qpsk[2].imag( 1.0 / normalization);
++ m_qpsk[3].real(-1.0 / normalization);
++ m_qpsk[3].imag(-1.0 / normalization);
+ if (rotation == ROTATION_ON) {
+ cyclic_delay = TRUE;
+ rotation_angle = (2.0 * M_PI * 29.0) / 360;
+ for (int i = 0; i < 4; i++) {
+- m_temp[0].real() = m_qpsk[i].real();
+- m_qpsk[i].real() = (m_qpsk[i].real() * cos(rotation_angle)) - (m_qpsk[i].imag() * sin(rotation_angle));
+- m_qpsk[i].imag() = (m_temp[0].real() * sin(rotation_angle)) + (m_qpsk[i].imag() * cos(rotation_angle));
++ m_temp[0].real(m_qpsk[i].real());
++ m_qpsk[i].real((m_qpsk[i].real() * cos(rotation_angle)) - (m_qpsk[i].imag() * sin(rotation_angle)));
++ m_qpsk[i].imag((m_temp[0].real() * sin(rotation_angle)) + (m_qpsk[i].imag() * cos(rotation_angle)));
+ }
+ }
+ break;
+ case MOD_16QAM:
+ normalization = sqrt(10);
+- m_16qam[0].real() = 3.0 / normalization;
+- m_16qam[0].imag() = 3.0 / normalization;
+- m_16qam[1].real() = 3.0 / normalization;
+- m_16qam[1].imag() = 1.0 / normalization;
+- m_16qam[2].real() = 1.0 / normalization;
+- m_16qam[2].imag() = 3.0 / normalization;
+- m_16qam[3].real() = 1.0 / normalization;
+- m_16qam[3].imag() = 1.0 / normalization;
+- m_16qam[4].real() = 3.0 / normalization;
+- m_16qam[4].imag() = -3.0 / normalization;
+- m_16qam[5].real() = 3.0 / normalization;
+- m_16qam[5].imag() = -1.0 / normalization;
+- m_16qam[6].real() = 1.0 / normalization;
+- m_16qam[6].imag() = -3.0 / normalization;
+- m_16qam[7].real() = 1.0 / normalization;
+- m_16qam[7].imag() = -1.0 / normalization;
+- m_16qam[8].real() = -3.0 / normalization;
+- m_16qam[8].imag() = 3.0 / normalization;
+- m_16qam[9].real() = -3.0 / normalization;
+- m_16qam[9].imag() = 1.0 / normalization;
+- m_16qam[10].real() = -1.0 / normalization;
+- m_16qam[10].imag() = 3.0 / normalization;
+- m_16qam[11].real() = -1.0 / normalization;
+- m_16qam[11].imag() = 1.0 / normalization;
+- m_16qam[12].real() = -3.0 / normalization;
+- m_16qam[12].imag() = -3.0 / normalization;
+- m_16qam[13].real() = -3.0 / normalization;
+- m_16qam[13].imag() = -1.0 / normalization;
+- m_16qam[14].real() = -1.0 / normalization;
+- m_16qam[14].imag() = -3.0 / normalization;
+- m_16qam[15].real() = -1.0 / normalization;
+- m_16qam[15].imag() = -1.0 / normalization;
++ m_16qam[0].real( 3.0 / normalization);
++ m_16qam[0].imag( 3.0 / normalization);
++ m_16qam[1].real( 3.0 / normalization);
++ m_16qam[1].imag( 1.0 / normalization);
++ m_16qam[2].real( 1.0 / normalization);
++ m_16qam[2].imag( 3.0 / normalization);
++ m_16qam[3].real( 1.0 / normalization);
++ m_16qam[3].imag( 1.0 / normalization);
++ m_16qam[4].real( 3.0 / normalization);
++ m_16qam[4].imag(-3.0 / normalization);
++ m_16qam[5].real( 3.0 / normalization);
++ m_16qam[5].imag(-1.0 / normalization);
++ m_16qam[6].real( 1.0 / normalization);
++ m_16qam[6].imag(-3.0 / normalization);
++ m_16qam[7].real( 1.0 / normalization);
++ m_16qam[7].imag(-1.0 / normalization);
++ m_16qam[8].real(-3.0 / normalization);
++ m_16qam[8].imag( 3.0 / normalization);
++ m_16qam[9].real(-3.0 / normalization);
++ m_16qam[9].imag( 1.0 / normalization);
++ m_16qam[10].real(-1.0 / normalization);
++ m_16qam[10].imag( 3.0 / normalization);
++ m_16qam[11].real(-1.0 / normalization);
++ m_16qam[11].imag( 1.0 / normalization);
++ m_16qam[12].real(-3.0 / normalization);
++ m_16qam[12].imag(-3.0 / normalization);
++ m_16qam[13].real(-3.0 / normalization);
++ m_16qam[13].imag(-1.0 / normalization);
++ m_16qam[14].real(-1.0 / normalization);
++ m_16qam[14].imag(-3.0 / normalization);
++ m_16qam[15].real(-1.0 / normalization);
++ m_16qam[15].imag(-1.0 / normalization);
+ if (rotation == ROTATION_ON) {
+ cyclic_delay = TRUE;
+ rotation_angle = (2.0 * M_PI * 16.8) / 360;
+ for (int i = 0; i < 16; i++) {
+- m_temp[0].real() = m_16qam[i].real();
+- m_16qam[i].real() = (m_16qam[i].real() * cos(rotation_angle)) - (m_16qam[i].imag() * sin(rotation_angle));
+- m_16qam[i].imag() = (m_temp[0].real() * sin(rotation_angle)) + (m_16qam[i].imag() * cos(rotation_angle));
++ m_temp[0].real(m_16qam[i].real());
++ m_16qam[i].real((m_16qam[i].real() * cos(rotation_angle)) - (m_16qam[i].imag() * sin(rotation_angle)));
++ m_16qam[i].imag((m_temp[0].real() * sin(rotation_angle)) + (m_16qam[i].imag() * cos(rotation_angle)));
+ }
+ }
+ break;
+ case MOD_64QAM:
+ normalization = sqrt(42);
+- m_64qam[0].real() = 7.0 / normalization;
+- m_64qam[0].imag() = 7.0 / normalization;
+- m_64qam[1].real() = 7.0 / normalization;
+- m_64qam[1].imag() = 5.0 / normalization;
+- m_64qam[2].real() = 5.0 / normalization;
+- m_64qam[2].imag() = 7.0 / normalization;
+- m_64qam[3].real() = 5.0 / normalization;
+- m_64qam[3].imag() = 5.0 / normalization;
+- m_64qam[4].real() = 7.0 / normalization;
+- m_64qam[4].imag() = 1.0 / normalization;
+- m_64qam[5].real() = 7.0 / normalization;
+- m_64qam[5].imag() = 3.0 / normalization;
+- m_64qam[6].real() = 5.0 / normalization;
+- m_64qam[6].imag() = 1.0 / normalization;
+- m_64qam[7].real() = 5.0 / normalization;
+- m_64qam[7].imag() = 3.0 / normalization;
+- m_64qam[8].real() = 1.0 / normalization;
+- m_64qam[8].imag() = 7.0 / normalization;
+- m_64qam[9].real() = 1.0 / normalization;
+- m_64qam[9].imag() = 5.0 / normalization;
+- m_64qam[10].real() = 3.0 / normalization;
+- m_64qam[10].imag() = 7.0 / normalization;
+- m_64qam[11].real() = 3.0 / normalization;
+- m_64qam[11].imag() = 5.0 / normalization;
+- m_64qam[12].real() = 1.0 / normalization;
+- m_64qam[12].imag() = 1.0 / normalization;
+- m_64qam[13].real() = 1.0 / normalization;
+- m_64qam[13].imag() = 3.0 / normalization;
+- m_64qam[14].real() = 3.0 / normalization;
+- m_64qam[14].imag() = 1.0 / normalization;
+- m_64qam[15].real() = 3.0 / normalization;
+- m_64qam[15].imag() = 3.0 / normalization;
+- m_64qam[16].real() = 7.0 / normalization;
+- m_64qam[16].imag() = -7.0 / normalization;
+- m_64qam[17].real() = 7.0 / normalization;
+- m_64qam[17].imag() = -5.0 / normalization;
+- m_64qam[18].real() = 5.0 / normalization;
+- m_64qam[18].imag() = -7.0 / normalization;
+- m_64qam[19].real() = 5.0 / normalization;
+- m_64qam[19].imag() = -5.0 / normalization;
+- m_64qam[20].real() = 7.0 / normalization;
+- m_64qam[20].imag() = -1.0 / normalization;
+- m_64qam[21].real() = 7.0 / normalization;
+- m_64qam[21].imag() = -3.0 / normalization;
+- m_64qam[22].real() = 5.0 / normalization;
+- m_64qam[22].imag() = -1.0 / normalization;
+- m_64qam[23].real() = 5.0 / normalization;
+- m_64qam[23].imag() = -3.0 / normalization;
+- m_64qam[24].real() = 1.0 / normalization;
+- m_64qam[24].imag() = -7.0 / normalization;
+- m_64qam[25].real() = 1.0 / normalization;
+- m_64qam[25].imag() = -5.0 / normalization;
+- m_64qam[26].real() = 3.0 / normalization;
+- m_64qam[26].imag() = -7.0 / normalization;
+- m_64qam[27].real() = 3.0 / normalization;
+- m_64qam[27].imag() = -5.0 / normalization;
+- m_64qam[28].real() = 1.0 / normalization;
+- m_64qam[28].imag() = -1.0 / normalization;
+- m_64qam[29].real() = 1.0 / normalization;
+- m_64qam[29].imag() = -3.0 / normalization;
+- m_64qam[30].real() = 3.0 / normalization;
+- m_64qam[30].imag() = -1.0 / normalization;
+- m_64qam[31].real() = 3.0 / normalization;
+- m_64qam[31].imag() = -3.0 / normalization;
+- m_64qam[32].real() = -7.0 / normalization;
+- m_64qam[32].imag() = 7.0 / normalization;
+- m_64qam[33].real() = -7.0 / normalization;
+- m_64qam[33].imag() = 5.0 / normalization;
+- m_64qam[34].real() = -5.0 / normalization;
+- m_64qam[34].imag() = 7.0 / normalization;
+- m_64qam[35].real() = -5.0 / normalization;
+- m_64qam[35].imag() = 5.0 / normalization;
+- m_64qam[36].real() = -7.0 / normalization;
+- m_64qam[36].imag() = 1.0 / normalization;
+- m_64qam[37].real() = -7.0 / normalization;
+- m_64qam[37].imag() = 3.0 / normalization;
+- m_64qam[38].real() = -5.0 / normalization;
+- m_64qam[38].imag() = 1.0 / normalization;
+- m_64qam[39].real() = -5.0 / normalization;
+- m_64qam[39].imag() = 3.0 / normalization;
+- m_64qam[40].real() = -1.0 / normalization;
+- m_64qam[40].imag() = 7.0 / normalization;
+- m_64qam[41].real() = -1.0 / normalization;
+- m_64qam[41].imag() = 5.0 / normalization;
+- m_64qam[42].real() = -3.0 / normalization;
+- m_64qam[42].imag() = 7.0 / normalization;
+- m_64qam[43].real() = -3.0 / normalization;
+- m_64qam[43].imag() = 5.0 / normalization;
+- m_64qam[44].real() = -1.0 / normalization;
+- m_64qam[44].imag() = 1.0 / normalization;
+- m_64qam[45].real() = -1.0 / normalization;
+- m_64qam[45].imag() = 3.0 / normalization;
+- m_64qam[46].real() = -3.0 / normalization;
+- m_64qam[46].imag() = 1.0 / normalization;
+- m_64qam[47].real() = -3.0 / normalization;
+- m_64qam[47].imag() = 3.0 / normalization;
+- m_64qam[48].real() = -7.0 / normalization;
+- m_64qam[48].imag() = -7.0 / normalization;
+- m_64qam[49].real() = -7.0 / normalization;
+- m_64qam[49].imag() = -5.0 / normalization;
+- m_64qam[50].real() = -5.0 / normalization;
+- m_64qam[50].imag() = -7.0 / normalization;
+- m_64qam[51].real() = -5.0 / normalization;
+- m_64qam[51].imag() = -5.0 / normalization;
+- m_64qam[52].real() = -7.0 / normalization;
+- m_64qam[52].imag() = -1.0 / normalization;
+- m_64qam[53].real() = -7.0 / normalization;
+- m_64qam[53].imag() = -3.0 / normalization;
+- m_64qam[54].real() = -5.0 / normalization;
+- m_64qam[54].imag() = -1.0 / normalization;
+- m_64qam[55].real() = -5.0 / normalization;
+- m_64qam[55].imag() = -3.0 / normalization;
+- m_64qam[56].real() = -1.0 / normalization;
+- m_64qam[56].imag() = -7.0 / normalization;
+- m_64qam[57].real() = -1.0 / normalization;
+- m_64qam[57].imag() = -5.0 / normalization;
+- m_64qam[58].real() = -3.0 / normalization;
+- m_64qam[58].imag() = -7.0 / normalization;
+- m_64qam[59].real() = -3.0 / normalization;
+- m_64qam[59].imag() = -5.0 / normalization;
+- m_64qam[60].real() = -1.0 / normalization;
+- m_64qam[60].imag() = -1.0 / normalization;
+- m_64qam[61].real() = -1.0 / normalization;
+- m_64qam[61].imag() = -3.0 / normalization;
+- m_64qam[62].real() = -3.0 / normalization;
+- m_64qam[62].imag() = -1.0 / normalization;
+- m_64qam[63].real() = -3.0 / normalization;
+- m_64qam[63].imag() = -3.0 / normalization;
++ m_64qam[0].real( 7.0 / normalization);
++ m_64qam[0].imag( 7.0 / normalization);
++ m_64qam[1].real( 7.0 / normalization);
++ m_64qam[1].imag( 5.0 / normalization);
++ m_64qam[2].real( 5.0 / normalization);
++ m_64qam[2].imag( 7.0 / normalization);
++ m_64qam[3].real( 5.0 / normalization);
++ m_64qam[3].imag( 5.0 / normalization);
++ m_64qam[4].real( 7.0 / normalization);
++ m_64qam[4].imag( 1.0 / normalization);
++ m_64qam[5].real( 7.0 / normalization);
++ m_64qam[5].imag( 3.0 / normalization);
++ m_64qam[6].real( 5.0 / normalization);
++ m_64qam[6].imag( 1.0 / normalization);
++ m_64qam[7].real( 5.0 / normalization);
++ m_64qam[7].imag( 3.0 / normalization);
++ m_64qam[8].real( 1.0 / normalization);
++ m_64qam[8].imag( 7.0 / normalization);
++ m_64qam[9].real( 1.0 / normalization);
++ m_64qam[9].imag( 5.0 / normalization);
++ m_64qam[10].real( 3.0 / normalization);
++ m_64qam[10].imag( 7.0 / normalization);
++ m_64qam[11].real( 3.0 / normalization);
++ m_64qam[11].imag( 5.0 / normalization);
++ m_64qam[12].real( 1.0 / normalization);
++ m_64qam[12].imag( 1.0 / normalization);
++ m_64qam[13].real( 1.0 / normalization);
++ m_64qam[13].imag( 3.0 / normalization);
++ m_64qam[14].real( 3.0 / normalization);
++ m_64qam[14].imag( 1.0 / normalization);
++ m_64qam[15].real( 3.0 / normalization);
++ m_64qam[15].imag( 3.0 / normalization);
++ m_64qam[16].real( 7.0 / normalization);
++ m_64qam[16].imag(-7.0 / normalization);
++ m_64qam[17].real( 7.0 / normalization);
++ m_64qam[17].imag(-5.0 / normalization);
++ m_64qam[18].real( 5.0 / normalization);
++ m_64qam[18].imag(-7.0 / normalization);
++ m_64qam[19].real( 5.0 / normalization);
++ m_64qam[19].imag(-5.0 / normalization);
++ m_64qam[20].real( 7.0 / normalization);
++ m_64qam[20].imag(-1.0 / normalization);
++ m_64qam[21].real( 7.0 / normalization);
++ m_64qam[21].imag(-3.0 / normalization);
++ m_64qam[22].real( 5.0 / normalization);
++ m_64qam[22].imag(-1.0 / normalization);
++ m_64qam[23].real( 5.0 / normalization);
++ m_64qam[23].imag(-3.0 / normalization);
++ m_64qam[24].real( 1.0 / normalization);
++ m_64qam[24].imag(-7.0 / normalization);
++ m_64qam[25].real( 1.0 / normalization);
++ m_64qam[25].imag(-5.0 / normalization);
++ m_64qam[26].real( 3.0 / normalization);
++ m_64qam[26].imag(-7.0 / normalization);
++ m_64qam[27].real( 3.0 / normalization);
++ m_64qam[27].imag(-5.0 / normalization);
++ m_64qam[28].real( 1.0 / normalization);
++ m_64qam[28].imag(-1.0 / normalization);
++ m_64qam[29].real( 1.0 / normalization);
++ m_64qam[29].imag(-3.0 / normalization);
++ m_64qam[30].real( 3.0 / normalization);
++ m_64qam[30].imag(-1.0 / normalization);
++ m_64qam[31].real( 3.0 / normalization);
++ m_64qam[31].imag(-3.0 / normalization);
++ m_64qam[32].real(-7.0 / normalization);
++ m_64qam[32].imag( 7.0 / normalization);
++ m_64qam[33].real(-7.0 / normalization);
++ m_64qam[33].imag( 5.0 / normalization);
++ m_64qam[34].real(-5.0 / normalization);
++ m_64qam[34].imag( 7.0 / normalization);
++ m_64qam[35].real(-5.0 / normalization);
++ m_64qam[35].imag( 5.0 / normalization);
++ m_64qam[36].real(-7.0 / normalization);
++ m_64qam[36].imag( 1.0 / normalization);
++ m_64qam[37].real(-7.0 / normalization);
++ m_64qam[37].imag( 3.0 / normalization);
++ m_64qam[38].real(-5.0 / normalization);
++ m_64qam[38].imag( 1.0 / normalization);
++ m_64qam[39].real(-5.0 / normalization);
++ m_64qam[39].imag( 3.0 / normalization);
++ m_64qam[40].real(-1.0 / normalization);
++ m_64qam[40].imag( 7.0 / normalization);
++ m_64qam[41].real(-1.0 / normalization);
++ m_64qam[41].imag( 5.0 / normalization);
++ m_64qam[42].real(-3.0 / normalization);
++ m_64qam[42].imag( 7.0 / normalization);
++ m_64qam[43].real(-3.0 / normalization);
++ m_64qam[43].imag( 5.0 / normalization);
++ m_64qam[44].real(-1.0 / normalization);
++ m_64qam[44].imag( 1.0 / normalization);
++ m_64qam[45].real(-1.0 / normalization);
++ m_64qam[45].imag( 3.0 / normalization);
++ m_64qam[46].real(-3.0 / normalization);
++ m_64qam[46].imag( 1.0 / normalization);
++ m_64qam[47].real(-3.0 / normalization);
++ m_64qam[47].imag( 3.0 / normalization);
++ m_64qam[48].real(-7.0 / normalization);
++ m_64qam[48].imag(-7.0 / normalization);
++ m_64qam[49].real(-7.0 / normalization);
++ m_64qam[49].imag(-5.0 / normalization);
++ m_64qam[50].real(-5.0 / normalization);
++ m_64qam[50].imag(-7.0 / normalization);
++ m_64qam[51].real(-5.0 / normalization);
++ m_64qam[51].imag(-5.0 / normalization);
++ m_64qam[52].real(-7.0 / normalization);
++ m_64qam[52].imag(-1.0 / normalization);
++ m_64qam[53].real(-7.0 / normalization);
++ m_64qam[53].imag(-3.0 / normalization);
++ m_64qam[54].real(-5.0 / normalization);
++ m_64qam[54].imag(-1.0 / normalization);
++ m_64qam[55].real(-5.0 / normalization);
++ m_64qam[55].imag(-3.0 / normalization);
++ m_64qam[56].real(-1.0 / normalization);
++ m_64qam[56].imag(-7.0 / normalization);
++ m_64qam[57].real(-1.0 / normalization);
++ m_64qam[57].imag(-5.0 / normalization);
++ m_64qam[58].real(-3.0 / normalization);
++ m_64qam[58].imag(-7.0 / normalization);
++ m_64qam[59].real(-3.0 / normalization);
++ m_64qam[59].imag(-5.0 / normalization);
++ m_64qam[60].real(-1.0 / normalization);
++ m_64qam[60].imag(-1.0 / normalization);
++ m_64qam[61].real(-1.0 / normalization);
++ m_64qam[61].imag(-3.0 / normalization);
++ m_64qam[62].real(-3.0 / normalization);
++ m_64qam[62].imag(-1.0 / normalization);
++ m_64qam[63].real(-3.0 / normalization);
++ m_64qam[63].imag(-3.0 / normalization);
+ if (rotation == ROTATION_ON) {
+ cyclic_delay = TRUE;
+ rotation_angle = (2.0 * M_PI * 8.6) / 360;
+ for (int i = 0; i < 64; i++) {
+- m_temp[0].real() = m_64qam[i].real();
+- m_64qam[i].real() = (m_64qam[i].real() * cos(rotation_angle)) - (m_64qam[i].imag() * sin(rotation_angle));
+- m_64qam[i].imag() = (m_temp[0].real() * sin(rotation_angle)) + (m_64qam[i].imag() * cos(rotation_angle));
++ m_temp[0].real(m_64qam[i].real());
++ m_64qam[i].real((m_64qam[i].real() * cos(rotation_angle)) - (m_64qam[i].imag() * sin(rotation_angle)));
++ m_64qam[i].imag((m_temp[0].real() * sin(rotation_angle)) + (m_64qam[i].imag() * cos(rotation_angle)));
+ }
+ }
+ break;
+ case MOD_256QAM:
+ normalization = sqrt(170);
+- m_256qam[0].real() = 15 / normalization;
+- m_256qam[0].imag() = 15 / normalization;
+- m_256qam[1].real() = 15 / normalization;
+- m_256qam[1].imag() = 13 / normalization;
+- m_256qam[2].real() = 13 / normalization;
+- m_256qam[2].imag() = 15 / normalization;
+- m_256qam[3].real() = 13 / normalization;
+- m_256qam[3].imag() = 13 / normalization;
+- m_256qam[4].real() = 15 / normalization;
+- m_256qam[4].imag() = 9 / normalization;
+- m_256qam[5].real() = 15 / normalization;
+- m_256qam[5].imag() = 11 / normalization;
+- m_256qam[6].real() = 13 / normalization;
+- m_256qam[6].imag() = 9 / normalization;
+- m_256qam[7].real() = 13 / normalization;
+- m_256qam[7].imag() = 11 / normalization;
+- m_256qam[8].real() = 9 / normalization;
+- m_256qam[8].imag() = 15 / normalization;
+- m_256qam[9].real() = 9 / normalization;
+- m_256qam[9].imag() = 13 / normalization;
+- m_256qam[10].real() = 11 / normalization;
+- m_256qam[10].imag() = 15 / normalization;
+- m_256qam[11].real() = 11 / normalization;
+- m_256qam[11].imag() = 13 / normalization;
+- m_256qam[12].real() = 9 / normalization;
+- m_256qam[12].imag() = 9 / normalization;
+- m_256qam[13].real() = 9 / normalization;
+- m_256qam[13].imag() = 11 / normalization;
+- m_256qam[14].real() = 11 / normalization;
+- m_256qam[14].imag() = 9 / normalization;
+- m_256qam[15].real() = 11 / normalization;
+- m_256qam[15].imag() = 11 / normalization;
+- m_256qam[16].real() = 15 / normalization;
+- m_256qam[16].imag() = 1 / normalization;
+- m_256qam[17].real() = 15 / normalization;
+- m_256qam[17].imag() = 3 / normalization;
+- m_256qam[18].real() = 13 / normalization;
+- m_256qam[18].imag() = 1 / normalization;
+- m_256qam[19].real() = 13 / normalization;
+- m_256qam[19].imag() = 3 / normalization;
+- m_256qam[20].real() = 15 / normalization;
+- m_256qam[20].imag() = 7 / normalization;
+- m_256qam[21].real() = 15 / normalization;
+- m_256qam[21].imag() = 5 / normalization;
+- m_256qam[22].real() = 13 / normalization;
+- m_256qam[22].imag() = 7 / normalization;
+- m_256qam[23].real() = 13 / normalization;
+- m_256qam[23].imag() = 5 / normalization;
+- m_256qam[24].real() = 9 / normalization;
+- m_256qam[24].imag() = 1 / normalization;
+- m_256qam[25].real() = 9 / normalization;
+- m_256qam[25].imag() = 3 / normalization;
+- m_256qam[26].real() = 11 / normalization;
+- m_256qam[26].imag() = 1 / normalization;
+- m_256qam[27].real() = 11 / normalization;
+- m_256qam[27].imag() = 3 / normalization;
+- m_256qam[28].real() = 9 / normalization;
+- m_256qam[28].imag() = 7 / normalization;
+- m_256qam[29].real() = 9 / normalization;
+- m_256qam[29].imag() = 5 / normalization;
+- m_256qam[30].real() = 11 / normalization;
+- m_256qam[30].imag() = 7 / normalization;
+- m_256qam[31].real() = 11 / normalization;
+- m_256qam[31].imag() = 5 / normalization;
+- m_256qam[32].real() = 1 / normalization;
+- m_256qam[32].imag() = 15 / normalization;
+- m_256qam[33].real() = 1 / normalization;
+- m_256qam[33].imag() = 13 / normalization;
+- m_256qam[34].real() = 3 / normalization;
+- m_256qam[34].imag() = 15 / normalization;
+- m_256qam[35].real() = 3 / normalization;
+- m_256qam[35].imag() = 13 / normalization;
+- m_256qam[36].real() = 1 / normalization;
+- m_256qam[36].imag() = 9 / normalization;
+- m_256qam[37].real() = 1 / normalization;
+- m_256qam[37].imag() = 11 / normalization;
+- m_256qam[38].real() = 3 / normalization;
+- m_256qam[38].imag() = 9 / normalization;
+- m_256qam[39].real() = 3 / normalization;
+- m_256qam[39].imag() = 11 / normalization;
+- m_256qam[40].real() = 7 / normalization;
+- m_256qam[40].imag() = 15 / normalization;
+- m_256qam[41].real() = 7 / normalization;
+- m_256qam[41].imag() = 13 / normalization;
+- m_256qam[42].real() = 5 / normalization;
+- m_256qam[42].imag() = 15 / normalization;
+- m_256qam[43].real() = 5 / normalization;
+- m_256qam[43].imag() = 13 / normalization;
+- m_256qam[44].real() = 7 / normalization;
+- m_256qam[44].imag() = 9 / normalization;
+- m_256qam[45].real() = 7 / normalization;
+- m_256qam[45].imag() = 11 / normalization;
+- m_256qam[46].real() = 5 / normalization;
+- m_256qam[46].imag() = 9 / normalization;
+- m_256qam[47].real() = 5 / normalization;
+- m_256qam[47].imag() = 11 / normalization;
+- m_256qam[48].real() = 1 / normalization;
+- m_256qam[48].imag() = 1 / normalization;
+- m_256qam[49].real() = 1 / normalization;
+- m_256qam[49].imag() = 3 / normalization;
+- m_256qam[50].real() = 3 / normalization;
+- m_256qam[50].imag() = 1 / normalization;
+- m_256qam[51].real() = 3 / normalization;
+- m_256qam[51].imag() = 3 / normalization;
+- m_256qam[52].real() = 1 / normalization;
+- m_256qam[52].imag() = 7 / normalization;
+- m_256qam[53].real() = 1 / normalization;
+- m_256qam[53].imag() = 5 / normalization;
+- m_256qam[54].real() = 3 / normalization;
+- m_256qam[54].imag() = 7 / normalization;
+- m_256qam[55].real() = 3 / normalization;
+- m_256qam[55].imag() = 5 / normalization;
+- m_256qam[56].real() = 7 / normalization;
+- m_256qam[56].imag() = 1 / normalization;
+- m_256qam[57].real() = 7 / normalization;
+- m_256qam[57].imag() = 3 / normalization;
+- m_256qam[58].real() = 5 / normalization;
+- m_256qam[58].imag() = 1 / normalization;
+- m_256qam[59].real() = 5 / normalization;
+- m_256qam[59].imag() = 3 / normalization;
+- m_256qam[60].real() = 7 / normalization;
+- m_256qam[60].imag() = 7 / normalization;
+- m_256qam[61].real() = 7 / normalization;
+- m_256qam[61].imag() = 5 / normalization;
+- m_256qam[62].real() = 5 / normalization;
+- m_256qam[62].imag() = 7 / normalization;
+- m_256qam[63].real() = 5 / normalization;
+- m_256qam[63].imag() = 5 / normalization;
+- m_256qam[64].real() = 15 / normalization;
+- m_256qam[64].imag() = -15 / normalization;
+- m_256qam[65].real() = 15 / normalization;
+- m_256qam[65].imag() = -13 / normalization;
+- m_256qam[66].real() = 13 / normalization;
+- m_256qam[66].imag() = -15 / normalization;
+- m_256qam[67].real() = 13 / normalization;
+- m_256qam[67].imag() = -13 / normalization;
+- m_256qam[68].real() = 15 / normalization;
+- m_256qam[68].imag() = -9 / normalization;
+- m_256qam[69].real() = 15 / normalization;
+- m_256qam[69].imag() = -11 / normalization;
+- m_256qam[70].real() = 13 / normalization;
+- m_256qam[70].imag() = -9 / normalization;
+- m_256qam[71].real() = 13 / normalization;
+- m_256qam[71].imag() = -11 / normalization;
+- m_256qam[72].real() = 9 / normalization;
+- m_256qam[72].imag() = -15 / normalization;
+- m_256qam[73].real() = 9 / normalization;
+- m_256qam[73].imag() = -13 / normalization;
+- m_256qam[74].real() = 11 / normalization;
+- m_256qam[74].imag() = -15 / normalization;
+- m_256qam[75].real() = 11 / normalization;
+- m_256qam[75].imag() = -13 / normalization;
+- m_256qam[76].real() = 9 / normalization;
+- m_256qam[76].imag() = -9 / normalization;
+- m_256qam[77].real() = 9 / normalization;
+- m_256qam[77].imag() = -11 / normalization;
+- m_256qam[78].real() = 11 / normalization;
+- m_256qam[78].imag() = -9 / normalization;
+- m_256qam[79].real() = 11 / normalization;
+- m_256qam[79].imag() = -11 / normalization;
+- m_256qam[80].real() = 15 / normalization;
+- m_256qam[80].imag() = -1 / normalization;
+- m_256qam[81].real() = 15 / normalization;
+- m_256qam[81].imag() = -3 / normalization;
+- m_256qam[82].real() = 13 / normalization;
+- m_256qam[82].imag() = -1 / normalization;
+- m_256qam[83].real() = 13 / normalization;
+- m_256qam[83].imag() = -3 / normalization;
+- m_256qam[84].real() = 15 / normalization;
+- m_256qam[84].imag() = -7 / normalization;
+- m_256qam[85].real() = 15 / normalization;
+- m_256qam[85].imag() = -5 / normalization;
+- m_256qam[86].real() = 13 / normalization;
+- m_256qam[86].imag() = -7 / normalization;
+- m_256qam[87].real() = 13 / normalization;
+- m_256qam[87].imag() = -5 / normalization;
+- m_256qam[88].real() = 9 / normalization;
+- m_256qam[88].imag() = -1 / normalization;
+- m_256qam[89].real() = 9 / normalization;
+- m_256qam[89].imag() = -3 / normalization;
+- m_256qam[90].real() = 11 / normalization;
+- m_256qam[90].imag() = -1 / normalization;
+- m_256qam[91].real() = 11 / normalization;
+- m_256qam[91].imag() = -3 / normalization;
+- m_256qam[92].real() = 9 / normalization;
+- m_256qam[92].imag() = -7 / normalization;
+- m_256qam[93].real() = 9 / normalization;
+- m_256qam[93].imag() = -5 / normalization;
+- m_256qam[94].real() = 11 / normalization;
+- m_256qam[94].imag() = -7 / normalization;
+- m_256qam[95].real() = 11 / normalization;
+- m_256qam[95].imag() = -5 / normalization;
+- m_256qam[96].real() = 1 / normalization;
+- m_256qam[96].imag() = -15 / normalization;
+- m_256qam[97].real() = 1 / normalization;
+- m_256qam[97].imag() = -13 / normalization;
+- m_256qam[98].real() = 3 / normalization;
+- m_256qam[98].imag() = -15 / normalization;
+- m_256qam[99].real() = 3 / normalization;
+- m_256qam[99].imag() = -13 / normalization;
+- m_256qam[100].real() = 1 / normalization;
+- m_256qam[100].imag() = -9 / normalization;
+- m_256qam[101].real() = 1 / normalization;
+- m_256qam[101].imag() = -11 / normalization;
+- m_256qam[102].real() = 3 / normalization;
+- m_256qam[102].imag() = -9 / normalization;
+- m_256qam[103].real() = 3 / normalization;
+- m_256qam[103].imag() = -11 / normalization;
+- m_256qam[104].real() = 7 / normalization;
+- m_256qam[104].imag() = -15 / normalization;
+- m_256qam[105].real() = 7 / normalization;
+- m_256qam[105].imag() = -13 / normalization;
+- m_256qam[106].real() = 5 / normalization;
+- m_256qam[106].imag() = -15 / normalization;
+- m_256qam[107].real() = 5 / normalization;
+- m_256qam[107].imag() = -13 / normalization;
+- m_256qam[108].real() = 7 / normalization;
+- m_256qam[108].imag() = -9 / normalization;
+- m_256qam[109].real() = 7 / normalization;
+- m_256qam[109].imag() = -11 / normalization;
+- m_256qam[110].real() = 5 / normalization;
+- m_256qam[110].imag() = -9 / normalization;
+- m_256qam[111].real() = 5 / normalization;
+- m_256qam[111].imag() = -11 / normalization;
+- m_256qam[112].real() = 1 / normalization;
+- m_256qam[112].imag() = -1 / normalization;
+- m_256qam[113].real() = 1 / normalization;
+- m_256qam[113].imag() = -3 / normalization;
+- m_256qam[114].real() = 3 / normalization;
+- m_256qam[114].imag() = -1 / normalization;
+- m_256qam[115].real() = 3 / normalization;
+- m_256qam[115].imag() = -3 / normalization;
+- m_256qam[116].real() = 1 / normalization;
+- m_256qam[116].imag() = -7 / normalization;
+- m_256qam[117].real() = 1 / normalization;
+- m_256qam[117].imag() = -5 / normalization;
+- m_256qam[118].real() = 3 / normalization;
+- m_256qam[118].imag() = -7 / normalization;
+- m_256qam[119].real() = 3 / normalization;
+- m_256qam[119].imag() = -5 / normalization;
+- m_256qam[120].real() = 7 / normalization;
+- m_256qam[120].imag() = -1 / normalization;
+- m_256qam[121].real() = 7 / normalization;
+- m_256qam[121].imag() = -3 / normalization;
+- m_256qam[122].real() = 5 / normalization;
+- m_256qam[122].imag() = -1 / normalization;
+- m_256qam[123].real() = 5 / normalization;
+- m_256qam[123].imag() = -3 / normalization;
+- m_256qam[124].real() = 7 / normalization;
+- m_256qam[124].imag() = -7 / normalization;
+- m_256qam[125].real() = 7 / normalization;
+- m_256qam[125].imag() = -5 / normalization;
+- m_256qam[126].real() = 5 / normalization;
+- m_256qam[126].imag() = -7 / normalization;
+- m_256qam[127].real() = 5 / normalization;
+- m_256qam[127].imag() = -5 / normalization;
+- m_256qam[128].real() = -15 / normalization;
+- m_256qam[128].imag() = 15 / normalization;
+- m_256qam[129].real() = -15 / normalization;
+- m_256qam[129].imag() = 13 / normalization;
+- m_256qam[130].real() = -13 / normalization;
+- m_256qam[130].imag() = 15 / normalization;
+- m_256qam[131].real() = -13 / normalization;
+- m_256qam[131].imag() = 13 / normalization;
+- m_256qam[132].real() = -15 / normalization;
+- m_256qam[132].imag() = 9 / normalization;
+- m_256qam[133].real() = -15 / normalization;
+- m_256qam[133].imag() = 11 / normalization;
+- m_256qam[134].real() = -13 / normalization;
+- m_256qam[134].imag() = 9 / normalization;
+- m_256qam[135].real() = -13 / normalization;
+- m_256qam[135].imag() = 11 / normalization;
+- m_256qam[136].real() = -9 / normalization;
+- m_256qam[136].imag() = 15 / normalization;
+- m_256qam[137].real() = -9 / normalization;
+- m_256qam[137].imag() = 13 / normalization;
+- m_256qam[138].real() = -11 / normalization;
+- m_256qam[138].imag() = 15 / normalization;
+- m_256qam[139].real() = -11 / normalization;
+- m_256qam[139].imag() = 13 / normalization;
+- m_256qam[140].real() = -9 / normalization;
+- m_256qam[140].imag() = 9 / normalization;
+- m_256qam[141].real() = -9 / normalization;
+- m_256qam[141].imag() = 11 / normalization;
+- m_256qam[142].real() = -11 / normalization;
+- m_256qam[142].imag() = 9 / normalization;
+- m_256qam[143].real() = -11 / normalization;
+- m_256qam[143].imag() = 11 / normalization;
+- m_256qam[144].real() = -15 / normalization;
+- m_256qam[144].imag() = 1 / normalization;
+- m_256qam[145].real() = -15 / normalization;
+- m_256qam[145].imag() = 3 / normalization;
+- m_256qam[146].real() = -13 / normalization;
+- m_256qam[146].imag() = 1 / normalization;
+- m_256qam[147].real() = -13 / normalization;
+- m_256qam[147].imag() = 3 / normalization;
+- m_256qam[148].real() = -15 / normalization;
+- m_256qam[148].imag() = 7 / normalization;
+- m_256qam[149].real() = -15 / normalization;
+- m_256qam[149].imag() = 5 / normalization;
+- m_256qam[150].real() = -13 / normalization;
+- m_256qam[150].imag() = 7 / normalization;
+- m_256qam[151].real() = -13 / normalization;
+- m_256qam[151].imag() = 5 / normalization;
+- m_256qam[152].real() = -9 / normalization;
+- m_256qam[152].imag() = 1 / normalization;
+- m_256qam[153].real() = -9 / normalization;
+- m_256qam[153].imag() = 3 / normalization;
+- m_256qam[154].real() = -11 / normalization;
+- m_256qam[154].imag() = 1 / normalization;
+- m_256qam[155].real() = -11 / normalization;
+- m_256qam[155].imag() = 3 / normalization;
+- m_256qam[156].real() = -9 / normalization;
+- m_256qam[156].imag() = 7 / normalization;
+- m_256qam[157].real() = -9 / normalization;
+- m_256qam[157].imag() = 5 / normalization;
+- m_256qam[158].real() = -11 / normalization;
+- m_256qam[158].imag() = 7 / normalization;
+- m_256qam[159].real() = -11 / normalization;
+- m_256qam[159].imag() = 5 / normalization;
+- m_256qam[160].real() = -1 / normalization;
+- m_256qam[160].imag() = 15 / normalization;
+- m_256qam[161].real() = -1 / normalization;
+- m_256qam[161].imag() = 13 / normalization;
+- m_256qam[162].real() = -3 / normalization;
+- m_256qam[162].imag() = 15 / normalization;
+- m_256qam[163].real() = -3 / normalization;
+- m_256qam[163].imag() = 13 / normalization;
+- m_256qam[164].real() = -1 / normalization;
+- m_256qam[164].imag() = 9 / normalization;
+- m_256qam[165].real() = -1 / normalization;
+- m_256qam[165].imag() = 11 / normalization;
+- m_256qam[166].real() = -3 / normalization;
+- m_256qam[166].imag() = 9 / normalization;
+- m_256qam[167].real() = -3 / normalization;
+- m_256qam[167].imag() = 11 / normalization;
+- m_256qam[168].real() = -7 / normalization;
+- m_256qam[168].imag() = 15 / normalization;
+- m_256qam[169].real() = -7 / normalization;
+- m_256qam[169].imag() = 13 / normalization;
+- m_256qam[170].real() = -5 / normalization;
+- m_256qam[170].imag() = 15 / normalization;
+- m_256qam[171].real() = -5 / normalization;
+- m_256qam[171].imag() = 13 / normalization;
+- m_256qam[172].real() = -7 / normalization;
+- m_256qam[172].imag() = 9 / normalization;
+- m_256qam[173].real() = -7 / normalization;
+- m_256qam[173].imag() = 11 / normalization;
+- m_256qam[174].real() = -5 / normalization;
+- m_256qam[174].imag() = 9 / normalization;
+- m_256qam[175].real() = -5 / normalization;
+- m_256qam[175].imag() = 11 / normalization;
+- m_256qam[176].real() = -1 / normalization;
+- m_256qam[176].imag() = 1 / normalization;
+- m_256qam[177].real() = -1 / normalization;
+- m_256qam[177].imag() = 3 / normalization;
+- m_256qam[178].real() = -3 / normalization;
+- m_256qam[178].imag() = 1 / normalization;
+- m_256qam[179].real() = -3 / normalization;
+- m_256qam[179].imag() = 3 / normalization;
+- m_256qam[180].real() = -1 / normalization;
+- m_256qam[180].imag() = 7 / normalization;
+- m_256qam[181].real() = -1 / normalization;
+- m_256qam[181].imag() = 5 / normalization;
+- m_256qam[182].real() = -3 / normalization;
+- m_256qam[182].imag() = 7 / normalization;
+- m_256qam[183].real() = -3 / normalization;
+- m_256qam[183].imag() = 5 / normalization;
+- m_256qam[184].real() = -7 / normalization;
+- m_256qam[184].imag() = 1 / normalization;
+- m_256qam[185].real() = -7 / normalization;
+- m_256qam[185].imag() = 3 / normalization;
+- m_256qam[186].real() = -5 / normalization;
+- m_256qam[186].imag() = 1 / normalization;
+- m_256qam[187].real() = -5 / normalization;
+- m_256qam[187].imag() = 3 / normalization;
+- m_256qam[188].real() = -7 / normalization;
+- m_256qam[188].imag() = 7 / normalization;
+- m_256qam[189].real() = -7 / normalization;
+- m_256qam[189].imag() = 5 / normalization;
+- m_256qam[190].real() = -5 / normalization;
+- m_256qam[190].imag() = 7 / normalization;
+- m_256qam[191].real() = -5 / normalization;
+- m_256qam[191].imag() = 5 / normalization;
+- m_256qam[192].real() = -15 / normalization;
+- m_256qam[192].imag() = -15 / normalization;
+- m_256qam[193].real() = -15 / normalization;
+- m_256qam[193].imag() = -13 / normalization;
+- m_256qam[194].real() = -13 / normalization;
+- m_256qam[194].imag() = -15 / normalization;
+- m_256qam[195].real() = -13 / normalization;
+- m_256qam[195].imag() = -13 / normalization;
+- m_256qam[196].real() = -15 / normalization;
+- m_256qam[196].imag() = -9 / normalization;
+- m_256qam[197].real() = -15 / normalization;
+- m_256qam[197].imag() = -11 / normalization;
+- m_256qam[198].real() = -13 / normalization;
+- m_256qam[198].imag() = -9 / normalization;
+- m_256qam[199].real() = -13 / normalization;
+- m_256qam[199].imag() = -11 / normalization;
+- m_256qam[200].real() = -9 / normalization;
+- m_256qam[200].imag() = -15 / normalization;
+- m_256qam[201].real() = -9 / normalization;
+- m_256qam[201].imag() = -13 / normalization;
+- m_256qam[202].real() = -11 / normalization;
+- m_256qam[202].imag() = -15 / normalization;
+- m_256qam[203].real() = -11 / normalization;
+- m_256qam[203].imag() = -13 / normalization;
+- m_256qam[204].real() = -9 / normalization;
+- m_256qam[204].imag() = -9 / normalization;
+- m_256qam[205].real() = -9 / normalization;
+- m_256qam[205].imag() = -11 / normalization;
+- m_256qam[206].real() = -11 / normalization;
+- m_256qam[206].imag() = -9 / normalization;
+- m_256qam[207].real() = -11 / normalization;
+- m_256qam[207].imag() = -11 / normalization;
+- m_256qam[208].real() = -15 / normalization;
+- m_256qam[208].imag() = -1 / normalization;
+- m_256qam[209].real() = -15 / normalization;
+- m_256qam[209].imag() = -3 / normalization;
+- m_256qam[210].real() = -13 / normalization;
+- m_256qam[210].imag() = -1 / normalization;
+- m_256qam[211].real() = -13 / normalization;
+- m_256qam[211].imag() = -3 / normalization;
+- m_256qam[212].real() = -15 / normalization;
+- m_256qam[212].imag() = -7 / normalization;
+- m_256qam[213].real() = -15 / normalization;
+- m_256qam[213].imag() = -5 / normalization;
+- m_256qam[214].real() = -13 / normalization;
+- m_256qam[214].imag() = -7 / normalization;
+- m_256qam[215].real() = -13 / normalization;
+- m_256qam[215].imag() = -5 / normalization;
+- m_256qam[216].real() = -9 / normalization;
+- m_256qam[216].imag() = -1 / normalization;
+- m_256qam[217].real() = -9 / normalization;
+- m_256qam[217].imag() = -3 / normalization;
+- m_256qam[218].real() = -11 / normalization;
+- m_256qam[218].imag() = -1 / normalization;
+- m_256qam[219].real() = -11 / normalization;
+- m_256qam[219].imag() = -3 / normalization;
+- m_256qam[220].real() = -9 / normalization;
+- m_256qam[220].imag() = -7 / normalization;
+- m_256qam[221].real() = -9 / normalization;
+- m_256qam[221].imag() = -5 / normalization;
+- m_256qam[222].real() = -11 / normalization;
+- m_256qam[222].imag() = -7 / normalization;
+- m_256qam[223].real() = -11 / normalization;
+- m_256qam[223].imag() = -5 / normalization;
+- m_256qam[224].real() = -1 / normalization;
+- m_256qam[224].imag() = -15 / normalization;
+- m_256qam[225].real() = -1 / normalization;
+- m_256qam[225].imag() = -13 / normalization;
+- m_256qam[226].real() = -3 / normalization;
+- m_256qam[226].imag() = -15 / normalization;
+- m_256qam[227].real() = -3 / normalization;
+- m_256qam[227].imag() = -13 / normalization;
+- m_256qam[228].real() = -1 / normalization;
+- m_256qam[228].imag() = -9 / normalization;
+- m_256qam[229].real() = -1 / normalization;
+- m_256qam[229].imag() = -11 / normalization;
+- m_256qam[230].real() = -3 / normalization;
+- m_256qam[230].imag() = -9 / normalization;
+- m_256qam[231].real() = -3 / normalization;
+- m_256qam[231].imag() = -11 / normalization;
+- m_256qam[232].real() = -7 / normalization;
+- m_256qam[232].imag() = -15 / normalization;
+- m_256qam[233].real() = -7 / normalization;
+- m_256qam[233].imag() = -13 / normalization;
+- m_256qam[234].real() = -5 / normalization;
+- m_256qam[234].imag() = -15 / normalization;
+- m_256qam[235].real() = -5 / normalization;
+- m_256qam[235].imag() = -13 / normalization;
+- m_256qam[236].real() = -7 / normalization;
+- m_256qam[236].imag() = -9 / normalization;
+- m_256qam[237].real() = -7 / normalization;
+- m_256qam[237].imag() = -11 / normalization;
+- m_256qam[238].real() = -5 / normalization;
+- m_256qam[238].imag() = -9 / normalization;
+- m_256qam[239].real() = -5 / normalization;
+- m_256qam[239].imag() = -11 / normalization;
+- m_256qam[240].real() = -1 / normalization;
+- m_256qam[240].imag() = -1 / normalization;
+- m_256qam[241].real() = -1 / normalization;
+- m_256qam[241].imag() = -3 / normalization;
+- m_256qam[242].real() = -3 / normalization;
+- m_256qam[242].imag() = -1 / normalization;
+- m_256qam[243].real() = -3 / normalization;
+- m_256qam[243].imag() = -3 / normalization;
+- m_256qam[244].real() = -1 / normalization;
+- m_256qam[244].imag() = -7 / normalization;
+- m_256qam[245].real() = -1 / normalization;
+- m_256qam[245].imag() = -5 / normalization;
+- m_256qam[246].real() = -3 / normalization;
+- m_256qam[246].imag() = -7 / normalization;
+- m_256qam[247].real() = -3 / normalization;
+- m_256qam[247].imag() = -5 / normalization;
+- m_256qam[248].real() = -7 / normalization;
+- m_256qam[248].imag() = -1 / normalization;
+- m_256qam[249].real() = -7 / normalization;
+- m_256qam[249].imag() = -3 / normalization;
+- m_256qam[250].real() = -5 / normalization;
+- m_256qam[250].imag() = -1 / normalization;
+- m_256qam[251].real() = -5 / normalization;
+- m_256qam[251].imag() = -3 / normalization;
+- m_256qam[252].real() = -7 / normalization;
+- m_256qam[252].imag() = -7 / normalization;
+- m_256qam[253].real() = -7 / normalization;
+- m_256qam[253].imag() = -5 / normalization;
+- m_256qam[254].real() = -5 / normalization;
+- m_256qam[254].imag() = -7 / normalization;
+- m_256qam[255].real() = -5 / normalization;
+- m_256qam[255].imag() = -5 / normalization;
++ m_256qam[0].real( 15 / normalization);
++ m_256qam[0].imag( 15 / normalization);
++ m_256qam[1].real( 15 / normalization);
++ m_256qam[1].imag( 13 / normalization);
++ m_256qam[2].real( 13 / normalization);
++ m_256qam[2].imag( 15 / normalization);
++ m_256qam[3].real( 13 / normalization);
++ m_256qam[3].imag( 13 / normalization);
++ m_256qam[4].real( 15 / normalization);
++ m_256qam[4].imag( 9 / normalization);
++ m_256qam[5].real( 15 / normalization);
++ m_256qam[5].imag( 11 / normalization);
++ m_256qam[6].real( 13 / normalization);
++ m_256qam[6].imag( 9 / normalization);
++ m_256qam[7].real( 13 / normalization);
++ m_256qam[7].imag( 11 / normalization);
++ m_256qam[8].real( 9 / normalization);
++ m_256qam[8].imag( 15 / normalization);
++ m_256qam[9].real( 9 / normalization);
++ m_256qam[9].imag( 13 / normalization);
++ m_256qam[10].real( 11 / normalization);
++ m_256qam[10].imag( 15 / normalization);
++ m_256qam[11].real( 11 / normalization);
++ m_256qam[11].imag( 13 / normalization);
++ m_256qam[12].real( 9 / normalization);
++ m_256qam[12].imag( 9 / normalization);
++ m_256qam[13].real( 9 / normalization);
++ m_256qam[13].imag( 11 / normalization);
++ m_256qam[14].real( 11 / normalization);
++ m_256qam[14].imag( 9 / normalization);
++ m_256qam[15].real( 11 / normalization);
++ m_256qam[15].imag( 11 / normalization);
++ m_256qam[16].real( 15 / normalization);
++ m_256qam[16].imag( 1 / normalization);
++ m_256qam[17].real( 15 / normalization);
++ m_256qam[17].imag( 3 / normalization);
++ m_256qam[18].real( 13 / normalization);
++ m_256qam[18].imag( 1 / normalization);
++ m_256qam[19].real( 13 / normalization);
++ m_256qam[19].imag( 3 / normalization);
++ m_256qam[20].real( 15 / normalization);
++ m_256qam[20].imag( 7 / normalization);
++ m_256qam[21].real( 15 / normalization);
++ m_256qam[21].imag( 5 / normalization);
++ m_256qam[22].real( 13 / normalization);
++ m_256qam[22].imag( 7 / normalization);
++ m_256qam[23].real( 13 / normalization);
++ m_256qam[23].imag( 5 / normalization);
++ m_256qam[24].real( 9 / normalization);
++ m_256qam[24].imag( 1 / normalization);
++ m_256qam[25].real( 9 / normalization);
++ m_256qam[25].imag( 3 / normalization);
++ m_256qam[26].real( 11 / normalization);
++ m_256qam[26].imag( 1 / normalization);
++ m_256qam[27].real( 11 / normalization);
++ m_256qam[27].imag( 3 / normalization);
++ m_256qam[28].real( 9 / normalization);
++ m_256qam[28].imag( 7 / normalization);
++ m_256qam[29].real( 9 / normalization);
++ m_256qam[29].imag( 5 / normalization);
++ m_256qam[30].real( 11 / normalization);
++ m_256qam[30].imag( 7 / normalization);
++ m_256qam[31].real( 11 / normalization);
++ m_256qam[31].imag( 5 / normalization);
++ m_256qam[32].real( 1 / normalization);
++ m_256qam[32].imag( 15 / normalization);
++ m_256qam[33].real( 1 / normalization);
++ m_256qam[33].imag( 13 / normalization);
++ m_256qam[34].real( 3 / normalization);
++ m_256qam[34].imag( 15 / normalization);
++ m_256qam[35].real( 3 / normalization);
++ m_256qam[35].imag( 13 / normalization);
++ m_256qam[36].real( 1 / normalization);
++ m_256qam[36].imag( 9 / normalization);
++ m_256qam[37].real( 1 / normalization);
++ m_256qam[37].imag( 11 / normalization);
++ m_256qam[38].real( 3 / normalization);
++ m_256qam[38].imag( 9 / normalization);
++ m_256qam[39].real( 3 / normalization);
++ m_256qam[39].imag( 11 / normalization);
++ m_256qam[40].real( 7 / normalization);
++ m_256qam[40].imag( 15 / normalization);
++ m_256qam[41].real( 7 / normalization);
++ m_256qam[41].imag( 13 / normalization);
++ m_256qam[42].real( 5 / normalization);
++ m_256qam[42].imag( 15 / normalization);
++ m_256qam[43].real( 5 / normalization);
++ m_256qam[43].imag( 13 / normalization);
++ m_256qam[44].real( 7 / normalization);
++ m_256qam[44].imag( 9 / normalization);
++ m_256qam[45].real( 7 / normalization);
++ m_256qam[45].imag( 11 / normalization);
++ m_256qam[46].real( 5 / normalization);
++ m_256qam[46].imag( 9 / normalization);
++ m_256qam[47].real( 5 / normalization);
++ m_256qam[47].imag( 11 / normalization);
++ m_256qam[48].real( 1 / normalization);
++ m_256qam[48].imag( 1 / normalization);
++ m_256qam[49].real( 1 / normalization);
++ m_256qam[49].imag( 3 / normalization);
++ m_256qam[50].real( 3 / normalization);
++ m_256qam[50].imag( 1 / normalization);
++ m_256qam[51].real( 3 / normalization);
++ m_256qam[51].imag( 3 / normalization);
++ m_256qam[52].real( 1 / normalization);
++ m_256qam[52].imag( 7 / normalization);
++ m_256qam[53].real( 1 / normalization);
++ m_256qam[53].imag( 5 / normalization);
++ m_256qam[54].real( 3 / normalization);
++ m_256qam[54].imag( 7 / normalization);
++ m_256qam[55].real( 3 / normalization);
++ m_256qam[55].imag( 5 / normalization);
++ m_256qam[56].real( 7 / normalization);
++ m_256qam[56].imag( 1 / normalization);
++ m_256qam[57].real( 7 / normalization);
++ m_256qam[57].imag( 3 / normalization);
++ m_256qam[58].real( 5 / normalization);
++ m_256qam[58].imag( 1 / normalization);
++ m_256qam[59].real( 5 / normalization);
++ m_256qam[59].imag( 3 / normalization);
++ m_256qam[60].real( 7 / normalization);
++ m_256qam[60].imag( 7 / normalization);
++ m_256qam[61].real( 7 / normalization);
++ m_256qam[61].imag( 5 / normalization);
++ m_256qam[62].real( 5 / normalization);
++ m_256qam[62].imag( 7 / normalization);
++ m_256qam[63].real( 5 / normalization);
++ m_256qam[63].imag( 5 / normalization);
++ m_256qam[64].real( 15 / normalization);
++ m_256qam[64].imag(-15 / normalization);
++ m_256qam[65].real( 15 / normalization);
++ m_256qam[65].imag(-13 / normalization);
++ m_256qam[66].real( 13 / normalization);
++ m_256qam[66].imag(-15 / normalization);
++ m_256qam[67].real( 13 / normalization);
++ m_256qam[67].imag(-13 / normalization);
++ m_256qam[68].real( 15 / normalization);
++ m_256qam[68].imag( -9 / normalization);
++ m_256qam[69].real( 15 / normalization);
++ m_256qam[69].imag(-11 / normalization);
++ m_256qam[70].real( 13 / normalization);
++ m_256qam[70].imag( -9 / normalization);
++ m_256qam[71].real( 13 / normalization);
++ m_256qam[71].imag(-11 / normalization);
++ m_256qam[72].real( 9 / normalization);
++ m_256qam[72].imag(-15 / normalization);
++ m_256qam[73].real( 9 / normalization);
++ m_256qam[73].imag(-13 / normalization);
++ m_256qam[74].real( 11 / normalization);
++ m_256qam[74].imag(-15 / normalization);
++ m_256qam[75].real( 11 / normalization);
++ m_256qam[75].imag(-13 / normalization);
++ m_256qam[76].real( 9 / normalization);
++ m_256qam[76].imag( -9 / normalization);
++ m_256qam[77].real( 9 / normalization);
++ m_256qam[77].imag(-11 / normalization);
++ m_256qam[78].real( 11 / normalization);
++ m_256qam[78].imag( -9 / normalization);
++ m_256qam[79].real( 11 / normalization);
++ m_256qam[79].imag(-11 / normalization);
++ m_256qam[80].real( 15 / normalization);
++ m_256qam[80].imag( -1 / normalization);
++ m_256qam[81].real( 15 / normalization);
++ m_256qam[81].imag( -3 / normalization);
++ m_256qam[82].real( 13 / normalization);
++ m_256qam[82].imag( -1 / normalization);
++ m_256qam[83].real( 13 / normalization);
++ m_256qam[83].imag( -3 / normalization);
++ m_256qam[84].real( 15 / normalization);
++ m_256qam[84].imag( -7 / normalization);
++ m_256qam[85].real( 15 / normalization);
++ m_256qam[85].imag( -5 / normalization);
++ m_256qam[86].real( 13 / normalization);
++ m_256qam[86].imag( -7 / normalization);
++ m_256qam[87].real( 13 / normalization);
++ m_256qam[87].imag( -5 / normalization);
++ m_256qam[88].real( 9 / normalization);
++ m_256qam[88].imag( -1 / normalization);
++ m_256qam[89].real( 9 / normalization);
++ m_256qam[89].imag( -3 / normalization);
++ m_256qam[90].real( 11 / normalization);
++ m_256qam[90].imag( -1 / normalization);
++ m_256qam[91].real( 11 / normalization);
++ m_256qam[91].imag( -3 / normalization);
++ m_256qam[92].real( 9 / normalization);
++ m_256qam[92].imag( -7 / normalization);
++ m_256qam[93].real( 9 / normalization);
++ m_256qam[93].imag( -5 / normalization);
++ m_256qam[94].real( 11 / normalization);
++ m_256qam[94].imag( -7 / normalization);
++ m_256qam[95].real( 11 / normalization);
++ m_256qam[95].imag( -5 / normalization);
++ m_256qam[96].real( 1 / normalization);
++ m_256qam[96].imag(-15 / normalization);
++ m_256qam[97].real( 1 / normalization);
++ m_256qam[97].imag(-13 / normalization);
++ m_256qam[98].real( 3 / normalization);
++ m_256qam[98].imag(-15 / normalization);
++ m_256qam[99].real( 3 / normalization);
++ m_256qam[99].imag(-13 / normalization);
++ m_256qam[100].real( 1 / normalization);
++ m_256qam[100].imag( -9 / normalization);
++ m_256qam[101].real( 1 / normalization);
++ m_256qam[101].imag(-11 / normalization);
++ m_256qam[102].real( 3 / normalization);
++ m_256qam[102].imag( -9 / normalization);
++ m_256qam[103].real( 3 / normalization);
++ m_256qam[103].imag(-11 / normalization);
++ m_256qam[104].real( 7 / normalization);
++ m_256qam[104].imag(-15 / normalization);
++ m_256qam[105].real( 7 / normalization);
++ m_256qam[105].imag(-13 / normalization);
++ m_256qam[106].real( 5 / normalization);
++ m_256qam[106].imag(-15 / normalization);
++ m_256qam[107].real( 5 / normalization);
++ m_256qam[107].imag(-13 / normalization);
++ m_256qam[108].real( 7 / normalization);
++ m_256qam[108].imag( -9 / normalization);
++ m_256qam[109].real( 7 / normalization);
++ m_256qam[109].imag(-11 / normalization);
++ m_256qam[110].real( 5 / normalization);
++ m_256qam[110].imag( -9 / normalization);
++ m_256qam[111].real( 5 / normalization);
++ m_256qam[111].imag(-11 / normalization);
++ m_256qam[112].real( 1 / normalization);
++ m_256qam[112].imag( -1 / normalization);
++ m_256qam[113].real( 1 / normalization);
++ m_256qam[113].imag( -3 / normalization);
++ m_256qam[114].real( 3 / normalization);
++ m_256qam[114].imag( -1 / normalization);
++ m_256qam[115].real( 3 / normalization);
++ m_256qam[115].imag( -3 / normalization);
++ m_256qam[116].real( 1 / normalization);
++ m_256qam[116].imag( -7 / normalization);
++ m_256qam[117].real( 1 / normalization);
++ m_256qam[117].imag( -5 / normalization);
++ m_256qam[118].real( 3 / normalization);
++ m_256qam[118].imag( -7 / normalization);
++ m_256qam[119].real( 3 / normalization);
++ m_256qam[119].imag( -5 / normalization);
++ m_256qam[120].real( 7 / normalization);
++ m_256qam[120].imag( -1 / normalization);
++ m_256qam[121].real( 7 / normalization);
++ m_256qam[121].imag( -3 / normalization);
++ m_256qam[122].real( 5 / normalization);
++ m_256qam[122].imag( -1 / normalization);
++ m_256qam[123].real( 5 / normalization);
++ m_256qam[123].imag( -3 / normalization);
++ m_256qam[124].real( 7 / normalization);
++ m_256qam[124].imag( -7 / normalization);
++ m_256qam[125].real( 7 / normalization);
++ m_256qam[125].imag( -5 / normalization);
++ m_256qam[126].real( 5 / normalization);
++ m_256qam[126].imag( -7 / normalization);
++ m_256qam[127].real( 5 / normalization);
++ m_256qam[127].imag( -5 / normalization);
++ m_256qam[128].real(-15 / normalization);
++ m_256qam[128].imag( 15 / normalization);
++ m_256qam[129].real(-15 / normalization);
++ m_256qam[129].imag( 13 / normalization);
++ m_256qam[130].real(-13 / normalization);
++ m_256qam[130].imag( 15 / normalization);
++ m_256qam[131].real(-13 / normalization);
++ m_256qam[131].imag( 13 / normalization);
++ m_256qam[132].real(-15 / normalization);
++ m_256qam[132].imag( 9 / normalization);
++ m_256qam[133].real(-15 / normalization);
++ m_256qam[133].imag( 11 / normalization);
++ m_256qam[134].real(-13 / normalization);
++ m_256qam[134].imag( 9 / normalization);
++ m_256qam[135].real(-13 / normalization);
++ m_256qam[135].imag( 11 / normalization);
++ m_256qam[136].real( -9 / normalization);
++ m_256qam[136].imag( 15 / normalization);
++ m_256qam[137].real( -9 / normalization);
++ m_256qam[137].imag( 13 / normalization);
++ m_256qam[138].real(-11 / normalization);
++ m_256qam[138].imag( 15 / normalization);
++ m_256qam[139].real(-11 / normalization);
++ m_256qam[139].imag( 13 / normalization);
++ m_256qam[140].real( -9 / normalization);
++ m_256qam[140].imag( 9 / normalization);
++ m_256qam[141].real( -9 / normalization);
++ m_256qam[141].imag( 11 / normalization);
++ m_256qam[142].real(-11 / normalization);
++ m_256qam[142].imag( 9 / normalization);
++ m_256qam[143].real(-11 / normalization);
++ m_256qam[143].imag( 11 / normalization);
++ m_256qam[144].real(-15 / normalization);
++ m_256qam[144].imag( 1 / normalization);
++ m_256qam[145].real(-15 / normalization);
++ m_256qam[145].imag( 3 / normalization);
++ m_256qam[146].real(-13 / normalization);
++ m_256qam[146].imag( 1 / normalization);
++ m_256qam[147].real(-13 / normalization);
++ m_256qam[147].imag( 3 / normalization);
++ m_256qam[148].real(-15 / normalization);
++ m_256qam[148].imag( 7 / normalization);
++ m_256qam[149].real(-15 / normalization);
++ m_256qam[149].imag( 5 / normalization);
++ m_256qam[150].real(-13 / normalization);
++ m_256qam[150].imag( 7 / normalization);
++ m_256qam[151].real(-13 / normalization);
++ m_256qam[151].imag( 5 / normalization);
++ m_256qam[152].real( -9 / normalization);
++ m_256qam[152].imag( 1 / normalization);
++ m_256qam[153].real( -9 / normalization);
++ m_256qam[153].imag( 3 / normalization);
++ m_256qam[154].real(-11 / normalization);
++ m_256qam[154].imag( 1 / normalization);
++ m_256qam[155].real(-11 / normalization);
++ m_256qam[155].imag( 3 / normalization);
++ m_256qam[156].real( -9 / normalization);
++ m_256qam[156].imag( 7 / normalization);
++ m_256qam[157].real( -9 / normalization);
++ m_256qam[157].imag( 5 / normalization);
++ m_256qam[158].real(-11 / normalization);
++ m_256qam[158].imag( 7 / normalization);
++ m_256qam[159].real(-11 / normalization);
++ m_256qam[159].imag( 5 / normalization);
++ m_256qam[160].real( -1 / normalization);
++ m_256qam[160].imag( 15 / normalization);
++ m_256qam[161].real( -1 / normalization);
++ m_256qam[161].imag( 13 / normalization);
++ m_256qam[162].real( -3 / normalization);
++ m_256qam[162].imag( 15 / normalization);
++ m_256qam[163].real( -3 / normalization);
++ m_256qam[163].imag( 13 / normalization);
++ m_256qam[164].real( -1 / normalization);
++ m_256qam[164].imag( 9 / normalization);
++ m_256qam[165].real( -1 / normalization);
++ m_256qam[165].imag( 11 / normalization);
++ m_256qam[166].real( -3 / normalization);
++ m_256qam[166].imag( 9 / normalization);
++ m_256qam[167].real( -3 / normalization);
++ m_256qam[167].imag( 11 / normalization);
++ m_256qam[168].real( -7 / normalization);
++ m_256qam[168].imag( 15 / normalization);
++ m_256qam[169].real( -7 / normalization);
++ m_256qam[169].imag( 13 / normalization);
++ m_256qam[170].real( -5 / normalization);
++ m_256qam[170].imag( 15 / normalization);
++ m_256qam[171].real( -5 / normalization);
++ m_256qam[171].imag( 13 / normalization);
++ m_256qam[172].real( -7 / normalization);
++ m_256qam[172].imag( 9 / normalization);
++ m_256qam[173].real( -7 / normalization);
++ m_256qam[173].imag( 11 / normalization);
++ m_256qam[174].real( -5 / normalization);
++ m_256qam[174].imag( 9 / normalization);
++ m_256qam[175].real( -5 / normalization);
++ m_256qam[175].imag( 11 / normalization);
++ m_256qam[176].real( -1 / normalization);
++ m_256qam[176].imag( 1 / normalization);
++ m_256qam[177].real( -1 / normalization);
++ m_256qam[177].imag( 3 / normalization);
++ m_256qam[178].real( -3 / normalization);
++ m_256qam[178].imag( 1 / normalization);
++ m_256qam[179].real( -3 / normalization);
++ m_256qam[179].imag( 3 / normalization);
++ m_256qam[180].real( -1 / normalization);
++ m_256qam[180].imag( 7 / normalization);
++ m_256qam[181].real( -1 / normalization);
++ m_256qam[181].imag( 5 / normalization);
++ m_256qam[182].real( -3 / normalization);
++ m_256qam[182].imag( 7 / normalization);
++ m_256qam[183].real( -3 / normalization);
++ m_256qam[183].imag( 5 / normalization);
++ m_256qam[184].real( -7 / normalization);
++ m_256qam[184].imag( 1 / normalization);
++ m_256qam[185].real( -7 / normalization);
++ m_256qam[185].imag( 3 / normalization);
++ m_256qam[186].real( -5 / normalization);
++ m_256qam[186].imag( 1 / normalization);
++ m_256qam[187].real( -5 / normalization);
++ m_256qam[187].imag( 3 / normalization);
++ m_256qam[188].real( -7 / normalization);
++ m_256qam[188].imag( 7 / normalization);
++ m_256qam[189].real( -7 / normalization);
++ m_256qam[189].imag( 5 / normalization);
++ m_256qam[190].real( -5 / normalization);
++ m_256qam[190].imag( 7 / normalization);
++ m_256qam[191].real( -5 / normalization);
++ m_256qam[191].imag( 5 / normalization);
++ m_256qam[192].real(-15 / normalization);
++ m_256qam[192].imag(-15 / normalization);
++ m_256qam[193].real(-15 / normalization);
++ m_256qam[193].imag(-13 / normalization);
++ m_256qam[194].real(-13 / normalization);
++ m_256qam[194].imag(-15 / normalization);
++ m_256qam[195].real(-13 / normalization);
++ m_256qam[195].imag(-13 / normalization);
++ m_256qam[196].real(-15 / normalization);
++ m_256qam[196].imag( -9 / normalization);
++ m_256qam[197].real(-15 / normalization);
++ m_256qam[197].imag(-11 / normalization);
++ m_256qam[198].real(-13 / normalization);
++ m_256qam[198].imag( -9 / normalization);
++ m_256qam[199].real(-13 / normalization);
++ m_256qam[199].imag(-11 / normalization);
++ m_256qam[200].real( -9 / normalization);
++ m_256qam[200].imag(-15 / normalization);
++ m_256qam[201].real( -9 / normalization);
++ m_256qam[201].imag(-13 / normalization);
++ m_256qam[202].real(-11 / normalization);
++ m_256qam[202].imag(-15 / normalization);
++ m_256qam[203].real(-11 / normalization);
++ m_256qam[203].imag(-13 / normalization);
++ m_256qam[204].real( -9 / normalization);
++ m_256qam[204].imag( -9 / normalization);
++ m_256qam[205].real( -9 / normalization);
++ m_256qam[205].imag(-11 / normalization);
++ m_256qam[206].real(-11 / normalization);
++ m_256qam[206].imag( -9 / normalization);
++ m_256qam[207].real(-11 / normalization);
++ m_256qam[207].imag(-11 / normalization);
++ m_256qam[208].real(-15 / normalization);
++ m_256qam[208].imag( -1 / normalization);
++ m_256qam[209].real(-15 / normalization);
++ m_256qam[209].imag( -3 / normalization);
++ m_256qam[210].real(-13 / normalization);
++ m_256qam[210].imag( -1 / normalization);
++ m_256qam[211].real(-13 / normalization);
++ m_256qam[211].imag( -3 / normalization);
++ m_256qam[212].real(-15 / normalization);
++ m_256qam[212].imag( -7 / normalization);
++ m_256qam[213].real(-15 / normalization);
++ m_256qam[213].imag( -5 / normalization);
++ m_256qam[214].real(-13 / normalization);
++ m_256qam[214].imag( -7 / normalization);
++ m_256qam[215].real(-13 / normalization);
++ m_256qam[215].imag( -5 / normalization);
++ m_256qam[216].real( -9 / normalization);
++ m_256qam[216].imag( -1 / normalization);
++ m_256qam[217].real( -9 / normalization);
++ m_256qam[217].imag( -3 / normalization);
++ m_256qam[218].real(-11 / normalization);
++ m_256qam[218].imag( -1 / normalization);
++ m_256qam[219].real(-11 / normalization);
++ m_256qam[219].imag( -3 / normalization);
++ m_256qam[220].real( -9 / normalization);
++ m_256qam[220].imag( -7 / normalization);
++ m_256qam[221].real( -9 / normalization);
++ m_256qam[221].imag( -5 / normalization);
++ m_256qam[222].real(-11 / normalization);
++ m_256qam[222].imag( -7 / normalization);
++ m_256qam[223].real(-11 / normalization);
++ m_256qam[223].imag( -5 / normalization);
++ m_256qam[224].real( -1 / normalization);
++ m_256qam[224].imag(-15 / normalization);
++ m_256qam[225].real( -1 / normalization);
++ m_256qam[225].imag(-13 / normalization);
++ m_256qam[226].real( -3 / normalization);
++ m_256qam[226].imag(-15 / normalization);
++ m_256qam[227].real( -3 / normalization);
++ m_256qam[227].imag(-13 / normalization);
++ m_256qam[228].real( -1 / normalization);
++ m_256qam[228].imag( -9 / normalization);
++ m_256qam[229].real( -1 / normalization);
++ m_256qam[229].imag(-11 / normalization);
++ m_256qam[230].real( -3 / normalization);
++ m_256qam[230].imag( -9 / normalization);
++ m_256qam[231].real( -3 / normalization);
++ m_256qam[231].imag(-11 / normalization);
++ m_256qam[232].real( -7 / normalization);
++ m_256qam[232].imag(-15 / normalization);
++ m_256qam[233].real( -7 / normalization);
++ m_256qam[233].imag(-13 / normalization);
++ m_256qam[234].real( -5 / normalization);
++ m_256qam[234].imag(-15 / normalization);
++ m_256qam[235].real( -5 / normalization);
++ m_256qam[235].imag(-13 / normalization);
++ m_256qam[236].real( -7 / normalization);
++ m_256qam[236].imag( -9 / normalization);
++ m_256qam[237].real( -7 / normalization);
++ m_256qam[237].imag(-11 / normalization);
++ m_256qam[238].real( -5 / normalization);
++ m_256qam[238].imag( -9 / normalization);
++ m_256qam[239].real( -5 / normalization);
++ m_256qam[239].imag(-11 / normalization);
++ m_256qam[240].real( -1 / normalization);
++ m_256qam[240].imag( -1 / normalization);
++ m_256qam[241].real( -1 / normalization);
++ m_256qam[241].imag( -3 / normalization);
++ m_256qam[242].real( -3 / normalization);
++ m_256qam[242].imag( -1 / normalization);
++ m_256qam[243].real( -3 / normalization);
++ m_256qam[243].imag( -3 / normalization);
++ m_256qam[244].real( -1 / normalization);
++ m_256qam[244].imag( -7 / normalization);
++ m_256qam[245].real( -1 / normalization);
++ m_256qam[245].imag( -5 / normalization);
++ m_256qam[246].real( -3 / normalization);
++ m_256qam[246].imag( -7 / normalization);
++ m_256qam[247].real( -3 / normalization);
++ m_256qam[247].imag( -5 / normalization);
++ m_256qam[248].real( -7 / normalization);
++ m_256qam[248].imag( -1 / normalization);
++ m_256qam[249].real( -7 / normalization);
++ m_256qam[249].imag( -3 / normalization);
++ m_256qam[250].real( -5 / normalization);
++ m_256qam[250].imag( -1 / normalization);
++ m_256qam[251].real( -5 / normalization);
++ m_256qam[251].imag( -3 / normalization);
++ m_256qam[252].real( -7 / normalization);
++ m_256qam[252].imag( -7 / normalization);
++ m_256qam[253].real( -7 / normalization);
++ m_256qam[253].imag( -5 / normalization);
++ m_256qam[254].real( -5 / normalization);
++ m_256qam[254].imag( -7 / normalization);
++ m_256qam[255].real( -5 / normalization);
++ m_256qam[255].imag( -5 / normalization);
+ if (rotation == ROTATION_ON) {
+ cyclic_delay = TRUE;
+ rotation_angle = (2.0 * M_PI * 3.576334375) / 360;
+ for (int i = 0; i < 256; i++) {
+- m_temp[0].real() = m_256qam[i].real();
+- m_256qam[i].real() = (m_256qam[i].real() * cos(rotation_angle)) - (m_256qam[i].imag() * sin(rotation_angle));
+- m_256qam[i].imag() = (m_temp[0].real() * sin(rotation_angle)) + (m_256qam[i].imag() * cos(rotation_angle));
++ m_temp[0].real(m_256qam[i].real());
++ m_256qam[i].real((m_256qam[i].real() * cos(rotation_angle)) - (m_256qam[i].imag() * sin(rotation_angle)));
++ m_256qam[i].imag((m_temp[0].real() * sin(rotation_angle)) + (m_256qam[i].imag() * cos(rotation_angle)));
+ }
+ }
+ break;
+ default:
+ normalization = sqrt(2);
+- m_qpsk[0].real() = 1.0 / normalization;
+- m_qpsk[0].imag() = 1.0 / normalization;
+- m_qpsk[1].real() = 1.0 / normalization;
+- m_qpsk[1].imag() = -1.0 / normalization;
+- m_qpsk[2].real() = -1.0 / normalization;
+- m_qpsk[2].imag() = 1.0 / normalization;
+- m_qpsk[3].real() = -1.0 / normalization;
+- m_qpsk[3].imag() = -1.0 / normalization;
++ m_qpsk[0].real( 1.0 / normalization);
++ m_qpsk[0].imag( 1.0 / normalization);
++ m_qpsk[1].real( 1.0 / normalization);
++ m_qpsk[1].imag(-1.0 / normalization);
++ m_qpsk[2].real(-1.0 / normalization);
++ m_qpsk[2].imag( 1.0 / normalization);
++ m_qpsk[3].real(-1.0 / normalization);
++ m_qpsk[3].imag(-1.0 / normalization);
+ if (rotation == ROTATION_ON) {
+ cyclic_delay = TRUE;
+ rotation_angle = (2.0 * M_PI * 29.0) / 360;
+ for (int i = 0; i < 4; i++) {
+- m_temp[0].real() = m_qpsk[i].real();
+- m_qpsk[i].real() = (m_qpsk[i].real() * cos(rotation_angle)) - (m_qpsk[i].imag() * sin(rotation_angle));
+- m_qpsk[i].imag() = (m_temp[0].real() * sin(rotation_angle)) + (m_qpsk[i].imag() * cos(rotation_angle));
++ m_temp[0].real(m_qpsk[i].real());
++ m_qpsk[i].real((m_qpsk[i].real() * cos(rotation_angle)) - (m_qpsk[i].imag() * sin(rotation_angle)));
++ m_qpsk[i].imag((m_temp[0].real() * sin(rotation_angle)) + (m_qpsk[i].imag() * cos(rotation_angle)));
+ }
+ }
+ break;
+@@ -880,7 +880,7 @@ namespace gr {
+ index_delay = in_delay[(j + cell_size - 1) % cell_size];
+ f_temp[0] = m_qpsk[index & 0x3];
+ g_temp[0] = m_qpsk[index_delay & 0x3];
+- f_temp[0].imag() = g_temp[0].imag();
++ f_temp[0].imag(g_temp[0].imag());
+ *out++ = f_temp[0];
+ }
+ }
+@@ -901,7 +901,7 @@ namespace gr {
+ index_delay = in_delay[(j + cell_size - 1) % cell_size];
+ f_temp[0] = m_16qam[index & 0xf];
+ g_temp[0] = m_16qam[index_delay & 0xf];
+- f_temp[0].imag() = g_temp[0].imag();
++ f_temp[0].imag(g_temp[0].imag());
+ *out++ = f_temp[0];
+ }
+ }
+@@ -922,7 +922,7 @@ namespace gr {
+ index_delay = in_delay[(j + cell_size - 1) % cell_size];
+ f_temp[0] = m_64qam[index & 0x3f];
+ g_temp[0] = m_64qam[index_delay & 0x3f];
+- f_temp[0].imag() = g_temp[0].imag();
++ f_temp[0].imag(g_temp[0].imag());
+ *out++ = f_temp[0];
+ }
+ }
+@@ -943,7 +943,7 @@ namespace gr {
+ index_delay = in_delay[(j + cell_size - 1) % cell_size];
+ f_temp[0] = m_256qam[index & 0xff];
+ g_temp[0] = m_256qam[index_delay & 0xff];
+- f_temp[0].imag() = g_temp[0].imag();
++ f_temp[0].imag(g_temp[0].imag());
+ *out++ = f_temp[0];
+ }
+ }
+--- gr-dtv/lib/dvbt2/dvbt2_p1insertion_cc_impl.cc.orig
++++ gr-dtv/lib/dvbt2/dvbt2_p1insertion_cc_impl.cc
+@@ -137,11 +137,11 @@ namespace gr {
+ dbpsk_modulation_sequence[i] = dbpsk_modulation_sequence[i + 1] * p1_randomize[i];
+ }
+ for (int i = 0; i < 1024; i++) {
+- p1_freq[i].real() = 0.0;
+- p1_freq[i].imag() = 0.0;
++ p1_freq[i].real(0.0);
++ p1_freq[i].imag(0.0);
+ }
+ for (int i = 0; i < 384; i++) {
+- p1_freq[p1_active_carriers[i] + 86].real() = float(dbpsk_modulation_sequence[i]);
++ p1_freq[p1_active_carriers[i] + 86].real(float(dbpsk_modulation_sequence[i]));
+ }
+ p1_fft_size = 1024;
+ p1_fft = new fft::fft_complex(p1_fft_size, false, 1);
+@@ -151,8 +151,7 @@ namespace gr {
+ p1_fft->execute();
+ memcpy(out, p1_fft->get_outbuf(), sizeof(gr_complex) * p1_fft_size);
+ for (int i = 0; i < 1024; i++) {
+- p1_time[i].real() *= 1 / sqrt(384);
+- p1_time[i].imag() *= 1 / sqrt(384);
++ p1_time[i] *= 1.0 / sqrt(384);
+ }
+ for (int i = 0; i < 1023; i++) {
+ p1_freqshft[i + 1] = p1_freq[i];
+@@ -166,8 +165,7 @@ namespace gr {
+ p1_fft->execute();
+ memcpy(out, p1_fft->get_outbuf(), sizeof(gr_complex) * p1_fft_size);
+ for (int i = 0; i < 1024; i++) {
+- p1_timeshft[i].real() *= 1 / sqrt(384);
+- p1_timeshft[i].imag() *= 1 / sqrt(384);
++ p1_timeshft[i] *= 1 / sqrt(384);
+ }
+ frame_items = ((numdatasyms + N_P2) * fft_size) + ((numdatasyms + N_P2) * guard_interval);
+ insertion_items = frame_items + 2048;
+--- gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc.orig
++++ gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc
+@@ -24,7 +24,6 @@
+
+ #include <gnuradio/io_signature.h>
+ #include "dvbt2_paprtr_cc_impl.h"
+-#include <complex.h>
+ #include <volk/volk.h>
+ #include <stdio.h>
+
+@@ -670,21 +669,16 @@
+ {
+ const gr_complex *in = (const gr_complex *) input_items[0];
+ gr_complex *out = (gr_complex *) output_items[0];
+- gr_complex zero, one;
+- int index, valid;
+- int L_FC = 0;
+ gr_complex *dst;
++ int m = 0, L_FC = 0, index, valid;
+ float normalization = 1.0 / N_TR;
+- int m = 0;
+- float y, a, alpha, center = (C_PS - 1) / 2;
++ float y, a, alpha, center = (C_PS - 1) / 2.0;
+ float aMax = 5.0 * N_TR * sqrt(10.0 / (27.0 * C_PS));
++ const gr_complex zero (0.0, 0.0);
++ const gr_complex one (1.0, 0.0);
+ gr_complex u, result, temp;
+- double _Complex vtemp;
++ double vtemp;
+
+- one.real() = 1.0;
+- one.imag() = 0.0;
+- zero.real() = 0.0;
+- zero.imag() = 0.0;
+ if (N_FC != 0) {
+ L_FC = 1;
+ }
+@@ -763,18 +757,16 @@
+ if (y < v_clip + 0.01) {
+ break;
+ }
+- u.real() = (in[m].real() + c[m].real()) / y;
+- u.imag() = (in[m].imag() + c[m].imag()) / y;
++ u.real((in[m].real() + c[m].real()) / y);
++ u.imag((in[m].imag() + c[m].imag()) / y);
+ alpha = y - v_clip;
+ for (int n = 0; n < N_TR; n++) {
+- vtemp = 0.0 + ((2 * M_PI * m * ((papr_map[n] + shift) - center)) / papr_fft_size * _Complex_I);
+- vtemp = cexp(vtemp);
+- ctemp[n].real() = creal(vtemp);
+- ctemp[n].imag() = -cimag(vtemp);
++ vtemp = (-2.0 * M_PI * m * ((papr_map[n] + shift) - center)) / papr_fft_size;
++ ctemp[n] = std::exp (gr_complexd (0.0, vtemp));
+ }
+ volk_32fc_s32fc_multiply_32fc(v, ctemp, u, N_TR);
+- temp.real() = alpha;
+- temp.imag() = 0.0;
++ temp.real(alpha);
++ temp.imag(0.0);
+ volk_32fc_s32fc_multiply_32fc(rNew, v, temp, N_TR);
+ volk_32f_x2_subtract_32f((float*)rNew, (float*)r, (float*)rNew, N_TR * 2);
+ volk_32fc_x2_multiply_conjugate_32fc(ctemp, r, v, N_TR);
+@@ -796,18 +788,18 @@
+ }
+ }
+ alpha = a;
+- temp.real() = alpha;
+- temp.imag() = 0.0;
++ temp.real(alpha);
++ temp.imag(0.0);
+ volk_32fc_s32fc_multiply_32fc(rNew, v, temp, N_TR);
+ volk_32f_x2_subtract_32f((float*)rNew, (float*)r, (float*)rNew, N_TR * 2);
+ }
+ for (int n = 0; n < papr_fft_size; n++) {
+ ones_freq[(n + m) % papr_fft_size] = ones_time[n];
+ }
+- temp.real() = alpha;
+- temp.imag() = 0.0;
+- result.real() = (u.real() * temp.real()) - (u.imag() * temp.imag());
+- result.imag() = (u.imag() * temp.real()) + (u.real() * temp.imag());
++ temp.real(alpha);
++ temp.imag(0.0);
++ result.real((u.real() * temp.real()) - (u.imag() * temp.imag()));
++ result.imag((u.imag() * temp.real()) + (u.real() * temp.imag()));
+ volk_32fc_s32fc_multiply_32fc(ctemp, ones_freq, result, papr_fft_size);
+ volk_32f_x2_subtract_32f((float*)c, (float*)c, (float*)ctemp, papr_fft_size * 2);
+ memcpy(r, rNew, sizeof(gr_complex) * N_TR);
+--- gr-dtv/lib/dvbt2/dvbt2_pilotgenerator_cc_impl.cc.orig
++++ gr-dtv/lib/dvbt2/dvbt2_pilotgenerator_cc_impl.cc
+@@ -740,14 +740,14 @@ namespace gr {
+ }
+ }
+ }
+- cp_bpsk[0].real() = 4.0 / 3.0;
+- cp_bpsk[0].imag() = 0.0;
+- cp_bpsk[1].real() = -4.0 / 3.0;
+- cp_bpsk[1].imag() = 0.0;
+- cp_bpsk_inverted[0].real() = -4.0 / 3.0;
+- cp_bpsk_inverted[0].imag() = 0.0;
+- cp_bpsk_inverted[1].real() = 4.0 / 3.0;
+- cp_bpsk_inverted[1].imag() = 0.0;
++ cp_bpsk[0].real(4.0 / 3.0);
++ cp_bpsk[0].imag(0.0);
++ cp_bpsk[1].real(-4.0 / 3.0);
++ cp_bpsk[1].imag(0.0);
++ cp_bpsk_inverted[0].real(-4.0 / 3.0);
++ cp_bpsk_inverted[0].imag(0.0);
++ cp_bpsk_inverted[1].real(4.0 / 3.0);
++ cp_bpsk_inverted[1].imag(0.0);
+ break;
+ case FFTSIZE_2K:
+ for (int i = 0; i < 18; i++) {
+@@ -778,14 +778,14 @@ namespace gr {
+ }
+ }
+ }
+- cp_bpsk[0].real() = 4.0 / 3.0;
+- cp_bpsk[0].imag() = 0.0;
+- cp_bpsk[1].real() = -4.0 / 3.0;
+- cp_bpsk[1].imag() = 0.0;
+- cp_bpsk_inverted[0].real() = -4.0 / 3.0;
+- cp_bpsk_inverted[0].imag() = 0.0;
+- cp_bpsk_inverted[1].real() = 4.0 / 3.0;
+- cp_bpsk_inverted[1].imag() = 0.0;
++ cp_bpsk[0].real(4.0 / 3.0);
++ cp_bpsk[0].imag(0.0);
++ cp_bpsk[1].real(-4.0 / 3.0);
++ cp_bpsk[1].imag(0.0);
++ cp_bpsk_inverted[0].real(-4.0 / 3.0);
++ cp_bpsk_inverted[0].imag(0.0);
++ cp_bpsk_inverted[1].real(4.0 / 3.0);
++ cp_bpsk_inverted[1].imag(0.0);
+ break;
+ case FFTSIZE_4K:
+ for (int i = 0; i < 36; i++) {
+@@ -816,14 +816,14 @@ namespace gr {
+ }
+ }
+ }
+- cp_bpsk[0].real() = (4.0 * sqrt(2)) / 3.0;
+- cp_bpsk[0].imag() = 0.0;
+- cp_bpsk[1].real() = -(4.0 * sqrt(2)) / 3.0;
+- cp_bpsk[1].imag() = 0.0;
+- cp_bpsk_inverted[0].real() = -(4.0 * sqrt(2)) / 3.0;
+- cp_bpsk_inverted[0].imag() = 0.0;
+- cp_bpsk_inverted[1].real() = (4.0 * sqrt(2)) / 3.0;
+- cp_bpsk_inverted[1].imag() = 0.0;
++ cp_bpsk[0].real((4.0 * sqrt(2)) / 3.0);
++ cp_bpsk[0].imag(0.0);
++ cp_bpsk[1].real(-(4.0 * sqrt(2)) / 3.0);
++ cp_bpsk[1].imag(0.0);
++ cp_bpsk_inverted[0].real(-(4.0 * sqrt(2)) / 3.0);
++ cp_bpsk_inverted[0].imag(0.0);
++ cp_bpsk_inverted[1].real((4.0 * sqrt(2)) / 3.0);
++ cp_bpsk_inverted[1].imag(0.0);
+ break;
+ case FFTSIZE_8K:
+ case FFTSIZE_8K_T2GI:
+@@ -855,14 +855,14 @@ namespace gr {
+ }
+ }
+ }
+- cp_bpsk[0].real() = 8.0 / 3.0;
+- cp_bpsk[0].imag() = 0.0;
+- cp_bpsk[1].real() = -8.0 / 3.0;
+- cp_bpsk[1].imag() = 0.0;
+- cp_bpsk_inverted[0].real() = -8.0 / 3.0;
+- cp_bpsk_inverted[0].imag() = 0.0;
+- cp_bpsk_inverted[1].real() = 8.0 / 3.0;
+- cp_bpsk_inverted[1].imag() = 0.0;
++ cp_bpsk[0].real(8.0 / 3.0);
++ cp_bpsk[0].imag(0.0);
++ cp_bpsk[1].real(-8.0 / 3.0);
++ cp_bpsk[1].imag(0.0);
++ cp_bpsk_inverted[0].real(-8.0 / 3.0);
++ cp_bpsk_inverted[0].imag(0.0);
++ cp_bpsk_inverted[1].real(8.0 / 3.0);
++ cp_bpsk_inverted[1].imag(0.0);
+ break;
+ case FFTSIZE_16K:
+ case FFTSIZE_16K_T2GI:
+@@ -894,14 +894,14 @@ namespace gr {
+ }
+ }
+ }
+- cp_bpsk[0].real() = 8.0 / 3.0;
+- cp_bpsk[0].imag() = 0.0;
+- cp_bpsk[1].real() = -8.0 / 3.0;
+- cp_bpsk[1].imag() = 0.0;
+- cp_bpsk_inverted[0].real() = -8.0 / 3.0;
+- cp_bpsk_inverted[0].imag() = 0.0;
+- cp_bpsk_inverted[1].real() = 8.0 / 3.0;
+- cp_bpsk_inverted[1].imag() = 0.0;
++ cp_bpsk[0].real(8.0 / 3.0);
++ cp_bpsk[0].imag(0.0);
++ cp_bpsk[1].real(-8.0 / 3.0);
++ cp_bpsk[1].imag(0.0);
++ cp_bpsk_inverted[0].real(-8.0 / 3.0);
++ cp_bpsk_inverted[0].imag(0.0);
++ cp_bpsk_inverted[1].real(8.0 / 3.0);
++ cp_bpsk_inverted[1].imag(0.0);
+ break;
+ case FFTSIZE_32K:
+ case FFTSIZE_32K_T2GI:
+@@ -933,110 +933,110 @@ namespace gr {
+ }
+ }
+ }
+- cp_bpsk[0].real() = 8.0 / 3.0;
+- cp_bpsk[0].imag() = 0.0;
+- cp_bpsk[1].real() = -8.0 / 3.0;
+- cp_bpsk[1].imag() = 0.0;
+- cp_bpsk_inverted[0].real() = -8.0 / 3.0;
+- cp_bpsk_inverted[0].imag() = 0.0;
+- cp_bpsk_inverted[1].real() = 8.0 / 3.0;
+- cp_bpsk_inverted[1].imag() = 0.0;
++ cp_bpsk[0].real(8.0 / 3.0);
++ cp_bpsk[0].imag(0.0);
++ cp_bpsk[1].real(-8.0 / 3.0);
++ cp_bpsk[1].imag(0.0);
++ cp_bpsk_inverted[0].real(-8.0 / 3.0);
++ cp_bpsk_inverted[0].imag(0.0);
++ cp_bpsk_inverted[1].real(8.0 / 3.0);
++ cp_bpsk_inverted[1].imag(0.0);
+ break;
+ }
+ switch (pilotpattern) {
+ case PILOT_PP1:
+- sp_bpsk[0].real() = 4.0 / 3.0;
+- sp_bpsk[0].imag() = 0.0;
+- sp_bpsk[1].real() = -4.0 / 3.0;
+- sp_bpsk[1].imag() = 0.0;
+- sp_bpsk_inverted[0].real() = -4.0 / 3.0;
+- sp_bpsk_inverted[0].imag() = 0.0;
+- sp_bpsk_inverted[1].real() = 4.0 / 3.0;
+- sp_bpsk_inverted[1].imag() = 0.0;
++ sp_bpsk[0].real(4.0 / 3.0);
++ sp_bpsk[0].imag(0.0);
++ sp_bpsk[1].real(-4.0 / 3.0);
++ sp_bpsk[1].imag(0.0);
++ sp_bpsk_inverted[0].real(-4.0 / 3.0);
++ sp_bpsk_inverted[0].imag(0.0);
++ sp_bpsk_inverted[1].real(4.0 / 3.0);
++ sp_bpsk_inverted[1].imag(0.0);
+ dx = 3;
+ dy = 4;
+ break;
+ case PILOT_PP2:
+- sp_bpsk[0].real() = 4.0 / 3.0;
+- sp_bpsk[0].imag() = 0.0;
+- sp_bpsk[1].real() = -4.0 / 3.0;
+- sp_bpsk[1].imag() = 0.0;
+- sp_bpsk_inverted[0].real() = -4.0 / 3.0;
+- sp_bpsk_inverted[0].imag() = 0.0;
+- sp_bpsk_inverted[1].real() = 4.0 / 3.0;
+- sp_bpsk_inverted[1].imag() = 0.0;
++ sp_bpsk[0].real(4.0 / 3.0);
++ sp_bpsk[0].imag(0.0);
++ sp_bpsk[1].real(-4.0 / 3.0);
++ sp_bpsk[1].imag(0.0);
++ sp_bpsk_inverted[0].real(-4.0 / 3.0);
++ sp_bpsk_inverted[0].imag(0.0);
++ sp_bpsk_inverted[1].real(4.0 / 3.0);
++ sp_bpsk_inverted[1].imag(0.0);
+ dx = 6;
+ dy = 2;
+ break;
+ case PILOT_PP3:
+- sp_bpsk[0].real() = 7.0 / 4.0;
+- sp_bpsk[0].imag() = 0.0;
+- sp_bpsk[1].real() = -7.0 / 4.0;
+- sp_bpsk[1].imag() = 0.0;
+- sp_bpsk_inverted[0].real() = -7.0 / 4.0;
+- sp_bpsk_inverted[0].imag() = 0.0;
+- sp_bpsk_inverted[1].real() = 7.0 / 4.0;
+- sp_bpsk_inverted[1].imag() = 0.0;
++ sp_bpsk[0].real(7.0 / 4.0);
++ sp_bpsk[0].imag(0.0);
++ sp_bpsk[1].real(-7.0 / 4.0);
++ sp_bpsk[1].imag(0.0);
++ sp_bpsk_inverted[0].real(-7.0 / 4.0);
++ sp_bpsk_inverted[0].imag(0.0);
++ sp_bpsk_inverted[1].real(7.0 / 4.0);
++ sp_bpsk_inverted[1].imag(0.0);
+ dx = 6;
+ dy = 4;
+ break;
+ case PILOT_PP4:
+- sp_bpsk[0].real() = 7.0 / 4.0;
+- sp_bpsk[0].imag() = 0.0;
+- sp_bpsk[1].real() = -7.0 / 4.0;
+- sp_bpsk[1].imag() = 0.0;
+- sp_bpsk_inverted[0].real() = -7.0 / 4.0;
+- sp_bpsk_inverted[0].imag() = 0.0;
+- sp_bpsk_inverted[1].real() = 7.0 / 4.0;
+- sp_bpsk_inverted[1].imag() = 0.0;
++ sp_bpsk[0].real(7.0 / 4.0);
++ sp_bpsk[0].imag(0.0);
++ sp_bpsk[1].real(-7.0 / 4.0);
++ sp_bpsk[1].imag(0.0);
++ sp_bpsk_inverted[0].real(-7.0 / 4.0);
++ sp_bpsk_inverted[0].imag(0.0);
++ sp_bpsk_inverted[1].real(7.0 / 4.0);
++ sp_bpsk_inverted[1].imag(0.0);
+ dx = 12;
+ dy = 2;
+ break;
+ case PILOT_PP5:
+- sp_bpsk[0].real() = 7.0 / 3.0;
+- sp_bpsk[0].imag() = 0.0;
+- sp_bpsk[1].real() = -7.0 / 3.0;
+- sp_bpsk[1].imag() = 0.0;
+- sp_bpsk_inverted[0].real() = -7.0 / 3.0;
+- sp_bpsk_inverted[0].imag() = 0.0;
+- sp_bpsk_inverted[1].real() = 7.0 / 3.0;
+- sp_bpsk_inverted[1].imag() = 0.0;
++ sp_bpsk[0].real(7.0 / 3.0);
++ sp_bpsk[0].imag(0.0);
++ sp_bpsk[1].real(-7.0 / 3.0);
++ sp_bpsk[1].imag(0.0);
++ sp_bpsk_inverted[0].real(-7.0 / 3.0);
++ sp_bpsk_inverted[0].imag(0.0);
++ sp_bpsk_inverted[1].real(7.0 / 3.0);
++ sp_bpsk_inverted[1].imag(0.0);
+ dx = 12;
+ dy = 4;
+ break;
+ case PILOT_PP6:
+- sp_bpsk[0].real() = 7.0 / 3.0;
+- sp_bpsk[0].imag() = 0.0;
+- sp_bpsk[1].real() = -7.0 / 3.0;
+- sp_bpsk[1].imag() = 0.0;
+- sp_bpsk_inverted[0].real() = -7.0 / 3.0;
+- sp_bpsk_inverted[0].imag() = 0.0;
+- sp_bpsk_inverted[1].real() = 7.0 / 3.0;
+- sp_bpsk_inverted[1].imag() = 0.0;
++ sp_bpsk[0].real(7.0 / 3.0);
++ sp_bpsk[0].imag(0.0);
++ sp_bpsk[1].real(-7.0 / 3.0);
++ sp_bpsk[1].imag(0.0);
++ sp_bpsk_inverted[0].real(-7.0 / 3.0);
++ sp_bpsk_inverted[0].imag(0.0);
++ sp_bpsk_inverted[1].real(7.0 / 3.0);
++ sp_bpsk_inverted[1].imag(0.0);
+ dx = 24;
+ dy = 2;
+ break;
+ case PILOT_PP7:
+- sp_bpsk[0].real() = 7.0 / 3.0;
+- sp_bpsk[0].imag() = 0.0;
+- sp_bpsk[1].real() = -7.0 / 3.0;
+- sp_bpsk[1].imag() = 0.0;
+- sp_bpsk_inverted[0].real() = -7.0 / 3.0;
+- sp_bpsk_inverted[0].imag() = 0.0;
+- sp_bpsk_inverted[1].real() = 7.0 / 3.0;
+- sp_bpsk_inverted[1].imag() = 0.0;
++ sp_bpsk[0].real(7.0 / 3.0);
++ sp_bpsk[0].imag(0.0);
++ sp_bpsk[1].real(-7.0 / 3.0);
++ sp_bpsk[1].imag(0.0);
++ sp_bpsk_inverted[0].real(-7.0 / 3.0);
++ sp_bpsk_inverted[0].imag(0.0);
++ sp_bpsk_inverted[1].real(7.0 / 3.0);
++ sp_bpsk_inverted[1].imag(0.0);
+ dx = 24;
+ dy = 4;
+ break;
+ case PILOT_PP8:
+- sp_bpsk[0].real() = 7.0 / 3.0;
+- sp_bpsk[0].imag() = 0.0;
+- sp_bpsk[1].real() = -7.0 / 3.0;
+- sp_bpsk[1].imag() = 0.0;
+- sp_bpsk_inverted[0].real() = -7.0 / 3.0;
+- sp_bpsk_inverted[0].imag() = 0.0;
+- sp_bpsk_inverted[1].real() = 7.0 / 3.0;
+- sp_bpsk_inverted[1].imag() = 0.0;
++ sp_bpsk[0].real(7.0 / 3.0);
++ sp_bpsk[0].imag(0.0);
++ sp_bpsk[1].real(-7.0 / 3.0);
++ sp_bpsk[1].imag(0.0);
++ sp_bpsk_inverted[0].real(-7.0 / 3.0);
++ sp_bpsk_inverted[0].imag(0.0);
++ sp_bpsk_inverted[1].real(7.0 / 3.0);
++ sp_bpsk_inverted[1].imag(0.0);
+ dx = 6;
+ dy = 16;
+ break;
+@@ -1132,24 +1132,24 @@ namespace gr {
+ left_nulls = ((vlength - C_PS) / 2) + 1;
+ right_nulls = (vlength - C_PS) / 2;
+ if ((fftsize == FFTSIZE_32K || fftsize == FFTSIZE_32K_T2GI) && (miso == FALSE)) {
+- p2_bpsk[0].real() = sqrt(37.0) / 5.0;
+- p2_bpsk[0].imag() = 0.0;
+- p2_bpsk[1].real() = -(sqrt(37.0) / 5.0);
+- p2_bpsk[1].imag() = 0.0;
+- p2_bpsk_inverted[0].real() = -(sqrt(37.0) / 5.0);
+- p2_bpsk_inverted[0].imag() = 0.0;
+- p2_bpsk_inverted[1].real() = sqrt(37.0) / 5.0;
+- p2_bpsk_inverted[1].imag() = 0.0;
++ p2_bpsk[0].real(sqrt(37.0) / 5.0);
++ p2_bpsk[0].imag(0.0);
++ p2_bpsk[1].real(-(sqrt(37.0) / 5.0));
++ p2_bpsk[1].imag(0.0);
++ p2_bpsk_inverted[0].real(-(sqrt(37.0) / 5.0));
++ p2_bpsk_inverted[0].imag(0.0);
++ p2_bpsk_inverted[1].real(sqrt(37.0) / 5.0);
++ p2_bpsk_inverted[1].imag(0.0);
+ }
+ else {
+- p2_bpsk[0].real() = sqrt(31.0) / 5.0;
+- p2_bpsk[0].imag() = 0.0;
+- p2_bpsk[1].real() = -(sqrt(31.0) / 5.0);
+- p2_bpsk[1].imag() = 0.0;
+- p2_bpsk_inverted[0].real() = -(sqrt(31.0) / 5.0);
+- p2_bpsk_inverted[0].imag() = 0.0;
+- p2_bpsk_inverted[1].real() = sqrt(31.0) / 5.0;
+- p2_bpsk_inverted[1].imag() = 0.0;
++ p2_bpsk[0].real(sqrt(31.0) / 5.0);
++ p2_bpsk[0].imag(0.0);
++ p2_bpsk[1].real(-(sqrt(31.0) / 5.0));
++ p2_bpsk[1].imag(0.0);
++ p2_bpsk_inverted[0].real(-(sqrt(31.0) / 5.0));
++ p2_bpsk_inverted[0].imag(0.0);
++ p2_bpsk_inverted[1].real(sqrt(31.0) / 5.0);
++ p2_bpsk_inverted[1].imag(0.0);
+ }
+ normalization = 5.0 / sqrt(27.0 * C_PS);
+ switch (bandwidth) {
+@@ -1176,6 +1176,7 @@ namespace gr {
+ break;
+ }
+ fstep = fs / vlength;
++ sincrms = sqrt(sincrms / (vlength / 2));
+ for (int i = 0; i < vlength / 2; i++) {
+ x = M_PI * f / fs;
+ if (i == 0) {
+@@ -1185,16 +1186,12 @@ namespace gr {
+ sinc = sin(x) / x;
+ }
+ sincrms += sinc * sinc;
+- inverse_sinc[i + (vlength / 2)].real() = 1.0 / sinc;
+- inverse_sinc[i + (vlength / 2)].imag() = 0.0;
+- inverse_sinc[(vlength / 2) - i - 1].real() = 1.0 / sinc;
+- inverse_sinc[(vlength / 2) - i - 1].imag() = 0.0;
++ inverse_sinc[i + (vlength / 2)].real(sincrms / sinc);
++ inverse_sinc[i + (vlength / 2)].imag(0.0);
++ inverse_sinc[(vlength / 2) - i - 1].real(sincrms / sinc);
++ inverse_sinc[(vlength / 2) - i - 1].imag(0.0);
+ f = f + fstep;
+ }
+- sincrms = sqrt(sincrms / (vlength / 2));
+- for (int i = 0; i < vlength; i++) {
+- inverse_sinc[i].real() *= sincrms;
+- }
+ equalization_enable = equalization;
+ ofdm_fft_size = vlength;
+ ofdm_fft = new fft::fft_complex(ofdm_fft_size, false, 1);
+@@ -2750,8 +2747,8 @@ namespace gr {
+ gr_complex *dst;
+ int L_FC = 0;
+
+- zero.real() = 0.0;
+- zero.imag() = 0.0;
++ zero.real(0.0);
++ zero.imag(0.0);
+ if (N_FC != 0) {
+ L_FC = 1;
+ }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150326/5039892e/attachment-0001.html>
More information about the macports-changes
mailing list