Julius 4.2
マクロ定義 | 関数 | 変数
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.3

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_compound_mix(), calc_mix(), calc_tied_mix(), と gmm_calc_mix().