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()