source: CIVL/examples/messagePassing/ring.cvl@ e4d5b2a

1.23 2.0 main test-branch
Last change on this file since e4d5b2a was 09b9231b, checked in by Manchun Zheng <zmanchun@…>, 12 years ago

implemented assert statements with printing functionality; since $assert is redefined as a function in civlc.h, the translation in FunctionTranslator is changed and all examples using $assert is updated accordingly; translates assert() which is defined in assert.h into an assert statement; fixed warnings in mpi executor.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@536 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 385 bytes
RevLine 
[20d2740]1/* Create nprocs processes. Have them exchange data in a cycle.
[0be7a7ea]2 * Commandline example:
3 * civl verify -inputNPROCS=3 ring.cvl -simplify=false
[20d2740]4 */
5#include<civlc.h>
[0be7a7ea]6#include "mp_root.cvh"
[20d2740]7
8void MPI_Process (int rank) {
[0be7a7ea]9#include "mp_proc.cvh"
[20d2740]10
[0be7a7ea]11 double x=rank, y;
12 send(&x, 1, (rank+1)%NPROCS, 0);
13 recv(&y, 1, (rank+NPROCS-1)%NPROCS, 0);
[09b9231b]14 $assert(y==(rank+NPROCS-1)%NPROCS);
[20d2740]15}
Note: See TracBrowser for help on using the repository browser.