The tests in this tree demonstrate how Berkeley UPC can interoperate with C++
and/or MPI, allowing programs to be partly written in UPC and partly in C++/MPI.

The 'C++-to-UPC' and 'MPI-to-UPC' directories contains programs that are
'mainly' C++ and MPI, respectively (i.e., 'main' is defined within the C++ or
MPI file, not in the UPC code).  These non-UPC main functions bootstrap the UPC
runtime, and can then freely call UPC routines.

The 'UPC-to-C++' and 'UPC-to-MPI' directories show the opposite--programs in
which main() is a UPC routine, that then calls into C++ or MPI functions.

Although it is not demonstrated here, both C++ and MPI can be mixed with UPC at
the same time (and FORTRAN, too!).  See the UPC User's Manual for details.

