changeset 193:7c695190fa2b working

no use Value object in MergeSort
author e095732
date Thu, 07 Mar 2013 23:59:03 +0900
parents a8b0d44bbe68
children fc4dbf4e1978
files src/alice/test/codesegment/local/mergesort/MergeArray.java src/alice/test/codesegment/local/mergesort/SeparateArray.java src/alice/test/codesegment/local/mergesort/ShowResult.java src/alice/test/codesegment/local/mergesort/SortStart.java
diffstat 4 files changed, 15 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/src/alice/test/codesegment/local/mergesort/MergeArray.java	Thu Mar 07 22:20:54 2013 +0900
+++ b/src/alice/test/codesegment/local/mergesort/MergeArray.java	Thu Mar 07 23:59:03 2013 +0900
@@ -27,9 +27,8 @@
 
 	@Override
 	public void run() {
-		
-		DataList list1 = info1.asClass(DataList.class);
-		DataList list2 = info2.asClass(DataList.class);
+		DataList list1 = (DataList) info1.obj;
+		DataList list2 = (DataList) info2.obj;
 		DataList list3 = new DataList();
 		
 		Iterator<Integer> iter1 = list1.table.listIterator();
@@ -73,6 +72,6 @@
 		int num = (keyNum1-1)/2;
 		String key = Integer.toString(num);
 		
-		ods.put("local", key, list3);
+		ods.put(key, list3);
 	}
 }
--- a/src/alice/test/codesegment/local/mergesort/SeparateArray.java	Thu Mar 07 22:20:54 2013 +0900
+++ b/src/alice/test/codesegment/local/mergesort/SeparateArray.java	Thu Mar 07 23:59:03 2013 +0900
@@ -18,7 +18,7 @@
 	}
 	@Override
 	public void run() {
-		DataList list = info.asClass(DataList.class);
+		DataList list = (DataList) info.obj;
 		if (list.table.size() > 2){
 			int num = 2*keyNum + 1;
 			int length = list.table.size()/2;
@@ -26,8 +26,8 @@
 			String key1 = Integer.toString(num);
 			String key2 = Integer.toString(num+1);
 
-			ods.put("local", key1, list.createDataList(0, length));
-			ods.put("local", key2, list.createDataList(length, length));			
+			ods.put(key1, list.createDataList(0, length));
+			ods.put(key2, list.createDataList(length, length));			
 			
 			new SeparateArray(num);
 			new SeparateArray(num+1);
@@ -36,14 +36,14 @@
 			String key = Integer.toString(keyNum);
 			
 			if (list.table.get(0)<=list.table.get(1)){
-				ods.put("local",key, list);
+				ods.put(key, list);
 			} else {
 				Sort.swap(list.table, 0, 1);
-				ods.put("local",key, list);
+				ods.put(key, list);
 			}
 		} else {
 			String key = Integer.toString(keyNum);
-			ods.put("local",key, list);
+			ods.put(key, list);
 		}
 	}
 
--- a/src/alice/test/codesegment/local/mergesort/ShowResult.java	Thu Mar 07 22:20:54 2013 +0900
+++ b/src/alice/test/codesegment/local/mergesort/ShowResult.java	Thu Mar 07 23:59:03 2013 +0900
@@ -1,12 +1,10 @@
 package alice.test.codesegment.local.mergesort;
 
-import java.util.List;
-
-import org.msgpack.type.Value;
-
 import alice.codesegment.CodeSegment;
 import alice.datasegment.CommandType;
 import alice.datasegment.Receiver;
+import alice.test.codesegment.local.bitonicsort.DataList;
+import alice.test.codesegment.local.bitonicsort.Sort;
 
 public class ShowResult extends CodeSegment{
 
@@ -22,15 +20,8 @@
 	@Override
 	public void run() {
 		System.out.println(System.currentTimeMillis() - SortStart.t);
-		List<Value> list = info.asArray();
-		for (int i =0; i+1< list.size();i++){
-			if (list.get(i).asIntegerValue().getInt()>list.get(i+1).asIntegerValue().getInt()){
-				System.out.println("MISS");
-				System.exit(0);
-			}
-			//System.out.println(list.get(i).asIntegerValue().getInt()+",");
-		}
-		//System.out.println(list);
+		DataList list = (DataList)info.obj;
+		Sort.check(list.table);
 		System.exit(0);
 	}
 
--- a/src/alice/test/codesegment/local/mergesort/SortStart.java	Thu Mar 07 22:20:54 2013 +0900
+++ b/src/alice/test/codesegment/local/mergesort/SortStart.java	Thu Mar 07 23:59:03 2013 +0900
@@ -18,11 +18,11 @@
 		DataList list = new DataList();
 		for (int i=0;i< size; i++){
 			Random rnd = new Random();
-			list.table.add(rnd.nextInt(Integer.MAX_VALUE));
+			list.table.add(rnd.nextInt(1000000));
 		}
 		
 		String key = Integer.toString(0);
-		ods.put("local", key, list);
+		ods.put(key, list);
 	
 		new SeparateArray(0);
 		new ShowResult(0);