libsent/src/phmm/addlog.c

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

#include <sent/stddefs.h>
#include <sent/hmm.h>
addlog.cのインクルード依存関係図

ソースコードを見る。

マクロ定義

#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)
LOGPROB addlog_array (LOGPROB *a, int n)

変数

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.4

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.c41 行で定義されています。

参照元 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.c70 行で定義されています。

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.c102 行で定義されています。

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


Juliusに対してTue Sep 22 00:15:25 2009に生成されました。  doxygen 1.6.0