12 #include <PT_server_prototypes.h>
18 if (restlen==0)
return true;
28 if (found)
return true;
51 for (
int r = 0; r<restlen; ++r) {
54 if (data ==
PT_QU || data ==
PT_N)
return false;
58 pt_assert(strlen(probe) == (
size_t)restlen);
71 if (restlen==0)
return false;
79 bool found = son &&
findNextProbe(son, probe+1, restlen-1, height+1);
84 for (
int i=probe[0]+1; !found && i<
PT_BASES; ++i) {
113 for (
int c=0; c<pep->numget; ++c) {
119 char *
probe = ARB_alloc<char>(pep->plength+1);
120 memset(probe,
'N', pep->plength);
121 probe[pep->plength] = 0;
125 pep->next_probe.data = probe;
126 pep->next_probe.size = pep->plength;
131 found =
findNextProbe(pt, pep->next_probe.data, pep->plength, 0);
134 pt_assert(pep->next_probe.data[pep->plength] == 0);
135 pt_assert(strlen(pep->next_probe.data) == (
size_t)pep->plength);
141 if (!first) buf.
put((
char)pep->separator);
149 buf.
cat(pep->next_probe.data);
struct probe_input_data * data
#define implicated(hypothesis, conclusion)
static bool findLeftmostProbe(POS_TREE2 *node, char *probe, int restlen, int height)
void cat(const char *from)
char * readable_probe(const char *compressed_probe, size_t len, char T_or_U)
static bool findNextProbe(POS_TREE2 *node, char *probe, int restlen, int height)
int compress_data(char *probestring)
CONSTEXPR_INLINE bool is_std_base(char b)
PT * PT_read_son(PT *node, PT_base base)
str readable(const copy< T > &v)
POS_TREE2 *& TREE_ROOT2()
int PT_find_exProb(PT_exProb *pep, int)
char * release_memfriendly()