1#ifndef RNAPUZZLER_INTERSECTION_TYPE_H
2#define RNAPUZZLER_INTERSECTION_TYPE_H
3
4/*
5 *      RNApuzzler intersection type enum
6 *
7 *      c  Daniel Wiegreffe, Daniel Alexander, Dirk Zeckzer
8 *      ViennaRNA package
9 */
10
11typedef enum {
12  noIntersection  = 0,
13  LxL             = 1,
14  LxS             = 2,
15  SxL             = 3,
16  SxS             = 4,
17  LxB             = 5,
18  BxL             = 6,
19  SxB             = 7,
20  BxS             = 8,
21  BxB             = 9,
22  siblings        = 10,
23  exterior        = 11,
24} intersectionType;
25
26
27PRIVATE char *
28intersectionTypeToString(const intersectionType it)
29{
30  switch (it) {
31    case LxL:
32      return "LxL";
33    case LxS:
34      return "LxS";
35    case LxB:
36      return "LxB";
37    case SxL:
38      return "SxL";
39    case SxS:
40      return "SxS";
41    case SxB:
42      return "SxB";
43    case BxL:
44      return "BxL";
45    case BxS:
46      return "BxS";
47    case BxB:
48      return "BxB";
49    case siblings:
50      return "BRA";
51    case exterior:
52      return "EXT";
53    default:
54      return "UNK";
55  }
56}
57
58
59#endif
60