Delete unneeded directory
[jabaws.git] / website / archive / binaries / mac / src / muscle / bittraceback.cpp
diff --git a/website/archive/binaries/mac/src/muscle/bittraceback.cpp b/website/archive/binaries/mac/src/muscle/bittraceback.cpp
deleted file mode 100644 (file)
index 9165985..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-#include "muscle.h"\r
-#include "pwpath.h"\r
-\r
-#define TRACE 0\r
-\r
-static char XlatEdgeType(char c)\r
-       {\r
-       if ('E' == c)\r
-               return 'D';\r
-       if ('J' == c)\r
-               return 'I';\r
-       return c;\r
-       }\r
-\r
-static const char *BitsToStr(char Bits)\r
-       {\r
-       static char Str[] = "xM xD xI";\r
-\r
-       switch (Bits & BIT_xM)\r
-               {\r
-       case BIT_MM:\r
-               Str[0] = 'M';\r
-               break;\r
-       case BIT_DM:\r
-               Str[0] = 'D';\r
-               break;\r
-       case BIT_IM:\r
-               Str[0] = 'I';\r
-               break;\r
-               }\r
-\r
-       switch (Bits & BIT_xD)\r
-               {\r
-       case BIT_MD:\r
-               Str[3] = 'M';\r
-               break;\r
-       case BIT_DD:\r
-               Str[3] = 'D';\r
-               break;\r
-               }\r
-\r
-       switch (Bits & BIT_xI)\r
-               {\r
-       case BIT_MI:\r
-               Str[6] = 'M';\r
-               break;\r
-       case BIT_II:\r
-               Str[6] = 'I';\r
-               break;\r
-               }\r
-\r
-       return Str;\r
-       }\r
-\r
-static inline char XChar(char Bits, char cType)\r
-       {\r
-       switch (cType)\r
-               {\r
-       case 'M':\r
-               {\r
-               switch (Bits & BIT_xM)\r
-                       {\r
-               case BIT_MM:\r
-                       return 'M';\r
-               case BIT_DM:\r
-                       return 'D';\r
-               case BIT_IM:\r
-                       return 'I';\r
-#if    DOUBLE_AFFINE\r
-               case BIT_EM:\r
-                       return 'E';\r
-               case BIT_JM:\r
-                       return 'J';\r
-#endif\r
-                       }\r
-               Quit("Huh!?");\r
-               return '?';\r
-               }\r
-       case 'D':\r
-               {\r
-               switch (Bits & BIT_xD)\r
-                       {\r
-               case BIT_MD:\r
-                       return 'M';\r
-               case BIT_DD:\r
-                       return 'D';\r
-                       }\r
-               Quit("Huh!?");\r
-               return '?';\r
-               }\r
-       case 'I':\r
-               {\r
-               switch (Bits & BIT_xI)\r
-                       {\r
-               case BIT_MI:\r
-                       return 'M';\r
-               case BIT_II:\r
-                       return 'I';\r
-                       }\r
-               Quit("Huh!?");\r
-               return '?';\r
-               }\r
-#if    DOUBLE_AFFINE\r
-       case 'E':\r
-               {\r
-               switch (Bits & BIT_xE)\r
-                       {\r
-               case BIT_ME:\r
-                       return 'M';\r
-               case BIT_EE:\r
-                       return 'E';\r
-                       }\r
-               Quit("Huh!?");\r
-               return '?';\r
-               }\r
-       case 'J':\r
-               {\r
-               switch (Bits & BIT_xJ)\r
-                       {\r
-               case BIT_MJ:\r
-                       return 'M';\r
-               case BIT_JJ:\r
-                       return 'J';\r
-                       }\r
-               Quit("Huh!?");\r
-               return '?';\r
-               }\r
-#endif\r
-       default:\r
-               Quit("Huh?");\r
-               return '?';\r
-               }\r
-       }\r
-\r
-void BitTraceBack(char **TraceBack, unsigned uLengthA, unsigned uLengthB,\r
-  char LastEdge, PWPath &Path)\r
-       {\r
-#if    TRACE\r
-       Log("BitTraceBack\n");\r
-#endif\r
-       Path.Clear();\r
-\r
-       PWEdge Edge;\r
-       Edge.uPrefixLengthA = uLengthA;\r
-       Edge.uPrefixLengthB = uLengthB;\r
-       char Bits = TraceBack[uLengthA][uLengthB];\r
-       Edge.cType = LastEdge;\r
-       for (;;)\r
-               {\r
-#if    TRACE\r
-               Log("Prepend %c%d.%d\n", Edge.cType, Edge.uPrefixLengthA, Edge.uPrefixLengthB);\r
-#endif\r
-               char cSave = Edge.cType;\r
-               Edge.cType = XlatEdgeType(cSave);\r
-               Path.PrependEdge(Edge);\r
-               Edge.cType = cSave;\r
-\r
-               unsigned PLA = Edge.uPrefixLengthA;\r
-               unsigned PLB = Edge.uPrefixLengthB;\r
-               char Bits = TraceBack[PLA][PLB];\r
-               char NextEdgeType = XChar(Bits, Edge.cType);\r
-#if    TRACE\r
-               Log("XChar(%s, %c) = %c\n", BitsToStr(Bits), Edge.cType, NextEdgeType);\r
-#endif\r
-               switch (Edge.cType)\r
-                       {\r
-               case 'M':\r
-                       {\r
-                       if (Edge.uPrefixLengthA == 0)\r
-                               Quit("BitTraceBack MA=0");\r
-                       if (Edge.uPrefixLengthB == 0)\r
-                               Quit("BitTraceBack MA=0");\r
-                       --(Edge.uPrefixLengthA);\r
-                       --(Edge.uPrefixLengthB);\r
-                       break;\r
-                       }\r
-               case 'D':\r
-               case 'E':\r
-                       {\r
-                       if (Edge.uPrefixLengthA == 0)\r
-                               Quit("BitTraceBack DA=0");\r
-                       --(Edge.uPrefixLengthA);\r
-                       break;\r
-                       }\r
-               case 'I':\r
-               case 'J':\r
-                       {\r
-                       if (Edge.uPrefixLengthB == 0)\r
-                               Quit("BitTraceBack IB=0");\r
-                       --(Edge.uPrefixLengthB);\r
-                       break;\r
-                       }\r
-               default:\r
-                       Quit("BitTraceBack: Invalid edge %c", Edge);\r
-                       }\r
-\r
-               if (0 == Edge.uPrefixLengthA && 0 == Edge.uPrefixLengthB)\r
-                       break;\r
-\r
-               Edge.cType = NextEdgeType;\r
-               }\r
-\r
-#if    TRACE\r
-       Path.LogMe();\r
-#endif\r
-       }\r