Académique Documents
Professionnel Documents
Culture Documents
PROGRAMACIN PARALELA
X10
Clase 2:
Funciones
y Rails
Rails
Los rails son similares a los arrays de una dimensin pero ocupa
menos memoria.
Ejemplos
Rail R de 6 elementos que van desde el ndice 0 al 5.
import x10.io.Console;
public class ejemplo {
public static def main(args:Rail[String]){
val R:Rail[Long] = [1,3,5,3,15,5];
for (var i:Long=0;i<R.size;i++)
Console.OUT.println(R(i));
}
}
Rail R de 10 elementos inicializados a cero. (Por defecto)
import x10.io.Console;
public class ejemplo {
public static def main(args:Rail[String]){
val R=new Rail[Long](10);
for (i in 0..(R.size-1))
Console.OUT.println(i+" "+R(i));
}
}
Rail R de 10 elementos inicializados a pi.
import x10.io.Console;
public class ejemplo {
public static def main(args:Rail[String]){
val R=new Rail[Double](10,Math.PI);
for (x in R)
Console.OUT.println(x);
}
}
Rail R de 10 elementos inicializados a indice*pi.
import x10.io.Console;
public class ejemplo {
public static def main(args:Rail[String]){
val R=new Rail[Double](10,(i:Long)=>i*Math.PI);
for (i in R.range())
Console.OUT.println(R(i));
}
}
Rail R de 10 elementos inicializados a enteros aleatorios entre 0 y 6.
import x10.io.Console;
import x10.util.Random;
public class ejemplo {
public static def main(args:Rail[String]){
val r=new Random();
val R=new Rail[Long](10,(i:Long)=>r.nextLong(7));
for (a in R)
Console.OUT.println(a);
}
}
Funciones
import x10.io.Console;
public class ejemplo {
static def resta(x:Long,y:Long): Long{
return x-y;
}
public static def main(args:Rail[String]){
val Rx:Rail[Long] = [1,3,5,3,15,5];
val Ry:Rail[Long] = [7,2,5,4,8,15];
for (var i:Long=0;i<6;i++)
Console.OUT.println(resta(Rx(i),Ry(i)));
}
}
Funciones en clases diferentes
import x10.io.Console;
public class ejemplo {
public static def main(args:Rail[String]){
val Rx:Rail[Long] = [1,3,5,3,15,5];
val Ry:Rail[Long] = [7,2,5,4,8,15];
for (var i:Long=0;i<6;i++)
Console.OUT.println(resta(Rx(i),Ry(i)));
}
}