1 /* $Id: result.h 218147 2019-01-16 21:28:41Z twu $ */
2 #ifndef RESULT_INCLUDED
3 #define RESULT_INCLUDED
4 
5 typedef struct Result_T *Result_T;
6 
7 #include "chimera.h"
8 #include "diagnostic.h"
9 #include "stage3.h"
10 
11 typedef enum {NO_FAILURE, EMPTY_SEQUENCE, SHORT_SEQUENCE, POOR_SEQUENCE, REPETITIVE} Failure_T;
12 
13 #define T Result_T
14 
15 extern int
16 Result_id (T this);
17 extern bool
18 Result_mergedp (T this);
19 extern Chimera_T
20 Result_chimera (T this);
21 extern Stage3_T *
22 Result_array (int *npaths_primary, int *npaths_altloc, int *first_absmq, int *second_absmq, T this);
23 extern List_T
24 Result_gregionlist (T this);
25 extern List_T
26 Result_diagonals (T this);
27 extern Diagnostic_T
28 Result_diagnostic (T this);
29 extern Failure_T
30 Result_failuretype (T this);
31 
32 extern T
33 Result_new (int id, bool mergedp, Chimera_T chimera, Stage3_T *array,
34 	    int npaths_primary, int npaths_altloc, int first_absmq, int second_absmq,
35 	    Diagnostic_T diagnostic, Failure_T failuretype);
36 extern void
37 Result_free (T *old);
38 
39 #undef T
40 #endif
41 
42