RNAlib-2.5.1
grammar.h
Go to the documentation of this file.
1#ifndef VIENNA_RNA_PACKAGE_GRAMMAR_H
2#define VIENNA_RNA_PACKAGE_GRAMMAR_H
3
17
18typedef int (vrna_callback_gr_rule)(vrna_fold_compound_t *vc,
19 int i,
20 int j,
21 void *data);
22
23
24typedef void (vrna_callback_gr_rule_aux)(vrna_fold_compound_t *vc,
25 int i,
26 int j,
27 void *data);
28
29
30typedef FLT_OR_DBL (vrna_callback_gr_rule_exp)(vrna_fold_compound_t *vc,
31 int i,
32 int j,
33 void *data);
34
35
36typedef void (vrna_callback_gr_rule_aux_exp)(vrna_fold_compound_t *vc,
37 int i,
38 int j,
39 void *data);
40
41
42typedef void (vrna_callback_gr_cond)(vrna_fold_compound_t *fc,
43 unsigned char stage,
44 void *data);
45
46
47typedef void (vrna_callback_gr_free_data)(void *data);
48
49
50typedef struct vrna_gr_aux_s vrna_gr_aux_t;
51
52
54 vrna_callback_gr_cond *cb_proc;
56 vrna_callback_gr_rule *cb_aux_f;
57 vrna_callback_gr_rule *cb_aux_c;
58 vrna_callback_gr_rule *cb_aux_m;
59 vrna_callback_gr_rule *cb_aux_m1;
60 vrna_callback_gr_rule_aux *cb_aux;
61
62 vrna_callback_gr_rule_exp *cb_aux_exp_f;
63 vrna_callback_gr_rule_exp *cb_aux_exp_c;
64 vrna_callback_gr_rule_exp *cb_aux_exp_m;
65 vrna_callback_gr_rule_exp *cb_aux_exp_m1;
66 vrna_callback_gr_rule_aux_exp *cb_aux_exp;
67
68 void *data;
69 vrna_callback_gr_free_data *free_data;
70};
71
72
73int
74vrna_gr_set_aux_f(vrna_fold_compound_t *fc,
75 vrna_callback_gr_rule *cb);
76
77
78int
79vrna_gr_set_aux_exp_f(vrna_fold_compound_t *fc,
80 vrna_callback_gr_rule_exp *cb);
81
82
83int
84vrna_gr_set_aux_c(vrna_fold_compound_t *fc,
85 vrna_callback_gr_rule *cb);
86
87
88int
89vrna_gr_set_aux_exp_c(vrna_fold_compound_t *fc,
90 vrna_callback_gr_rule_exp *cb);
91
92
93int
94vrna_gr_set_aux_m(vrna_fold_compound_t *fc,
95 vrna_callback_gr_rule *cb);
96
97
98int
99vrna_gr_set_aux_exp_m(vrna_fold_compound_t *fc,
100 vrna_callback_gr_rule_exp *cb);
101
102
103int
104vrna_gr_set_aux_m1(vrna_fold_compound_t *fc,
105 vrna_callback_gr_rule *cb);
106
107
108int
109vrna_gr_set_aux_exp_m1(vrna_fold_compound_t *fc,
110 vrna_callback_gr_rule_exp *cb);
111
112
113int
114vrna_gr_set_aux(vrna_fold_compound_t *fc,
115 vrna_callback_gr_rule_aux *cb);
116
117
118int
119vrna_gr_set_aux_exp(vrna_fold_compound_t *fc,
120 vrna_callback_gr_rule_aux_exp *cb);
121
122
123int
124vrna_gr_set_data(vrna_fold_compound_t *fc,
125 void *data,
126 vrna_callback_gr_free_data *free_data);
127
128
129int
130vrna_gr_set_cond(vrna_fold_compound_t *fc,
131 vrna_callback_gr_cond *cb);
132
133
134int
135vrna_gr_reset(vrna_fold_compound_t *fc);
136
137
147#endif
The Basic Fold Compound API.
double FLT_OR_DBL
Typename for floating point number in partition function computations.
Definition: basic.h:43
The most basic data structure required by many functions throughout the RNAlib.
Definition: fold_compound.h:148
vrna_callback_gr_cond * cb_proc
A callback for pre- and post-processing of auxiliary grammar rules.
Definition: grammar.h:54
Definition: grammar.h:53