Dear David, Thank you again for your reply, but I'm still facing some trouble
1) The first solution: Console.OUT.println("Before copying: "+ +here.id); finish tempRail.copyTo(0,localRail,0,tempRail.length()); Console.OUT.println("finished copying: "+ +here.id); this is all done in the scope of place 1, so tempRail is the Rail of the Array at place 1, where as localRail is the Rail at place 0 so when I run this it stops indefinitely at the copyTo function, and never proceeds with execution. 2) the other proposal, which was using ValRail, the compiler gives me the following errors, which I really don't get *x10c++: In file included from Hello.cc:4: Hello.inc: In member function ‘void Hello__closure__13::apply()’: Hello.inc:290: error: ‘class x10::lang::Rail<double>’ has no member named ‘view’ x10c++: Non-zero return code: 1 2 errors. * at(matrix.dist()(0,1)) // PLACE 1 { val temp= new Array[double]([0..3],((i):Point)=>0.0); val x1 =((matrix(0,1)) as Array[double](1)); val y =((vector(1)) as Array[double](1)); Hello.myRun(x1.raw(),y.raw(),temp.raw()); val tempValRail= (temp.raw()as Rail[double]).view(); at(matrix.dist()(0,0)) //PLACE 0 { for(var i:int=0; i<2; i++) { Hello.result(i+2)+=tempValRail(i); } } } Thanks a lot Mohammed @ KAUST On Mon, Jul 12, 2010 at 10:32 PM, David P Grove <gro...@us.ibm.com> wrote: > > > mohammed elsaeedy <mohammed.elsae...@kaust.edu.sa> wrote on 07/12/2010 > 03:43:36 PM: > > > > but my problem is when I want to sum up all the results in a global > linear > > array called result which is at place 0 > > when ever i want to add those elements that reside at place 1 to the > values > > of the result array, a bad place exception occurs. > > so how can I pass an array (or the values of the array) that resides at > > place 1 to the result array that resides at place 0? > > > > There isn't quite as much support for this in 2.0.4 as there should be. > I'm hoping to make improved support for this kind of operation part of the > Array API for 2.0.5 (was working on it this afternoon). > > In 2.0.4, what you need to do is the following series of steps. > > (1) call the raw() method on the array at place 1 to get the backing > Rail. > (2) either > (a) use one of the Rail.copyTo/copyFrom methods to copy the > Rail from place 1 to place 0 > (b) convert the Rail to a ValRail, then capture the ValRail > in > an "at" to copy it to place 0. > (3) at place 0, take the copied values from the Rail/ValRail and use > them to update the Array. > > What I'm hoping to finish in time for 2.0.5 is to implement copyTo/copyFrom > on Array so you can at least avoid having to know about the raw() method to > copy an Array's data from an Array in one place to another Array in a > second place. > > --dave > > ------------------------------------------------------------------------------ > 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 > -- Thank you for your concern. Regards, Mohammed El Sayed ------------------------------------------------------------------------------ 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