From b6cf773f5ce134000fa8331b90f7fbc2d50ce397 Mon Sep 17 00:00:00 2001
From: Oren <oren_segal@student.uml.edu>
Date: Tue, 25 Aug 2015 22:22:01 -0400
Subject: [PATCH] work on create range from copy function (used in sparkcl)

---
 .../src/java/com/amd/aparapi/Range.java       | 22 +++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/Range.java b/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/Range.java
index 34e3a4b5..a93da030 100644
--- a/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/Range.java
+++ b/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/Range.java
@@ -109,6 +109,28 @@ public class Range extends RangeJNI{
       return (range);
    }
 
+   /** 
+    * Create a range from an existing range and a device <br/>
+    * 
+    * @param device to be associated with range
+    * @param orgRange original range to copy from
+    * @return A new Range with the requested dimensions
+    */
+   public static Range create(Device _device, Range orgRange) {
+	   
+	   switch(orgRange.getDims())
+	   {
+	   case 1:
+		   return create(_device,orgRange.globalSize_0,orgRange.localSize_0);
+	   case 2:
+		   return create2D(_device,orgRange.globalSize_0,orgRange.globalSize_1,orgRange.localSize_0,orgRange.localSize_1);
+	   case 3:
+		   return create3D(_device,orgRange.globalSize_0,orgRange.globalSize_1,orgRange.globalSize_2,orgRange.localSize_0,orgRange.localSize_1,orgRange.localSize_2);
+	   default:
+		   return null;
+	   }
+   }
+
    /**
     * Determine the set of factors for a given value.
     * @param _value The value we wish to factorize. 
-- 
GitLab