Nilesh Mahajan <nnmah...@umail.iu.edu> wrote on 08/17/2010 04:32:29 PM:

> Hi,
> 
> I am trying to set elements of a 2D Int array and am facing some
> problems. Can somebody please help?
> 
> Code snippet:
> 
> const MAX 10000;
> const MAXPERROW 100;
> 
> val mat : Array[Int]([1..MAX, 1..MAX]->here, ((i, j):Point) => 0);

This is not syntactically valid X10.  You must've said something like

val mat: Array[Int] = new Array[Int]([1..MAX, 1..MAX]->here, ((i, 
j):Point)=>0);

instead.  Also note that this code will probably not work in the later
versions of X10, as you now need to specify the parameter type of the
closure more precisely, i.e., "((i, j):Point(2))=>0".

> for (var i:Int = 0; i < MAX; i++) {
>     var numCols:Int = new Random().nextInt(MAXPERROW);
>     for (var j:Int = 0; j < numCols; j++) {
>         var ColIndex:Int = new Random().nextInt(MAX);
>         mat.set(1, i, colIndex);
>     }
> }
> 
> 
> the 'mat.set' line throws an error which says (among other things):
> Call Invalid; calling method does not entail the method guard.

This means that the typechecker was not able to prove that the mat
array is 2-dimensional.  That's why I suspect you have specified the
explicit type on the declaration of "val mat".  Either change that type
to Array(2), or omit the type altogether (i.e., write

val mat = new Array[Int]([1..MAX, 1..MAX]->here, ((i, j):Point)=>0);

) and let the typechecker infer it for you.

> P.S. Is there a way to search the user archives?

There's Google, which lets you restrict the URLs of the pages you
search.  Note that there are two sets of archives for the x10-users
list outside of Sourceforge that may work better with Google
searching, or even offer their own search capabilities:

http://www.mail-archive.com/x10-users@lists.sourceforge.net/
http://blog.gmane.org/gmane.comp.lang.x10.user or 
http://news.gmane.org/gmane.comp.lang.x10.user

Hope this helps,
        Igor
-- 
Igor Peshansky  (note the spelling change!)
IBM T.J. Watson Research Center
X10: Parallel Productivity and Performance (http://x10-lang.org/)
XJ: No More Pain for XML's Gain (http://www.research.ibm.com/xj/)
"I hear and I forget.  I see and I remember.  I do and I understand" -- 
Confucius


------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
X10-users mailing list
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users

Reply via email to