Functions | |
double | itpp::logb (double b, double x) |
Base-b logarithm. More... | |
int | itpp::pow2i (int x) |
Calculate two to the power of x (2^x); x is integer. More... | |
double | itpp::pow2 (double x) |
Calculate two to the power of x (2^x) More... | |
double | itpp::pow2 (int x) |
Calculate two to the power of x (2^x) for large integer x. More... | |
double | itpp::pow10 (double x) |
Calculate ten to the power of x (10^x) More... | |
double | itpp::dB (double x) |
Decibel of x (10*log10(x)) More... | |
double | itpp::inv_dB (double x) |
Inverse of decibel of x. More... | |
int | itpp::int2bits (int n) |
Calculate the number of bits needed to represent an integer n . More... | |
int | itpp::levels2bits (int n) |
Calculate the number of bits needed to represent n different values (levels). More... | |
double | itpp::trunc_log (double x) |
Truncated natural logarithm function. More... | |
double | itpp::trunc_exp (double x) |
Truncated exponential function. More... | |
double | itpp::log_add (double log_a, double log_b) |
Safe substitute for log(exp(log_a) + exp(log_b)) More... | |
vec | itpp::exp (const vec &x) |
Exp of the elements of a vector x . More... | |
cvec | itpp::exp (const cvec &x) |
Exp of the elements of a complex vector x . More... | |
mat | itpp::exp (const mat &m) |
Exp of the elements of a matrix m . More... | |
cmat | itpp::exp (const cmat &m) |
Exp of the elements of a complex matrix m . More... | |
vec | itpp::pow (const double x, const vec &y) |
Calculates x to the power of y (x^y) More... | |
mat | itpp::pow (const double x, const mat &y) |
Calculates x to the power of y (x^y) More... | |
vec | itpp::pow (const vec &x, const double y) |
Calculates x to the power of y (x^y) More... | |
mat | itpp::pow (const mat &x, const double y) |
Calculates x to the power of y (x^y) More... | |
vec | itpp::pow2 (const vec &x) |
Calculates two to the power of x (2^x) More... | |
vec | itpp::pow2 (const ivec &x) |
Calculates two to the power of x (2^x) for integer x. More... | |
mat | itpp::pow2 (const mat &x) |
Calculates two to the power of x (2^x) More... | |
mat | itpp::pow2 (const imat &x) |
Calculates two to the power of x (2^x) for integer x. More... | |
vec | itpp::pow10 (const vec &x) |
Calculates ten to the power of x (10^x) More... | |
mat | itpp::pow10 (const mat &x) |
Calculates ten to the power of x (10^x) More... | |
vec | itpp::log (const vec &x) |
The natural logarithm of the elements. More... | |
mat | itpp::log (const mat &x) |
The natural logarithm of the elements. More... | |
cvec | itpp::log (const cvec &x) |
The natural logarithm of the elements. More... | |
cmat | itpp::log (const cmat &x) |
The natural logarithm of the elements. More... | |
vec | itpp::log2 (const vec &x) |
log-2 of the elements More... | |
mat | itpp::log2 (const mat &x) |
log-2 of the elements More... | |
vec | itpp::log10 (const vec &x) |
log-10 of the elements More... | |
mat | itpp::log10 (const mat &x) |
log-10 of the elements More... | |
vec | itpp::logb (double b, const vec &x) |
log-b of x More... | |
mat | itpp::logb (double b, const mat &x) |
log-b of x More... | |
vec | itpp::dB (const vec &x) |
Calculates 10*log10(x) More... | |
mat | itpp::dB (const mat &x) |
Calculates 10*log10(x) More... | |
vec | itpp::inv_dB (const vec &x) |
Calulates the inverse of dB, 10^(x/10) More... | |
mat | itpp::inv_dB (const mat &x) |
Calculates the inverse of dB, 10^(x/10) More... | |
ivec | itpp::int2bits (const ivec &v) |
Calculate the number of bits needed to represent each integer in a vector. More... | |
ivec | itpp::levels2bits (const ivec &v) |
Calculate the number of bits needed to represent a numer of levels saved in a vector. More... | |
Variables | |
const double | itpp::log_double_max = std::log(std::numeric_limits<double>::max()) |
Constant definition to speed up trunc_log() and trunc_exp() More... | |
const double | itpp::log_double_min = std::log(std::numeric_limits<double>::min()) |
Constant definition to speed up trunc_log(), trunc_exp() and log_add() More... | |
|
inline |
Base-b logarithm.
Definition at line 47 of file log_exp.h.
References itpp::log().
Referenced by itpp::logb().
|
inline |
Calculate two to the power of x (2^x); x is integer.
Definition at line 53 of file log_exp.h.
Referenced by itpp::Convolutional_Code::calc_metric(), itpp::IFFT_Fading_Generator::generate_Jakes(), itpp::Gold::Gold(), itpp::hadamard(), itpp::Hamming_Code::Hamming_Code(), itpp::Modulator_NCD::init_soft_demodulator(), itpp::Modulator_NRD::init_soft_demodulator(), itpp::Reed_Solomon::Reed_Solomon(), itpp::Convolutional_Code::set_generator_polynomials(), itpp::QAM::set_M(), itpp::PSK::set_M(), itpp::PAM_c::set_M(), itpp::PAM::set_M(), itpp::spectrum(), itpp::xcorr(), and itpp::zero_pad().
|
inline |
Calculate two to the power of x (2^x)
Definition at line 55 of file log_exp.h.
References itpp::pow().
Referenced by itpp::hadamard(), and itpp::pow2().
|
inline |
Calculate two to the power of x (2^x) for large integer x.
Definition at line 57 of file log_exp.h.
References itpp::pow().
|
inline |
Calculate ten to the power of x (10^x)
Definition at line 68 of file log_exp.h.
References itpp::pow().
Referenced by itpp::chebwin(), and itpp::pow10().
|
inline |
Decibel of x (10*log10(x))
Definition at line 71 of file log_exp.h.
References itpp::log10().
Referenced by itpp::dB(), and itpp::TDL_Channel::set_channel_profile_exponential().
|
inline |
Inverse of decibel of x.
Definition at line 73 of file log_exp.h.
References itpp::pow().
Referenced by itpp::Channel_Specification::calc_mean_excess_delay(), itpp::Channel_Specification::calc_rms_delay_spread(), and itpp::inv_dB().
|
inline |
Calculate the number of bits needed to represent an integer n
.
Definition at line 76 of file log_exp.h.
References it_assert.
Referenced by itpp::BCH::BCH(), itpp::int2bits(), and itpp::levels2bits().
|
inline |
Calculate the number of bits needed to represent n
different values (levels).
Definition at line 92 of file log_exp.h.
References itpp::int2bits(), and it_assert.
Referenced by itpp::dht(), itpp::IFFT_Fading_Generator::generate_Jakes(), itpp::levels2bits(), itpp::Vector_Quantizer::nobits(), itpp::self_dht(), itpp::Modulator< T >::set(), itpp::QAM::set_M(), itpp::PSK::set_M(), itpp::PAM_c::set_M(), itpp::PAM::set_M(), itpp::ND_UQAM::set_M(), itpp::Sort< T >::sort(), itpp::Sort< T >::sort_index(), itpp::spectrum(), and itpp::zero_pad().
|
inline |
Truncated natural logarithm function.
This truncated function provides a solution in the cases when the logarithm argument is less or equal to zero or infinity. The function checks for such extreme values and use some kind of truncation (saturation) before calculating the logarithm.
The truncated logarithm function can be used for calculation of log-likelihood in soft demodulators, when numerical instability problem might occur.
Definition at line 115 of file log_exp.h.
References itpp::log(), itpp::log_double_max, and itpp::log_double_min.
Referenced by itpp::PAM_c::demodulate_soft_bits(), itpp::Modulator< T >::demodulate_soft_bits(), and itpp::Rec_Syst_Conv_Code::map_decode().
|
inline |
Truncated exponential function.
This truncated function provides a solution in the case when the exponent function results in infinity. The function checks for an extreme value and use truncation (saturation) before calculating the result.
The truncated exponential function can be used when numerical instability problem occurs for a standard exp function.
Definition at line 137 of file log_exp.h.
References itpp::exp(), itpp::log_double_max, and itpp::max().
Referenced by itpp::MOG_diag::lhood_internal(), itpp::MOG_generic::lhood_internal(), itpp::Rec_Syst_Conv_Code::map_decode(), and itpp::MOG_diag_EM_sup::ml_update_params().
ITPP_EXPORT double itpp::log_add | ( | double | log_a, |
double | log_b | ||
) |
Safe substitute for log(exp(log_a) + exp(log_b))
Definition at line 40 of file log_exp.cpp.
References itpp::exp(), and itpp::log_double_min.
Referenced by itpp::MOG_diag::lhood_internal(), itpp::MOG_generic::lhood_internal(), itpp::Rec_Syst_Conv_Code::log_decode(), itpp::Rec_Syst_Conv_Code::log_decode_n2(), itpp::MOG_diag::log_lhood_internal(), itpp::MOG_generic::log_lhood_internal(), and itpp::MOG_diag_EM_sup::ml_update_params().
|
inline |
Exp of the elements of a vector x
.
Definition at line 155 of file log_exp.h.
References itpp::exp().
Referenced by itpp::arma_estimator(), itpp::cerf_rybicki(), itpp::cerfc_continued_fraction(), itpp::PAM_c::demodulate_soft_bits(), itpp::Modulator< T >::demodulate_soft_bits(), itpp::geometric_mean(), itpp::MOG_diag::lhood_internal(), itpp::MOG_generic::lhood_internal(), itpp::log_add(), itpp::MOG_diag::log_lhood_internal(), itpp::MOG_generic::log_lhood_internal(), itpp::MOG_diag_EM_sup::ml_update_params(), itpp::Normal_RNG::sample(), itpp::Gamma_RNG::sample(), and itpp::TDL_Channel::set_channel_profile_exponential().
|
inline |
Exp of the elements of a complex vector x
.
Definition at line 160 of file log_exp.h.
References itpp::exp().
|
inline |
Exp of the elements of a matrix m
.
Definition at line 165 of file log_exp.h.
References itpp::exp().
|
inline |
Exp of the elements of a complex matrix m
.
Definition at line 170 of file log_exp.h.
References itpp::exp().
Referenced by itpp::exp(), and itpp::trunc_exp().
|
inline |
Calculates x to the power of y (x^y)
Definition at line 176 of file log_exp.h.
References itpp::pow().
Referenced by itpp::Cross_Interleaver< T >::deinterleave(), fpica(), itpp::IFFT_Fading_Generator::generate_Jakes(), itpp::FIR_Fading_Generator::Jakes_filter(), itpp::moment(), mpower(), itpp::norm(), itpp::TDL_Channel::set_channel_profile(), itpp::skewness(), and whitenv().
|
inline |
Calculates x to the power of y (x^y)
Definition at line 181 of file log_exp.h.
References itpp::pow().
|
inline |
Calculates x to the power of y (x^y)
Definition at line 186 of file log_exp.h.
References itpp::pow().
|
inline |
Calculates x to the power of y (x^y)
Definition at line 191 of file log_exp.h.
References itpp::pow().
Referenced by itpp::inv_dB(), itpp::pow(), itpp::pow10(), and itpp::pow2().
|
inline |
Calculates two to the power of x (2^x)
Definition at line 197 of file log_exp.h.
References itpp::pow2().
|
inline |
Calculates two to the power of x (2^x) for integer x.
Definition at line 203 of file log_exp.h.
References itpp::pow2().
|
inline |
Calculates two to the power of x (2^x)
Definition at line 212 of file log_exp.h.
References itpp::pow2().
|
inline |
Calculates two to the power of x (2^x) for integer x.
Definition at line 218 of file log_exp.h.
References itpp::pow2().
|
inline |
Calculates ten to the power of x (10^x)
Definition at line 230 of file log_exp.h.
References itpp::pow10().
|
inline |
Calculates ten to the power of x (10^x)
Definition at line 235 of file log_exp.h.
References itpp::pow10().
|
inline |
The natural logarithm of the elements.
Definition at line 241 of file log_exp.h.
References itpp::log().
Referenced by itpp::arma_estimator(), itpp::erfinv(), itpp::geometric_mean(), itpp::MOG_diag::log_lhood_internal(), itpp::MOG_generic::log_lhood_internal(), itpp::MOG_diag_EM_sup::ml_update_params(), itpp::Normal_RNG::sample(), itpp::Gamma_RNG::sample(), itpp::Laplace_RNG::sample(), itpp::Rec_Syst_Conv_Code::set_generator_polynomials(), itpp::MOG_generic::setup_covs(), itpp::MOG_generic::setup_misc(), itpp::MOG_generic::setup_weights(), and itpp::MOG_diag_EM_sup::update_internals().
|
inline |
The natural logarithm of the elements.
Definition at line 246 of file log_exp.h.
References itpp::log().
|
inline |
The natural logarithm of the elements.
Definition at line 251 of file log_exp.h.
References itpp::log().
|
inline |
The natural logarithm of the elements.
Definition at line 256 of file log_exp.h.
References itpp::log().
Referenced by itpp::log(), itpp::logb(), and itpp::trunc_log().
ITPP_EXPORT vec itpp::log2 | ( | const vec & | x | ) |
log-2 of the elements
Definition at line 36 of file log_exp.cpp.
References itpp::log2().
Referenced by itpp::EXIT::extrinsic_mutual_info(), itpp::hadamard(), itpp::log2(), itpp::ND_UPAM::set_M(), itpp::ND_UQAM::set_M(), itpp::ND_UPSK::set_M(), itpp::GF::set_size(), and itpp::xcorr().
ITPP_EXPORT mat itpp::log2 | ( | const mat & | x | ) |
|
inline |
log-10 of the elements
Definition at line 271 of file log_exp.h.
References itpp::log10().
Referenced by itpp::TDL_Channel::get_avg_power_dB(), itpp::TDL_Channel::get_channel_profile(), and itpp::log_binom().
|
inline |
log-10 of the elements
Definition at line 276 of file log_exp.h.
References itpp::log10().
Referenced by itpp::dB(), and itpp::log10().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Calulates the inverse of dB, 10^(x/10)
Definition at line 304 of file log_exp.h.
References itpp::inv_dB().
|
inline |
Calculates the inverse of dB, 10^(x/10)
Definition at line 309 of file log_exp.h.
References itpp::inv_dB().
|
inline |
Calculate the number of bits needed to represent each integer in a vector.
Definition at line 315 of file log_exp.h.
References itpp::int2bits().
|
inline |
Calculate the number of bits needed to represent a numer of levels saved in a vector.
Definition at line 321 of file log_exp.h.
References itpp::levels2bits().
const double itpp::log_double_max = std::log(std::numeric_limits<double>::max()) |
Constant definition to speed up trunc_log() and trunc_exp()
Definition at line 99 of file log_exp.h.
Referenced by itpp::trunc_exp(), and itpp::trunc_log().
const double itpp::log_double_min = std::log(std::numeric_limits<double>::min()) |
Constant definition to speed up trunc_log(), trunc_exp() and log_add()
Definition at line 101 of file log_exp.h.
Referenced by itpp::log_add(), and itpp::trunc_log().
Generated on Sun Jun 5 2022 21:26:42 for IT++ by Doxygen 1.9.3