Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

testNodeAndVals.C

Go to the documentation of this file.
00001 
00002 #include "mpi.h"
00003 #include "nodeAndValues.h"
00004 #include "TreeNode.h"
00005 #include "parUtils.h"
00006 #include "externVars.h"
00007 
00008 int main(int argc, char** argv) {
00009 
00010   MPI_Init(&argc, &argv);
00011 
00012   ot::NodeAndValues<double, 3> obj;
00013   ot::NodeAndValues<double, 3> trueObj;
00014 
00015   //Default
00016   obj.node = ot::TreeNode(3, 30);
00017   obj.values[0] = 0.0;
00018   obj.values[1] = 0.0;
00019   obj.values[2] = 0.0;
00020 
00021   int rank, npes;
00022 
00023   MPI_Comm_rank(MPI_COMM_WORLD, &rank);
00024 
00025   ot::TreeNode myNode(3, 30);
00026 
00027   for(int i = 0; i < 5; i++) {
00028     std::vector<ot::TreeNode> octs;
00029     myNode.addChildren(octs);
00030     myNode = octs[1];
00031   }
00032 
00033   trueObj.node = myNode;
00034   trueObj.values[0] = 10.5;
00035   trueObj.values[1] = 220.2;
00036   trueObj.values[2] = 1324.111;
00037 
00038   assert(obj != trueObj);
00039   assert(!obj.Equals(trueObj));
00040   assert(obj < trueObj);
00041   assert(trueObj > obj);
00042 
00043   if(!rank) {
00044     obj = trueObj;
00045   }
00046   
00047   par::Mpi_Bcast<ot::NodeAndValues<double, 3> >(&obj, 1, 0, MPI_COMM_WORLD);
00048 
00049   assert(obj == trueObj);
00050   assert(obj.Equals(trueObj));
00051 
00052   MPI_Barrier(MPI_COMM_WORLD);
00053 
00054   std::cout<<"Success!"<<std::endl;
00055 
00056   MPI_Finalize();
00057 }
00058 
00059 

Generated on Tue Mar 24 16:14:07 2009 for DENDRO by  doxygen 1.3.9.1