Mercurial > hg > what-is-octave
diff PoliMI2012/examples/Pi.m @ 4:0a1567794b40
[mq]: folder_reorganization
author | Carlo de Falco <cdf@users.sourceforge.net> |
---|---|
date | Thu, 08 Nov 2012 09:55:34 +0100 |
parents | |
children |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/PoliMI2012/examples/Pi.m @@ -0,0 +1,24 @@ + T=clock; + MPI_ANY_SOURCE = -1; + MPI_Init (); + MPI_COMM_WORLD = MPI_Comm_Load ("NEWORLD"); + rnk = MPI_Comm_rank (MPI_COMM_WORLD); + siz = MPI_Comm_size (MPI_COMM_WORLD); + SLV = logical(rnk); + MST = ~ SLV; + width=1/N; lsum=0; + i=rnk:siz:N-1; + x=(i+0.5)*width; + lsum=sum(4./(1+x.^2)); + TAG=7; + if SLV + MPI_Send (lsum, 0, TAG, MPI_COMM_WORLD); + else + Sum =lsum; + for slv=1:siz-1 + lsum = MPI_Recv (MPI_ANY_SOURCE, TAG, MPI_COMM_WORLD); + Sum += lsum; + endfor + endif + MPI_Finalize (); +