Index: FieldCentering.h =================================================================== RCS file: /home/pooma/Repository/r2/src/Field/FieldCentering.h,v retrieving revision 1.2 diff -c -p -r1.2 FieldCentering.h *** FieldCentering.h 2001/08/30 19:02:36 1.2 --- FieldCentering.h 2001/10/01 17:01:42 *************** std::ostream &operator<<(std::ostream &o *** 491,496 **** --- 491,517 ---- //----------------------------------------------------------------------------- + // Provide == and != comparison operators for centerings. + //----------------------------------------------------------------------------- + + template + bool operator==(const Centering ¢ering1, const Centering ¢ering2) + { + return + centering1.centeringType() == centering2.centeringType() && + centering1.discontinuous() == centering2.discontinuous() && + centering1.orientations() == centering2.orientations() && + centering1.positions() == centering2.positions(); + } + + template + bool operator!=(const Centering ¢ering1, const Centering ¢ering2) + { + return !(centering1 == centering2); + } + + + //----------------------------------------------------------------------------- // Define CanonicalCentering's static members. //----------------------------------------------------------------------------- Index: tests/Centerings.cpp =================================================================== RCS file: /home/pooma/Repository/r2/src/Field/tests/Centerings.cpp,v retrieving revision 1.1 diff -c -p -r1.1 Centerings.cpp *** tests/Centerings.cpp 2001/08/30 01:15:18 1.1 --- tests/Centerings.cpp 2001/10/01 17:01:42 *************** *** 31,41 **** --- 31,43 ---- #include "Pooma/Fields.h" #include "Field/FieldCentering.h" + #include "Utilities/Tester.h" int main(int argc, char *argv[]) { Pooma::initialize(argc, argv); + Pooma::Tester tester(argc, argv); // Explicitly obtain the centerings. CanonicalCentering<2> centering2; *************** int main(int argc, char *argv[]) *** 52,59 **** std::cout << canonicalCentering<2>(CellType, Continuous) << std::endl; std::cout << canonicalCentering<3>(FaceType, Discontinuous, XDim | YDim) << std::endl; Pooma::finalize(); ! return 0; } // ACL:rcsinfo --- 54,68 ---- std::cout << canonicalCentering<2>(CellType, Continuous) << std::endl; std::cout << canonicalCentering<3>(FaceType, Discontinuous, XDim | YDim) << std::endl; + // Briefly test the comparison operators. + tester.check(cell == canonicalCentering<2>(CellType, Continuous)); + tester.check(cell != centering2(FaceType, Continuous, XDim | YDim)); + tester.check(allFace == centering3(FaceType, Continuous, XDim | YDim)); + tester.check(centering3(FaceType, Continuous, XDim | YDim) == allFace); + + int ret = tester.results("Centerings"); Pooma::finalize(); ! return ret; } // ACL:rcsinfo