diff --git a/src/main/java/info/istlab/Zemi01/miuramath/Utest.java b/src/main/java/info/istlab/Zemi01/miuramath/Utest.java index 4407aec..4ac2745 100644 --- a/src/main/java/info/istlab/Zemi01/miuramath/Utest.java +++ b/src/main/java/info/istlab/Zemi01/miuramath/Utest.java @@ -6,26 +6,28 @@ public class Utest { public static void main(String[] args) { - double[] d1 = { 4, 3, 3, 3, 2, 3, 4, 5, 4, 3 }; - double[] d2 = { 5, 4, 5, 4, 4, 5, 4, 3, 5, 4 }; + // double[] d1 = { 4, 3, 3, 3, 2, 3, 4, 5, 4, 3 }; + // double[] d2 = { 5, 4, 5, 4, 4, 5, 4, 3, 5, 4 }; + double[] d1 = { 0.316 ,0.316 ,0.421, 0.474, 0.632 ,0.789 ,0.842, 0.947, 0.947 ,0.947, 1.000, 1.000 ,1.000 }; + double[] d2 = { 0.105 ,0.105 ,0.158 ,0.158 ,0.263 ,0.263 ,0.368 ,0.368 ,0.368 ,0.421, 1.000, 1.000 ,1.000 }; System.out.println(Arrays.toString(utest(d1, d2))); } public static double[] utest(double[] d1, double[] d2) { - boolean isDebug = false; + boolean isDebug = true; double[] sorted = merged_and_sorted(d1, d2); - if (isDebug) System.out.println(Arrays.toString(sorted)); + if (isDebug) System.out.println("Sorted:\n"+Arrays.toString(sorted)); double[] rnkd1 = ranks(d1, sorted); // rank配列 double[] rnkd2 = ranks(d2, sorted); - if (isDebug) System.out.println(Arrays.toString(rnkd1)); - if (isDebug) System.out.println(Arrays.toString(rnkd2)); + if (isDebug) System.out.println("Rank1:\n"+Arrays.toString(rnkd1)); + if (isDebug) System.out.println("Rank2:\n"+Arrays.toString(rnkd2)); double[] samed1 = samenum(d1, sorted); // 同位の数の配列 double[] samed2 = samenum(d2, sorted); // 同位の数の配列 - if (isDebug) System.out.println(Arrays.toString(samed1)); - if (isDebug) System.out.println(Arrays.toString(samed2)); + if (isDebug) System.out.println("同位の数1:\n"+Arrays.toString(samed1)); + if (isDebug) System.out.println("同位の数2:\n"+Arrays.toString(samed2)); double[] fo1 = fixedorder(rnkd1, samed1); // 調整済み double[] fo2 = fixedorder(rnkd2, samed2); // 調整済み @@ -88,7 +90,7 @@ for (int i = 0; i < ref.length; i++) { // incsortedの後ろから、ref[i]が何個目かを探す for (int j = 1; j <= incsorted.length; j++) { - if (incsorted[isn - j] == ref[i]) { + if (Math.abs(incsorted[isn - j] - ref[i]) < 0.0001) { rnk[i] = j; break; } @@ -111,7 +113,7 @@ for (int i = 0; i < ref.length; i++) { // incsortedの後ろから探して、ref[i]と同じなら、カウントアップ for (int j = 1; j <= incsorted.length; j++) { - if (incsorted[isn - j] == ref[i]) { + if (Math.abs(incsorted[isn - j] - ref[i]) < 0.0001) { same[i]++; } }