Hi All, I hope I am doing something easy to correct. I am trying to move some code to compute the prefix sum of an integer array into its own method. I'm using 2.0.4.
I get the following error: dhu...@oscnet166 24%> x10c++ -x10rt mpi -o PrefixSum PrefixSum.x10 /Users/dhudak/osc/research/x10/tutorial/examples/PrefixSum.x10:34: Method or static constructor not found for given matcher. Matcher: a_prefix_sum(x10.lang.ValRail[x10.lang.Int]{self.length==1}) 1 error. ...which corresponds to the statement in the else clause of the computeSum method > a_prefix_sum(p) = a(p) + a_prefix_sum([i-1]); Below is the entire code for reference. Thanks, Dave /* * PrefixSum * Sequential implementation * Dave Hudak * Ohio Supercomputer Center */ public class PrefixSum { public static def str[T](a:Array[T]):String { var s : String = ""; //var is mutable var first : Boolean = true; //var declaration must include type for (point in a) { if (first) { first = false; } else { s += ", "; } s += a(point).toString(); //works because toString is global } return s; } public static def computeSum(a:Array[Int]):Array[Int]{self.region == a.region} { val a_prefix_sum = new Array[Int](a.region, (Point)=>0); for (p in a_prefix_sum) { val (i) = p; if (i == 1) { a_prefix_sum(p) = a(p); } else { a_prefix_sum(p) = a(p) + a_prefix_sum([i-1]); } } return a_prefix_sum; } public static def main(args: Rail[String]!): Void { val ARRAY_SIZE = 10; //values are like constants (immutable) val r1 = [1..ARRAY_SIZE]; //define a range val a1 = new Array[Int](r1, (Point)=>0); //create an array of all zeroes Console.OUT.println("a1(1) = " + a1([1])); //index arrays using parens around points for (p in a1) { val (i) = p; //fetch the subscript of the point a1(p) = i; //assign it to the array value } val a1_string = str(a1); Console.OUT.println(a1_string); val a1_prefix_sum = computeSum(a1); val a1_prefix_sum_string = str(a1_prefix_sum); Console.OUT.println(a1_prefix_sum_string); } } --- David E. Hudak, Ph.D. dhu...@osc.edu Program Director, HPC Engineering Ohio Supercomputer Center http://www.osc.edu ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ X10-users mailing list X10-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/x10-users