WSTester updated to work plus hopefully all the other changes that need to go into...
[jabaws.git] / binaries / src / ViennaRNA / H / edit_cost.h
diff --git a/binaries/src/ViennaRNA/H/edit_cost.h b/binaries/src/ViennaRNA/H/edit_cost.h
new file mode 100644 (file)
index 0000000..e1403b7
--- /dev/null
@@ -0,0 +1,53 @@
+/**
+ *  \file edit_cost.h
+ *  \brief global variables for Edit Costs included by treedist.c and stringdist.c
+ */
+
+#define PRIVATE static
+
+PRIVATE char   sep    = ':';
+PRIVATE char  *coding = "Null:U:P:H:B:I:M:S:E:R";
+
+#define  INF 10000  /* infinity */
+
+typedef int CostMatrix[10][10];
+
+PRIVATE CostMatrix *EditCost;  /* will point to UsualCost or ShapiroCost */
+
+PRIVATE CostMatrix  UsualCost =
+{
+
+/*  Null,   U,   P,   H,   B,   I,   M,   S,   E,   R     */
+
+   {   0,   1,   2,   2,   2,   2,   2,   1,  1,  INF},   /* Null replaced */
+   {   1,   0,   1, INF, INF, INF, INF, INF, INF, INF},   /* U    replaced */
+   {   2,   1,   0, INF, INF, INF, INF, INF, INF, INF},   /* P    replaced */
+   {   2, INF, INF,   0,   2,   2,   2, INF, INF, INF},   /* H    replaced */
+   {   2, INF, INF,   2,   0,   1,   2, INF, INF, INF},   /* B    replaced */
+   {   2, INF, INF,   2,   1,   0,   2, INF, INF, INF},   /* I    replaced */
+   {   2, INF, INF,   2,   2,   2,   0, INF, INF, INF},   /* M    replaced */
+   {   1, INF, INF, INF, INF, INF, INF,   0, INF, INF},   /* S    replaced */
+   {   1, INF, INF, INF, INF, INF, INF, INF,   0, INF},   /* E    replaced */
+   { INF, INF, INF, INF, INF, INF, INF, INF, INF,   0},   /* R    replaced */
+
+};
+
+
+PRIVATE CostMatrix ShapiroCost =
+{
+
+/*  Null,   U,   P,   H,   B,   I,   M,   S,   E,  R     */
+
+   {   0,   1,   2, 100,   5,   5,  75,   5,   5, INF},   /* Null replaced */
+   {   1,   0,   1, INF, INF, INF, INF, INF, INF, INF},   /* U    replaced */
+   {   2,   1,   0, INF, INF, INF, INF, INF, INF, INF},   /* P    replaced */
+   { 100, INF, INF,   0,   8,   8,   8, INF, INF, INF},   /* H    replaced */
+   {   5, INF, INF,   8,   0,   3,   8, INF, INF, INF},   /* B    replaced */
+   {   5, INF, INF,   8,   3,   0,   8, INF, INF, INF},   /* I    replaced */
+   {  75, INF, INF,   8,   8,   8,   0, INF, INF, INF},   /* M    replaced */
+   {   5, INF, INF, INF, INF, INF, INF,   0, INF, INF},   /* S    replaced */
+   {   5, INF, INF, INF, INF, INF, INF, INF,   0, INF},   /* E    replaced */
+   { INF, INF, INF, INF, INF, INF, INF, INF, INF,   0},   /* R    replaced */
+
+};
+