libsent/src/phmm/addlog.c

対数値の高速和算関数 [詳細]

#include <sent/stddefs.h>
#include <sent/hmm.h>

ソースコードを見る。

マクロ定義

#define TBLSIZE   500000
 Table size (precision depends on this)
#define VRANGE   15
 Must be larger than -LOG_ADDMIN
#define TMAG   33333.3333
 TBLSIZE / VRANGE

関数

void make_log_tbl ()
 Generate a value tables of $\log (1+e^x)$.
LOGPROB addlog (LOGPROB x, LOGPROB y)
 Rapid computation of $\log (e^x + e^y)$.
LOGPROB addlog_array (LOGPROB *a, int n)
 Rapid computation of $\log (\sum_{i=1}^N e^{x_i})$.

変数

static LOGPROB tbl [TBLSIZE]
 Table of $\log (1+e^x)$
static boolean built_tbl = FALSE
 TRUE after tbl has built


説明

対数値の高速和算関数

作者:
Akinobu LEE
日付:
Thu Feb 17 13:23:50 2005
Revision
1.2

addlog.c で定義されています。


関数

void make_log_tbl (  ) 

Generate a value tables of $\log (1+e^x)$.

$x$ is from 0 to (- VRANGE), and table size is TBLSIZE.

addlog.c42 行で定義されています。

参照元 outprob_init().

LOGPROB addlog ( LOGPROB  x,
LOGPROB  y 
)

Rapid computation of $\log (e^x + e^y)$.

If value differs more than LOG_ADDMIN, the larger value will be returned as is.

引数:
x [in] log value
y [in] log value
戻り値:
result value.

addlog.c71 行で定義されています。

LOGPROB addlog_array ( LOGPROB a,
int  n 
)

Rapid computation of $\log (\sum_{i=1}^N e^{x_i})$.

引数:
a [in] array of log values
n [in] length of above
戻り値:
the result value.

addlog.c103 行で定義されています。

参照元 calc_mix()calc_tied_mix()gmm_calc_mix().


Juliusに対してThu Jul 23 12:17:08 2009に生成されました。  doxygen 1.5.1