X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=sensitive.cs;h=28788d0730ffd2f65b49e315c58e56e155ae8d74;hb=6e8a55c1eb351c57f8c6fb7e49b0db926c15b0bf;hp=ed54fbc2ed32b8dba404524e60e34073aced4637;hpb=f8dd681508a40553d93490da7ab57607648112b9;p=m17n%2Fm17n-lib-cs.git diff --git a/sensitive.cs b/sensitive.cs index ed54fbc..28788d0 100644 --- a/sensitive.cs +++ b/sensitive.cs @@ -61,7 +61,6 @@ public class Test int i, n; - Console.WriteLine ("prop[from] = {0}", prop[from]); if (from > 0 && prop[from - 1] == prop[from] && prop[from] != -1) for (i = prop[from]; i < from; i++) prop[i] = -1; @@ -87,7 +86,6 @@ public class Test int[] prop2 = new int[LENGTH], end2 = new int[LENGTH]; MSymbol[] value2 = new MSymbol[LENGTH]; - DebugDump (0); // sensitivity for deletion if (from > 0 && prop[from - 1] == prop[from] && prop[from] != -1) { @@ -103,35 +101,38 @@ public class Test prop[i] = -1; } - DebugDump (1); // copy for (i = from; i < to; i++) { if (prop[i] != -1) { + /* prop2[i - from] = prop[i] - from + from2; end2[prop2[i - from]] = end[prop[i]] - from + from2; value2[prop2[i - from]] = value[prop[i]]; + */ + prop2[i - from] = prop[i] - from + from2; + end2[i - from] = end[i] - from + from2; + value2[i - from] = value[i]; } else prop2[i - from] = -1; } - DebugDump (2); // delete for (i = to; i < LENGTH; i++) { if (prop[i] != -1) { prop[i - l] = prop[i] - l; - end[prop[i - l]] = end[prop[i]] - l; - value[prop[i - l]] = value[prop[i]]; + end[i - l] = end[i] - l; + value[i - l] = value[i]; } else prop[i - l] = -1; } + prop[LENGTH - l] = -1; - DebugDump (3); // sensitivity for insertion if (from2 > 0 && prop[from2 - 1] == prop[from2] && prop[from2] != -1) { @@ -140,34 +141,36 @@ public class Test prop[i] = -1; } - DebugDump (4); // move for (i = LENGTH - 1; i >= from2 + l; i--) { if (prop[i - l] != -1) { prop[i] = prop[i - l] + l; - end[prop[i]] = end[prop[i - l]] + l; - value[prop[i]] = value[prop[i - l]]; + end[i] = end[i - l] + l; + value[i] = value[i - l]; } else prop[i] = -1; } - DebugDump (5); // insert for (i = from2; i < from2 + l; i++) { if (prop2[i - from2] != -1) { + /* prop[i] = prop2[i - from2]; end[prop[i]] = end2[prop2[i - from2]]; value[prop[i]] = value2[prop2[i - from2]]; + */ + prop[i] = prop2[i - from2]; + end[i] = end2[i - from2]; + value[i] = value2[i - from2]; } else prop[i] = -1; } - DebugDump (6); MText mt2 = mt.Dup (); mt.Del (from, to); @@ -223,9 +226,9 @@ public class Test Console.Write ("\n"); } + /* static void DebugDump (int n) { - /* int i; Console.Write ("\n#{0}\n ", n); @@ -264,8 +267,8 @@ public class Test Console.Write (" "); } Console.Write ("\n"); - */ } + */ public static void Main (string[] args) {