PUBLIC int move_standard(char *seq, char *struc, enum MOVE_TYPE type, int verbosity_level, int shifts, int noLP){ make_pair_matrix(); short int *s0 = encode_sequence(seq, 0); short int *s1 = encode_sequence(seq, 1); short int *str = vrna_ptable(struc); int energy = 0; switch (type){ case GRADIENT: energy = move_gradient(seq, str, s0, s1, verbosity_level, shifts, noLP); break; case FIRST: energy = move_first(seq, str, s0, s1, verbosity_level, shifts, noLP); break; case ADAPTIVE: energy = move_adaptive(seq, str, s0, s1, verbosity_level); break; } int i=1; for (; i<=str[0]; i++) { if (str[i]==0) struc[i-1]='.'; else if (str[i]>str[str[i]]) struc[i-1]='('; else struc[i-1]=')'; } free(s0); free(s1); free(str); return energy; }
bool is_end() { if (_iter == _buf.end()) { _buf.clear(); move_first(); return true; } return false; }
bool try_select() { if (_query.is_select(_statement)) { if (!_query.read_table(_statement)) { return false; } move_first(); } return true; }