diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 02:49:40 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 02:49:40 +0000 |
commit | c96f16e8103783f6b98d9f844ea3a7f2195e4834 (patch) | |
tree | 479bef5e7eb5d4f04ba171931c8b47335734e161 /debian/vendor-h2o/deps/klib/khmm.h | |
parent | Merging upstream version 1.9.4. (diff) | |
download | dnsdist-c96f16e8103783f6b98d9f844ea3a7f2195e4834.tar.xz dnsdist-c96f16e8103783f6b98d9f844ea3a7f2195e4834.zip |
Adding debian version 1.9.4-1.debian/1.9.4-1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/vendor-h2o/deps/klib/khmm.h')
-rw-r--r-- | debian/vendor-h2o/deps/klib/khmm.h | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/debian/vendor-h2o/deps/klib/khmm.h b/debian/vendor-h2o/deps/klib/khmm.h deleted file mode 100644 index d87673b..0000000 --- a/debian/vendor-h2o/deps/klib/khmm.h +++ /dev/null @@ -1,107 +0,0 @@ -#ifndef AC_SCHMM_H_ -#define AC_SCHMM_H_ - -/* - * Last Modified: 2008-03-10 - * Version: 0.1.0-8 - * - * 2008-03-10, 0.1.0-8: make icc report two more "VECTORIZED" - * 2008-03-10, 0.1.0-7: accelerate for some CPU - * 2008-02-07, 0.1.0-6: simulate sequences - * 2008-01-15, 0.1.0-5: goodness of fit - * 2007-11-20, 0.1.0-4: add function declaration of hmm_post_decode() - * 2007-11-09: fix a memory leak - */ - -#include <stdlib.h> - -#define HMM_VERSION "0.1.0-7" - -#define HMM_FORWARD 0x02 -#define HMM_BACKWARD 0x04 -#define HMM_VITERBI 0x40 -#define HMM_POSTDEC 0x80 - -#ifndef FLOAT -#define FLOAT double -#endif -#define HMM_TINY 1e-25 -#define HMM_INF 1e300 - -typedef struct -{ - int m, n; // number of symbols, number of states - FLOAT **a, **e; // transition matrix and emitting probilities - FLOAT **ae; // auxiliary array for acceleration, should be calculated by hmm_pre_backward() - FLOAT *a0; // trasition matrix from the start state -} hmm_par_t; - -typedef struct -{ - int L; - unsigned status; - char *seq; - FLOAT **f, **b, *s; - int *v; // Viterbi path - int *p; // posterior decoding -} hmm_data_t; - -typedef struct -{ - int m, n; - FLOAT Q0, **A, **E, *A0; -} hmm_exp_t; - -typedef struct -{ - int l, *obs; - FLOAT *thr; -} hmm_gof_t; - -#ifdef __cplusplus -extern "C" { -#endif - /* initialize and destroy hmm_par_t */ - hmm_par_t *hmm_new_par(int m, int n); - void hmm_delete_par(hmm_par_t *hp); - /* initialize and destroy hmm_data_t */ - hmm_data_t *hmm_new_data(int L, const char *seq, const hmm_par_t *hp); - void hmm_delete_data(hmm_data_t *hd); - /* initialize and destroy hmm_exp_t */ - hmm_exp_t *hmm_new_exp(const hmm_par_t *hp); - void hmm_delete_exp(hmm_exp_t *he); - /* Viterbi, forward and backward algorithms */ - FLOAT hmm_Viterbi(const hmm_par_t *hp, hmm_data_t *hd); - void hmm_pre_backward(hmm_par_t *hp); - void hmm_forward(const hmm_par_t *hp, hmm_data_t *hd); - void hmm_backward(const hmm_par_t *hp, hmm_data_t *hd); - /* log-likelihood of the observations (natural based) */ - FLOAT hmm_lk(const hmm_data_t *hd); - /* posterior probability at the position on the sequence */ - FLOAT hmm_post_state(const hmm_par_t *hp, const hmm_data_t *hd, int u, FLOAT *prob); - /* posterior decoding */ - void hmm_post_decode(const hmm_par_t *hp, hmm_data_t *hd); - /* expected counts of transitions and emissions */ - hmm_exp_t *hmm_expect(const hmm_par_t *hp, const hmm_data_t *hd); - /* add he0 counts to he1 counts*/ - void hmm_add_expect(const hmm_exp_t *he0, hmm_exp_t *he1); - /* the Q function that should be maximized in EM */ - FLOAT hmm_Q(const hmm_par_t *hp, const hmm_exp_t *he); - FLOAT hmm_Q0(const hmm_par_t *hp, hmm_exp_t *he); - /* simulate sequences */ - char *hmm_simulate(const hmm_par_t *hp, int L); -#ifdef __cplusplus -} -#endif - -static inline void **calloc2(int n_row, int n_col, int size) -{ - char **p; - int k; - p = (char**)malloc(sizeof(char*) * n_row); - for (k = 0; k != n_row; ++k) - p[k] = (char*)calloc(n_col, size); - return (void**)p; -} - -#endif |