IT++ version 4.2.0 Released: 2010-09-21
IT++ 4.2.0 is a new stable release based on the SVN development branch
(trunk). Additionally to the new features and modifications listed below, it
comprises all bug fixes included in the previous 4.0.x stable releases.
* Added SISO class implementing several algorithms used in turbo decoders/
* Added EXIT class for EXIT chart computation of turbo receivers
* Added STC class for the generation of Space Time block codes used in MIMO
systems with turbo receivers
* Added support for testing IT++ library in Visual C++ (2008 and 2010). Current approach
relies on fc (file compare) utility.
* Added rank() function, which calculates the rank of a matrix by counting
the number of non-zero singular values. SVD function from LAPACK is thus
required by this function.
* Added implementation of Gamma(alpha, beta) random number generator. The
implementation of the Gamma_RNG::sample() function was taken from the R
* Added qr() overloaded function that does not compute Q. For some tasks
(triangularization) the Q matrix is not really needed.
* Added missing get(int i) method and operator=(const std::string &) to the
* Added element-wise division operator with a scalar as the dividend to the
* Added missing operator=(const std::string &) to the Vec class
* Added missing operator(bin_list) and get(index_list) methods to the Vec
* Added LDPC_Code::get_ninfo() function, which returns the number of
information bits in a codeword.
* Added cheb() and chebwin() function to evaluate the coefficients of the
* License updated from "GPLv2 or later" to "GPLv3 or later"
* Mersenne Twister core random number generator replaced with an improved
Double-precision SIMD-oriented Fast Mersenne Twister (dSFMT)
implementation, which is 1.8-2.4 times faster than the previous code.
* Vector string parser reimplemented to support multiple "a:b:c" format
strings. For instance:
ivec v = "1:2:5, 6 8 9:-1:0";
now works. Memory handling is also more efficient, i.e. for the cases when
"a:b:c" format is not used, memory is allocated only once. This solves
feature request #2041480.
* Auto-calculate the BCH generator polynomial from (n, t) parameters. With
this change, the generator polynomial and 'k' (message word length)
parameters do not have to be explicitly passed to the class constructor.
* Moved portability related definitions from config.h and other header files
to a common system and architecture dependent header itcompat.h
* Deprecated Mat<>::set_submatrix(r1,r2,c1,c2,m) function
* Deprecated elem_div(t,v) and set_subvector(i1, i2, &v) function of the Vec
* Removed previously deprecated demodulate_soft_bits_approx() functions
* Removed the deprecated multiplication operator of a column vector and a
matrix with only one row
* Renamed check_big_endianness() to a simpler is_bigendian()