IT++ Changelog

What's new in IT++ 4.2.0

Jun 23, 2011
  • New features:
  • Added SISO class implementing several algorithms used in turbo decoders/
  • receivers
  • 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 Studio 2008. Current approach
  • relies on fc (file compare) utility which seems to be available only in Visual
  • Studio 2008.
  • 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
  • statistical language.
  • 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
  • Mat class
  • Added element-wise division operator with a scalar as the dividend to the
  • Mat class
  • Added missing operator=(const std::string &) to the Vec class
  • Added missing operator(bin_list) and get(index_list) methods to the Vec
  • class
  • 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
  • Dolph-Chebyshev window.
  • Modifications:
  • 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
  • class
  • 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()