RFA: Proposed Modifications to Test Files
Jeffrey Oldham
oldham at codesourcery.com
Thu Mar 15 06:39:39 UTC 2001
Are the attached changes to the files in the Pooma "test" directory
acceptable? Is it possible to create a Loc<1> from a scalar? Is the
dclock.cpp code portable to your computer? Note that
BrickEngineTest.cpp still does not compile; it seems to have been
written for an older version of BrickEngine.
Array/Test/ArrayTest.cpp:
* Prepend iostream functions with "std::".
Domain/Loc/Characteristics/LocCharacteristics.cpp:
* Creating a Loc<1> from a scalar does not seem to be supported.
Domain/NewDomain/Constructors/NewDomainConstructor.cpp:
* Prepend iostream functions with "std::".
Domain/Range/Constructors/RangeConstructor.cpp:
* Prepend iostream functions with "std::".
Domain/Range/Constructors/makefile:
* Fix typo in main target from creating this makefile by copying.
Engine/BrickEngine/BrickEngine/BrickEngineTest.cpp:
* s/BaseDomain_t/Base_t/
Shared/dclock.cpp:
* Rewrite from non-portable SGI code to (hopefully) portable Gnu C
Library code.
Utilities/RefCounting/RefCountedBlockPtr/RefCountedBlockPtrTest.cpp:
* Change abs() to fabs() for floating point numbers.
* Add some static_casts to convert from float to int to avoid
compiler warnings.
* Remove tests for nonexistent .isInBounds().
(I will be away for the next four days.)
Thanks,
Jeffrey D. Oldham
oldham at codesourcery.com
-------------- next part --------------
Index: Array/Test/ArrayTest.cpp
===================================================================
RCS file: /home/pooma/Repository/r2/test/Array/Test/ArrayTest.cpp,v
retrieving revision 1.5
diff -c -p -r1.5 ArrayTest.cpp
*** Array/Test/ArrayTest.cpp 1999/03/02 23:06:32 1.5
--- Array/Test/ArrayTest.cpp 2001/03/15 06:27:54
*************** int reportResults(int n, char *test, boo
*** 19,33 ****
{
char* statusString = "passed";
if(!testStatus) statusString = "failed";
! cout << " Test " << setw(3) << n << ", "
! << setw(42) << test << ": " << statusString << "\n";
return 0;
}
void uncaughtErrorReport(const char *what, int n)
{
! cerr << "\nAck! Caught assertion during test # " << n << ":" << endl;
! cerr << what << endl;
}
//-----------------------------------------------------------------------------
--- 19,33 ----
{
char* statusString = "passed";
if(!testStatus) statusString = "failed";
! std::cout << " Test " << std::setw(3) << n << ", "
! << std::setw(42) << test << ": " << statusString << "\n";
return 0;
}
void uncaughtErrorReport(const char *what, int n)
{
! std::cerr << "\nAck! Caught assertion during test # " << n << ":" << std::endl;
! std::cerr << what << std::endl;
}
//-----------------------------------------------------------------------------
*************** int main( int argc, char *argv[] )
*** 74,106 ****
// bool testStatus;
try {
! cout << "IArray1B\n";
! cout << "dimensions: " << IArray1B::dimensions << endl;
! cout << "rank: " << IArray1B::rank << endl;
! cout << "IArray7B\n";
! cout << "dimensions: " << IArray7B::dimensions << endl;
! cout << "rank: " << IArray7B::rank << endl;
! cout << "ULArray7B\n";
! cout << "dimensions: " << ULArray7B::dimensions << endl;
! cout << "rank: " << ULArray7B::rank << endl;
! cout << "CxArray7B\n";
! cout << "dimensions: " << CxArray7B::dimensions << endl;
! cout << "rank: " << CxArray7B::rank << endl;
! cout << "IArray8B\n";
! cout << "dimensions: " << IArray8B::dimensions << endl;
! cout << "rank: " << IArray8B::rank << endl;
// // compile error:
! // cout << "IArrayNeg1\n";
! // cout << "dimensions: " << IArrayNeg1::dimensions << endl;
! // cout << "rank: " << IArrayNeg1::rank << endl;
IArray1B a(10);
a = 0;
a(0) = 1;
IArray1B b = a;
b(1) = 2;
! cout << "a: " << a << endl;
! cout << "b: " << b << endl;
// // compile error:
// IArrayNeg1 n1( 2 );
--- 74,106 ----
// bool testStatus;
try {
! std::cout << "IArray1B\n";
! std::cout << "dimensions: " << IArray1B::dimensions << std::endl;
! std::cout << "rank: " << IArray1B::rank << std::endl;
! std::cout << "IArray7B\n";
! std::cout << "dimensions: " << IArray7B::dimensions << std::endl;
! std::cout << "rank: " << IArray7B::rank << std::endl;
! std::cout << "ULArray7B\n";
! std::cout << "dimensions: " << ULArray7B::dimensions << std::endl;
! std::cout << "rank: " << ULArray7B::rank << std::endl;
! std::cout << "CxArray7B\n";
! std::cout << "dimensions: " << CxArray7B::dimensions << std::endl;
! std::cout << "rank: " << CxArray7B::rank << std::endl;
! std::cout << "IArray8B\n";
! std::cout << "dimensions: " << IArray8B::dimensions << std::endl;
! std::cout << "rank: " << IArray8B::rank << std::endl;
// // compile error:
! // std::cout << "IArrayNeg1\n";
! // std::cout << "dimensions: " << IArrayNeg1::dimensions << std::endl;
! // std::cout << "rank: " << IArrayNeg1::rank << std::endl;
IArray1B a(10);
a = 0;
a(0) = 1;
IArray1B b = a;
b(1) = 2;
! std::cout << "a: " << a << std::endl;
! std::cout << "b: " << b << std::endl;
// // compile error:
// IArrayNeg1 n1( 2 );
*************** int main( int argc, char *argv[] )
*** 121,127 ****
// CxArray7B cxd( 2,2,2,2,2,2,2 );
// cxd = (1.0, 0.0);
// cxd( 0,0,0,0,0,0,1 ) = (3.14159, -0.5);
! // cout << "cxd\n" << cxd;
}
catch( const char *err )
--- 121,127 ----
// CxArray7B cxd( 2,2,2,2,2,2,2 );
// cxd = (1.0, 0.0);
// cxd( 0,0,0,0,0,0,1 ) = (3.14159, -0.5);
! // std::cout << "cxd\n" << cxd;
}
catch( const char *err )
*************** int main( int argc, char *argv[] )
*** 129,137 ****
catch( const Pooma::Assertion &err )
{ uncaughtErrorReport( err.what(), nTest ); }
catch( ... )
! { cerr << "Unknown exception!" << endl; }
! cout << "\n" << endl;
Pooma::finalize();
--- 129,137 ----
catch( const Pooma::Assertion &err )
{ uncaughtErrorReport( err.what(), nTest ); }
catch( ... )
! { cerr << "Unknown exception!" << std::endl; }
! std::cout << "\n" << std::endl;
Pooma::finalize();
Index: Domain/Loc/Characteristics/LocCharacteristics.cpp
===================================================================
RCS file: /home/pooma/Repository/r2/test/Domain/Loc/Characteristics/LocCharacteristics.cpp,v
retrieving revision 1.9
diff -c -p -r1.9 LocCharacteristics.cpp
*** Domain/Loc/Characteristics/LocCharacteristics.cpp 1999/03/09 17:04:55 1.9
--- Domain/Loc/Characteristics/LocCharacteristics.cpp 2001/03/15 06:27:55
*************** main(int argc, char *argv[]) {
*** 133,139 ****
cout << endl;
! Loc<1>a1 = 1;
//Loc<1> b1(Loc<1>());
Loc<2> b2(a1,Loc<1>(2));
Loc<3> b3(b2,Loc<1>(3));
--- 133,139 ----
cout << endl;
! Loc<1> a1 = Loc<1>(1);
//Loc<1> b1(Loc<1>());
Loc<2> b2(a1,Loc<1>(2));
Loc<3> b3(b2,Loc<1>(3));
Index: Domain/NewDomain/Constructors/NewDomainConstructor.cpp
===================================================================
RCS file: /home/pooma/Repository/r2/test/Domain/NewDomain/Constructors/NewDomainConstructor.cpp,v
retrieving revision 1.5
diff -c -p -r1.5 NewDomainConstructor.cpp
*** Domain/NewDomain/Constructors/NewDomainConstructor.cpp 1999/03/02 23:11:55 1.5
--- Domain/NewDomain/Constructors/NewDomainConstructor.cpp 2001/03/15 06:27:55
*************** void reportResults(int n, char *test, bo
*** 16,35 ****
{
char* statusString = "passed";
if(!testStatus) statusString = "failed";
! cout << " Test " << setw(3) << n << ", "
! << setw(10) << test << ": " << statusString << "\n";
}
void uncaughtErrorReport(const char *what, int n)
{
! cerr << "\nAck! Caught assertion during test # " << n << ":" << endl;
! cerr << what << endl;
}
template<class T>
Interval<1> testElement(const T &dom, int no) {
//get the nth element of dom, and store it in a separte variable
! T::OneDomain_t singleElem = dom[no];
return singleElem;
}
--- 16,35 ----
{
char* statusString = "passed";
if(!testStatus) statusString = "failed";
! std::cout << " Test " << std::setw(3) << n << ", "
! << std::setw(10) << test << ": " << statusString << "\n";
}
void uncaughtErrorReport(const char *what, int n)
{
! cerr << "\nAck! Caught assertion during test # " << n << ":" << std::endl;
! cerr << what << std::endl;
}
template<class T>
Interval<1> testElement(const T &dom, int no) {
//get the nth element of dom, and store it in a separte variable
! typename T::OneDomain_t singleElem = dom[no];
return singleElem;
}
*************** main(int argc, char *argv[]) {
*** 57,87 ****
bool testStatus;
if ((argc > 1) && (!strcmp(argv[1],"-d"))) debug = 1;
! cout << "\n"
! << " ==============================================================\n"
! << " Domain test for Constructors on NewDomain<N> object \n"
! << " ==============================================================\n"
! << endl;
if (debug){
! cout << "=========================DEBUG==================================="
! << endl;
! cout << endl;
! cout << "Starting domain test for Constructors on NewDomain<N> object"
! << endl;
! cout << "A set of simple structs which tell how to combine." << endl;
! cout << endl;
! cout << " different Domain object together. TThey are named " << endl;
! cout << "NewDomain1 - NewDoamin7 and are templated on from 1 .. 7 "
! << endl;
! cout << "different domain types. If you have a domain as the last "
! << endl;
! cout << "argrment you must have a space between this argument and the"
! << endl;
! cout << "last >,NewDomain2<Loc<1>,Loc<1> >::Type_t newdomain2; "
! << endl;
}
! cout << endl;
Loc<1> D1(1);
Loc<1> D2(2);
Range<2> R1(Interval<1>(5,10),Interval<1>(-1,100));
--- 57,87 ----
bool testStatus;
if ((argc > 1) && (!strcmp(argv[1],"-d"))) debug = 1;
! std::cout << "\n"
! << " ==============================================================\n"
! << " Domain test for Constructors on NewDomain<N> object \n"
! << " ==============================================================\n"
! << std::endl;
if (debug){
! std::cout << "=========================DEBUG==================================="
! << std::endl;
! std::cout << std::endl;
! std::cout << "Starting domain test for Constructors on NewDomain<N> object"
! << std::endl;
! std::cout << "A set of simple structs which tell how to combine." << std::endl;
! std::cout << std::endl;
! std::cout << " different Domain object together. TThey are named " << std::endl;
! std::cout << "NewDomain1 - NewDoamin7 and are templated on from 1 .. 7 "
! << std::endl;
! std::cout << "different domain types. If you have a domain as the last "
! << std::endl;
! std::cout << "argrment you must have a space between this argument and the"
! << std::endl;
! std::cout << "last >,NewDomain2<Loc<1>,Loc<1> >::Type_t newdomain2; "
! << std::endl;
}
! std::cout << std::endl;
Loc<1> D1(1);
Loc<1> D2(2);
Range<2> R1(Interval<1>(5,10),Interval<1>(-1,100));
*************** main(int argc, char *argv[]) {
*** 92,224 ****
NewDomain2<Loc<1>,int>::Type_t newdomain2;
NewDomain2<Loc<1>,int>::Type_t newdomain2a =
! NewDomain2<Loc<1>,int>::combine(D1,2);
! NewDomain3<Loc<2>,Range<2>,int>::Type_t newdomain3;
! NewDomain3<Loc<2>,Range<2>,int>::Type_t newdomain3a =
! NewDomain3<Loc<2>,Range<2>,int>::combine(newdomain2a,R2,999);
NewDomain4<Range<2>,Interval<2>,Loc<1>,Loc<1> >::Type_t newdomain4;
NewDomain4<Range<2>,Interval<2>,Loc<1>,Loc<1> >::Type_t newdomain4a =
! NewDomain4<Range<2>,Interval<2>,Loc<1>,Loc<1> >::combine(R2,I2,D1,D2);
NewDomain5<Loc<2>,Range<2>,int,Loc<4>,int>::Type_t newdomain5;
NewDomain5<Loc<2>,Range<2>,int,Loc<4>,int>::Type_t newdomain5a =
! NewDomain5<Loc<2>,Range<2>,int,Loc<4>,int>::combine
! (newdomain2a,R2,999,Loc<4>(D1,D2,newdomain2a),999);
NewDomain6<Loc<2>,Range<2>,int,Loc<4>,Loc<4>,int>::Type_t newdomain6;
NewDomain6<Loc<2>,Range<2>,int,Loc<4>,Loc<4>,int>::Type_t newdomain6a =
! NewDomain6<Loc<2>,Range<2>,int,Loc<4>,Loc<4>,int>::combine
! (newdomain2a,R1,99,Loc<4>(newdomain2a,newdomain2a),Loc<4>
! (newdomain2a,newdomain2a),999);
NewDomain7<Range<2>,Range<2>,Loc<1>,Loc<1>,Interval<2>,Interval<2>,
! int>::Type_t newdomain7;
NewDomain7<Range<2>,Range<2>,Loc<1>,Loc<2>,Interval<2>,Interval<2>,
! Range<2> >::Type_t newdomain7a = NewDomain7<Range<2>,Range<2>,Loc<1>,
! Loc<2>,Interval<2>,Interval<2>,Range<2> >::combine(R1,R2,D1,newdomain2a,
! I1,I2,R2);
if (debug){
! cout << "================================================================"
! << endl;
! cout << endl;
! cout << " NewDomain7<Range<2>,Range<2>,Loc<1>,Loc<2>,Interval<2>, Interval<2>,int>::combine(R1,R2,D1,newdomain2a,I1,I2,999) " << newdomain7a << endl;
! cout << " R1 " << R1 << endl;
! cout << " R2 " << R2 << endl;
! cout << " D1 " << D1 << endl;
! cout << " newdomain2a " << newdomain2a << endl;
! cout << " I1 " << I1 << endl;
! cout << " I2 " << I2 << endl;
! cout << " newdomain2 " << newdomain2 << endl;
! cout << " newdomain2a " << newdomain2a << endl;
! cout << " newdomain3 " << newdomain3 << endl;
! cout << " newdomain3a " << newdomain3a << endl;
! cout << " newdomain4 " << newdomain4 << endl;
! cout << " newdomain4a " << newdomain4a << endl;
! cout << " newdomain5 " << newdomain5 << endl;
! cout << " newdomain5a \n" << " " << newdomain5a << endl;
! cout << " newdomain6 \n " << " " << newdomain6 << endl;
! cout << " newdomain6a \n " << " " << newdomain6a << endl;
! cout << " newdomain7 \n " << " " << newdomain7 << endl;
! cout << " newdomain7a \n " << " " << newdomain7a << endl;
! cout << " newdomain2.dimensions " << newdomain2.dimensions << endl;
! cout << " newdomain3.dimensions " << newdomain3.dimensions << endl;
! cout << " newdomain4.dimensions " << newdomain4.dimensions << endl;
! cout << " newdomain5.dimensions " << newdomain5.dimensions << endl;
! cout << " newdomain6.dimensions " << newdomain6.dimensions << endl;
! cout << " newdomain7.dimensions " << newdomain7.dimensions << endl;
! cout << " newdomain2a.dimensions " << newdomain2a.dimensions << endl;
! cout << " newdomain3a.dimensions " << newdomain3a.dimensions << endl;
! cout << " newdomain4a.dimensions " << newdomain4a.dimensions << endl;
! cout << " newdomain5a.dimensions " << newdomain5a.dimensions << endl;
! cout << " newdomain6a.dimensions " << newdomain6a.dimensions << endl;
! cout << " newdomain7a.dimensions " << newdomain7a.dimensions << endl;
! cout << endl;
! cout << "================================================================" << endl;
}
! cout << "Testing NewDomain<*> constructors methods:" << endl;
! cout << "----------------------------------------------------------" << endl;
! try {
! //----------------------------------------------------------------------
! // Test NewDomain Construtor
! //----------------------------------------------------------------------
!
! testStatus = (newdomain2.dimensions == 2);
! testStatus = (newdomain3.dimensions == 5) && testStatus;
! testStatus = (newdomain4.dimensions == 6) && testStatus;
! testStatus = (newdomain5.dimensions == 10) && testStatus;
! testStatus = (newdomain6.dimensions == 14) && testStatus;
! testStatus = (newdomain7.dimensions == 11) && testStatus;
! testStatus = (newdomain7a.dimensions == 13) && testStatus;
! reportResults(testNumber++,"Empty Construtor ",testStatus);
!
! //----------------------------------------------------------------------
! // Test Combine Construtor
! //----------------------------------------------------------------------
! testStatus = (newdomain2a[1] == 2 );
! testStatus = (newdomain3a[2] == R2[0]) && testStatus;
! testStatus = (newdomain4a[5] == Loc<1>(2)) && testStatus ;
! testStatus = (newdomain5a[4] == Loc<1>(999))&& testStatus ;
! testStatus = (newdomain6a[12] == D2) && testStatus;
! //testStatus = (newdomain7a[11] == Range<1>(-100,100,20)) && testStatus;
! reportResults(testNumber++,"Combine Construtor ",testStatus);
!
! //----------------------------------------------------------------------
! // Test Fill Construtor
! //----------------------------------------------------------------------
! NewDomain2<Loc<1>,int>::fill(newdomain2,D1,2);
! testStatus = (newdomain2a ==newdomain2 );
! NewDomain6<Loc<2>,Range<2>,int,Loc<4>,Loc<4>,int>::fill
! ( newdomain6,newdomain2a,R1,99,Loc<4>(newdomain2a,newdomain2a),Loc<4>
! (newdomain2a,newdomain2a),999);
! testStatus = (newdomain6a ==newdomain6 ) && testStatus;
! NewDomain5<Loc<2>,Range<2>,int,Loc<4>,int>::fill(
! newdomain5,newdomain2a,R2,999,Loc<4>(D1,D2,newdomain2a),999);
! testStatus = (newdomain5a == newdomain5) && testStatus ;
! reportResults(testNumber++,"Fill Construtor ",testStatus);
! } // end try
!
! catch (const char *err)
! { uncaughtErrorReport(err,testNumber); }
! catch(const Pooma::Assertion &err)
! {uncaughtErrorReport(err.what(),testNumber); }
! catch(...)
! { cerr << "Unknow exception!" << endl; }
! cout << endl;
!
}
-
-
-
-
-
-
-
-
--- 92,215 ----
NewDomain2<Loc<1>,int>::Type_t newdomain2;
NewDomain2<Loc<1>,int>::Type_t newdomain2a =
! NewDomain2<Loc<1>,int>::combine(D1,2);
! NewDomain3<Loc<2>,Range<2>,int>::Type_t newdomain3;
! NewDomain3<Loc<2>,Range<2>,int>::Type_t newdomain3a =
! NewDomain3<Loc<2>,Range<2>,int>::combine(newdomain2a,R2,999);
NewDomain4<Range<2>,Interval<2>,Loc<1>,Loc<1> >::Type_t newdomain4;
NewDomain4<Range<2>,Interval<2>,Loc<1>,Loc<1> >::Type_t newdomain4a =
! NewDomain4<Range<2>,Interval<2>,Loc<1>,Loc<1> >::combine(R2,I2,D1,D2);
NewDomain5<Loc<2>,Range<2>,int,Loc<4>,int>::Type_t newdomain5;
NewDomain5<Loc<2>,Range<2>,int,Loc<4>,int>::Type_t newdomain5a =
! NewDomain5<Loc<2>,Range<2>,int,Loc<4>,int>::combine
! (newdomain2a,R2,999,Loc<4>(D1,D2,newdomain2a),999);
NewDomain6<Loc<2>,Range<2>,int,Loc<4>,Loc<4>,int>::Type_t newdomain6;
NewDomain6<Loc<2>,Range<2>,int,Loc<4>,Loc<4>,int>::Type_t newdomain6a =
! NewDomain6<Loc<2>,Range<2>,int,Loc<4>,Loc<4>,int>::combine
! (newdomain2a,R1,99,Loc<4>(newdomain2a,newdomain2a),Loc<4>
! (newdomain2a,newdomain2a),999);
NewDomain7<Range<2>,Range<2>,Loc<1>,Loc<1>,Interval<2>,Interval<2>,
! int>::Type_t newdomain7;
NewDomain7<Range<2>,Range<2>,Loc<1>,Loc<2>,Interval<2>,Interval<2>,
! Range<2> >::Type_t newdomain7a = NewDomain7<Range<2>,Range<2>,Loc<1>,
! Loc<2>,Interval<2>,Interval<2>,Range<2> >::combine(R1,R2,D1,newdomain2a,
! I1,I2,R2);
if (debug){
! std::cout << "================================================================"
! << std::endl;
! std::cout << std::endl;
! std::cout << " NewDomain7<Range<2>,Range<2>,Loc<1>,Loc<2>,Interval<2>, Interval<2>,int>::combine(R1,R2,D1,newdomain2a,I1,I2,999) " << newdomain7a << std::endl;
! std::cout << " R1 " << R1 << std::endl;
! std::cout << " R2 " << R2 << std::endl;
! std::cout << " D1 " << D1 << std::endl;
! std::cout << " newdomain2a " << newdomain2a << std::endl;
! std::cout << " I1 " << I1 << std::endl;
! std::cout << " I2 " << I2 << std::endl;
! std::cout << " newdomain2 " << newdomain2 << std::endl;
! std::cout << " newdomain2a " << newdomain2a << std::endl;
! std::cout << " newdomain3 " << newdomain3 << std::endl;
! std::cout << " newdomain3a " << newdomain3a << std::endl;
! std::cout << " newdomain4 " << newdomain4 << std::endl;
! std::cout << " newdomain4a " << newdomain4a << std::endl;
! std::cout << " newdomain5 " << newdomain5 << std::endl;
! std::cout << " newdomain5a \n" << " " << newdomain5a << std::endl;
! std::cout << " newdomain6 \n " << " " << newdomain6 << std::endl;
! std::cout << " newdomain6a \n " << " " << newdomain6a << std::endl;
! std::cout << " newdomain7 \n " << " " << newdomain7 << std::endl;
! std::cout << " newdomain7a \n " << " " << newdomain7a << std::endl;
! std::cout << " newdomain2.dimensions " << newdomain2.dimensions << std::endl;
! std::cout << " newdomain3.dimensions " << newdomain3.dimensions << std::endl;
! std::cout << " newdomain4.dimensions " << newdomain4.dimensions << std::endl;
! std::cout << " newdomain5.dimensions " << newdomain5.dimensions << std::endl;
! std::cout << " newdomain6.dimensions " << newdomain6.dimensions << std::endl;
! std::cout << " newdomain7.dimensions " << newdomain7.dimensions << std::endl;
! std::cout << " newdomain2a.dimensions " << newdomain2a.dimensions << std::endl;
! std::cout << " newdomain3a.dimensions " << newdomain3a.dimensions << std::endl;
! std::cout << " newdomain4a.dimensions " << newdomain4a.dimensions << std::endl;
! std::cout << " newdomain5a.dimensions " << newdomain5a.dimensions << std::endl;
! std::cout << " newdomain6a.dimensions " << newdomain6a.dimensions << std::endl;
! std::cout << " newdomain7a.dimensions " << newdomain7a.dimensions << std::endl;
! std::cout << std::endl;
! std::cout << "================================================================" << std::endl;
}
! std::cout << "Testing NewDomain<*> constructors methods:" << std::endl;
! std::cout << "----------------------------------------------------------" << std::endl;
! try {
! //----------------------------------------------------------------------
! // Test NewDomain Construtor
! //----------------------------------------------------------------------
!
! testStatus = (newdomain2.dimensions == 2);
! testStatus = (newdomain3.dimensions == 5) && testStatus;
! testStatus = (newdomain4.dimensions == 6) && testStatus;
! testStatus = (newdomain5.dimensions == 10) && testStatus;
! testStatus = (newdomain6.dimensions == 14) && testStatus;
! testStatus = (newdomain7.dimensions == 11) && testStatus;
! testStatus = (newdomain7a.dimensions == 13) && testStatus;
! reportResults(testNumber++,"Empty Construtor ",testStatus);
!
! //----------------------------------------------------------------------
! // Test Combine Construtor
! //----------------------------------------------------------------------
! testStatus = (newdomain2a[1] == 2 );
! testStatus = (newdomain3a[2] == R2[0]) && testStatus;
! testStatus = (newdomain4a[5] == Loc<1>(2)) && testStatus ;
! testStatus = (newdomain5a[4] == Loc<1>(999))&& testStatus ;
! testStatus = (newdomain6a[12] == D2) && testStatus;
! //testStatus = (newdomain7a[11] == Range<1>(-100,100,20)) && testStatus;
! reportResults(testNumber++,"Combine Construtor ",testStatus);
!
! //----------------------------------------------------------------------
! // Test Fill Construtor
! //----------------------------------------------------------------------
! NewDomain2<Loc<1>,int>::fill(newdomain2,D1,2);
! testStatus = (newdomain2a ==newdomain2 );
! NewDomain6<Loc<2>,Range<2>,int,Loc<4>,Loc<4>,int>::fill
! ( newdomain6,newdomain2a,R1,99,Loc<4>(newdomain2a,newdomain2a),Loc<4>
! (newdomain2a,newdomain2a),999);
! testStatus = (newdomain6a ==newdomain6 ) && testStatus;
! NewDomain5<Loc<2>,Range<2>,int,Loc<4>,int>::fill(
! newdomain5,newdomain2a,R2,999,Loc<4>(D1,D2,newdomain2a),999);
! testStatus = (newdomain5a == newdomain5) && testStatus ;
! reportResults(testNumber++,"Fill Construtor ",testStatus);
! } // end try
!
! catch (const char *err)
! { uncaughtErrorReport(err,testNumber); }
! catch(const Pooma::Assertion &err)
! {uncaughtErrorReport(err.what(),testNumber); }
! catch(...)
! { cerr << "Unknow exception!" << std::endl; }
! std::cout << std::endl;
}
Index: Domain/Range/Constructors/RangeConstructor.cpp
===================================================================
RCS file: /home/pooma/Repository/r2/test/Domain/Range/Constructors/RangeConstructor.cpp,v
retrieving revision 1.6
diff -c -p -r1.6 RangeConstructor.cpp
*** Domain/Range/Constructors/RangeConstructor.cpp 1999/03/02 23:12:23 1.6
--- Domain/Range/Constructors/RangeConstructor.cpp 2001/03/15 06:27:55
*************** void reportResults(int n, char *test, bo
*** 18,31 ****
{
char* statusString = "passed";
if(!testStatus) statusString = "failed";
! cout << " Test " << setw(3) << n << ", "
! << setw(10) << test << ": " << statusString << "\n";
}
void uncaughtErrorReport(const char *what, int n)
{
! cerr << "\nAck! Caught assertion during test # " << n << ":" << endl;
! cerr << what << endl;
}
--- 18,31 ----
{
char* statusString = "passed";
if(!testStatus) statusString = "failed";
! std::cout << " Test " << std::setw(3) << n << ", "
! << std::setw(10) << test << ": " << statusString << "\n";
}
void uncaughtErrorReport(const char *what, int n)
{
! std::cerr << "\nAck! Caught assertion during test # " << n << ":" << std::endl;
! std::cerr << what << std::endl;
}
*************** main(int argc, char *argv[]) {
*** 40,67 ****
if ((argc > 1) && (!strcmp(argv[1],"-d"))) debug = 1;
! cout << "\n"
! << " ==============================================================\n"
! << " Domain test for Constructors on Range<N> object \n"
! << " ==============================================================\n"
! << endl;
if (debug){
! cout << "=========================DEBUG==================================="
! << endl;
! cout << "Range represents a sequence of integers [a,a+s,... b], with "
! << endl;
! cout << "endpoints a and b, and stride s. Each dimension is independent"
! << endl;
! cout << "of the other. The endpoints may be positive or negative." << endl;
! cout << endl;
! cout << "If you construct a Range with 2 dimensions [Range<2> a2i]" << endl;
! cout << "and only give it one value [Range<2> a2ia(1))] the second dimension" << endl;
! cout << "value will not be intitalized to 0 but will have ramdom junk. I"
! << endl;
! cout << "have not come up with a way to do a pass/fail on the feature."
! << endl;
! cout << "Float and Double values are truncated." << endl;
}
Range<1> a1(1);
--- 40,67 ----
if ((argc > 1) && (!strcmp(argv[1],"-d"))) debug = 1;
! std::cout << "\n"
! << " ==============================================================\n"
! << " Domain test for Constructors on Range<N> object \n"
! << " ==============================================================\n"
! << std::endl;
if (debug){
! std::cout << "=========================DEBUG==================================="
! << std::endl;
! std::cout << "Range represents a sequence of integers [a,a+s,... b], with "
! << std::endl;
! std::cout << "endpoints a and b, and stride s. Each dimension is independent"
! << std::endl;
! std::cout << "of the other. The endpoints may be positive or negative." << std::endl;
! std::cout << std::endl;
! std::cout << "If you construct a Range with 2 dimensions [Range<2> a2i]" << std::endl;
! std::cout << "and only give it one value [Range<2> a2ia(1))] the second dimension" << std::endl;
! std::cout << "value will not be intitalized to 0 but will have ramdom junk. I"
! << std::endl;
! std::cout << "have not come up with a way to do a pass/fail on the feature."
! << std::endl;
! std::cout << "Float and Double values are truncated." << std::endl;
}
Range<1> a1(1);
*************** main(int argc, char *argv[]) {
*** 82,102 ****
if (debug){
! cout << "Range<1> Length Constructor for test."<< endl;
! cout << " 1D default Range<1> a1(1) " << a1 << endl;
! cout << " 1D default Range<1> a2(-3) " << a2 << endl;
! cout << " 1D default Range<1> a3(3) " << a3 << endl;
! cout << " 1D default Range<1> a4(4) " << a4 << endl;
! cout << " 1D default Range<1> a5(-5) " << a5 << endl;
! cout << " 1D default Range<1> a6(6) " << a6 << endl;
! cout << " 1D default Range<1> a1i(1) " << a1i << endl;
! cout << " 1D default Range<1> a1ia(1,5) " << a1ia << endl;
! cout << " 1D default Range<1> a1ib(0,5) " << a1ib << endl;
! cout << " 1D default Range<1> a1ic(0,6,2) " << a1ic << endl;
! cout << " 1D default Range<1> a1id(2,8,-3) " << a1id << endl;
! cout << " 1D default Range<1> a1ie(0,10,2) " << a1ie << endl;
! cout << " 1D default Range<1> a1if(1,1001,100) " << a1if << endl;
! cout << endl;
}
Range<1> n1(-100);
--- 82,102 ----
if (debug){
! std::cout << "Range<1> Length Constructor for test."<< std::endl;
! std::cout << " 1D default Range<1> a1(1) " << a1 << std::endl;
! std::cout << " 1D default Range<1> a2(-3) " << a2 << std::endl;
! std::cout << " 1D default Range<1> a3(3) " << a3 << std::endl;
! std::cout << " 1D default Range<1> a4(4) " << a4 << std::endl;
! std::cout << " 1D default Range<1> a5(-5) " << a5 << std::endl;
! std::cout << " 1D default Range<1> a6(6) " << a6 << std::endl;
! std::cout << " 1D default Range<1> a1i(1) " << a1i << std::endl;
! std::cout << " 1D default Range<1> a1ia(1,5) " << a1ia << std::endl;
! std::cout << " 1D default Range<1> a1ib(0,5) " << a1ib << std::endl;
! std::cout << " 1D default Range<1> a1ic(0,6,2) " << a1ic << std::endl;
! std::cout << " 1D default Range<1> a1id(2,8,-3) " << a1id << std::endl;
! std::cout << " 1D default Range<1> a1ie(0,10,2) " << a1ie << std::endl;
! std::cout << " 1D default Range<1> a1if(1,1001,100) " << a1if << std::endl;
! std::cout << std::endl;
}
Range<1> n1(-100);
*************** main(int argc, char *argv[]) {
*** 136,177 ****
Range<6> FDR6(DI3,NI1a, DI2);
if (debug){
! cout << " 1D default Range<1> b1(a1if) " << b1 << endl;
! cout << " 2D default Range<2> b2(b1,a1) " << b2 << endl;
! cout << " 3D default Range<3> b3(b2,a3) " << b3 << endl;
! cout << " 4D default Range<4> b4(b3,a4) " << endl;
! cout << " " << b4 << endl;
! cout << " 5D default Range<5> b5(b4,Range<1>(1,5)) " << endl;
! cout << " " << b5 << endl;
! cout << " 6D default Range<6> b6(b5,a6) " << endl;
! cout << " " << b6 << endl;
! cout << " 1D Negative Range<1> n1(-100) " << n1 << endl;
! cout << " 2D Negative Range<2> n2(Range<1>(-100,100,10)," << endl;
! cout << " Range<1>(100,-100,10)) " << n2 << endl;
! cout << " 3D Negative Range<3> n3(n2,a1) " << endl;
! cout << " " << n3 << endl;
!
! cout << " 2D Mixed object Range<2> RL2(Loc<1> L1,Range<2>b1 " << endl;
! cout << " " << RL2 << endl;
! cout << " 3D Mixed object Range<3> RL3(RL1,L1) " << endl;
! cout << " " << RL3 << endl;
! cout << " 4D Mixed object Range<4> RL4(RL3,I1) = " << endl;
! cout << " " << RL4 << endl;
! cout << " 5D Mixed object Range<5> RL5(I2,RL3) " << endl;
! cout << " " << RL5 << endl;
! cout << " 2D Mixed object Negative Range<2> NRL2(NI1,Interval<1>(-6,0)) "<< endl;
! cout << " " << NRL2 << endl;
! cout << " 3D Mixed object Negative Range<3> NRL3(NRL2,NI1a) " << endl;
! cout << " " << NRL3 << endl;
! cout << " 5D Mixed object Negative Range<5> NRL5(NL1,NRL2,NI1a) "
! << endl;
! cout << " " << NRL5 << endl;
! cout << " 6D Mixed object DF Range<6> FDR6(DI3,NI1a, DI2) "
! << endl;
! cout << " " << FDR6 << endl;
! cout << "=========================END DEBUG============================"
! << endl;
! cout << endl;
}
try {
testStatus = (a3 == Range<1>(3));
--- 136,177 ----
Range<6> FDR6(DI3,NI1a, DI2);
if (debug){
! std::cout << " 1D default Range<1> b1(a1if) " << b1 << std::endl;
! std::cout << " 2D default Range<2> b2(b1,a1) " << b2 << std::endl;
! std::cout << " 3D default Range<3> b3(b2,a3) " << b3 << std::endl;
! std::cout << " 4D default Range<4> b4(b3,a4) " << std::endl;
! std::cout << " " << b4 << std::endl;
! std::cout << " 5D default Range<5> b5(b4,Range<1>(1,5)) " << std::endl;
! std::cout << " " << b5 << std::endl;
! std::cout << " 6D default Range<6> b6(b5,a6) " << std::endl;
! std::cout << " " << b6 << std::endl;
! std::cout << " 1D Negative Range<1> n1(-100) " << n1 << std::endl;
! std::cout << " 2D Negative Range<2> n2(Range<1>(-100,100,10)," << std::endl;
! std::cout << " Range<1>(100,-100,10)) " << n2 << std::endl;
! std::cout << " 3D Negative Range<3> n3(n2,a1) " << std::endl;
! std::cout << " " << n3 << std::endl;
!
! std::cout << " 2D Mixed object Range<2> RL2(Loc<1> L1,Range<2>b1 " << std::endl;
! std::cout << " " << RL2 << std::endl;
! std::cout << " 3D Mixed object Range<3> RL3(RL1,L1) " << std::endl;
! std::cout << " " << RL3 << std::endl;
! std::cout << " 4D Mixed object Range<4> RL4(RL3,I1) = " << std::endl;
! std::cout << " " << RL4 << std::endl;
! std::cout << " 5D Mixed object Range<5> RL5(I2,RL3) " << std::endl;
! std::cout << " " << RL5 << std::endl;
! std::cout << " 2D Mixed object Negative Range<2> NRL2(NI1,Interval<1>(-6,0)) "<< std::endl;
! std::cout << " " << NRL2 << std::endl;
! std::cout << " 3D Mixed object Negative Range<3> NRL3(NRL2,NI1a) " << std::endl;
! std::cout << " " << NRL3 << std::endl;
! std::cout << " 5D Mixed object Negative Range<5> NRL5(NL1,NRL2,NI1a) "
! << std::endl;
! std::cout << " " << NRL5 << std::endl;
! std::cout << " 6D Mixed object DF Range<6> FDR6(DI3,NI1a, DI2) "
! << std::endl;
! std::cout << " " << FDR6 << std::endl;
! std::cout << "=========================END DEBUG============================"
! << std::endl;
! std::cout << std::endl;
}
try {
testStatus = (a3 == Range<1>(3));
*************** main(int argc, char *argv[]) {
*** 209,216 ****
catch(const Pooma::Assertion &err)
{uncaughtErrorReport(err.what(),testNumber); }
catch(...)
! { cerr << "Unknown exception!" << endl; }
! cout << endl;
Pooma::finalize();
}
--- 209,216 ----
catch(const Pooma::Assertion &err)
{uncaughtErrorReport(err.what(),testNumber); }
catch(...)
! { std::cerr << "Unknown exception!" << std::endl; }
! std::cout << std::endl;
Pooma::finalize();
}
Index: Domain/Range/Constructors/makefile
===================================================================
RCS file: /home/pooma/Repository/r2/test/Domain/Range/Constructors/makefile,v
retrieving revision 1.2
diff -c -p -r1.2 makefile
*** Domain/Range/Constructors/makefile 1998/10/25 00:08:47 1.2
--- Domain/Range/Constructors/makefile 2001/03/15 06:27:55
*************** include $(PROJECT_ROOT)/config/head.mk
*** 6,11 ****
default:: $(ODIR)/RangeConstructor
! $(ODIR)/LocOperations: $(ODIR)/RangeOperations.o
$(LinkToSuite)
include $(SHARED_ROOT)/tail.mk
--- 6,11 ----
default:: $(ODIR)/RangeConstructor
! $(ODIR)/RangeConstructor: $(ODIR)/RangeConstructor.o
$(LinkToSuite)
include $(SHARED_ROOT)/tail.mk
Index: Engine/BrickEngine/BrickEngine/BrickEngineTest.cpp
===================================================================
RCS file: /home/pooma/Repository/r2/test/Engine/BrickEngine/BrickEngine/BrickEngineTest.cpp,v
retrieving revision 1.18
diff -c -p -r1.18 BrickEngineTest.cpp
*** Engine/BrickEngine/BrickEngine/BrickEngineTest.cpp 1999/03/25 19:03:21 1.18
--- Engine/BrickEngine/BrickEngine/BrickEngineTest.cpp 2001/03/15 06:27:56
*************** main(int argc, char* argv[]) {
*** 269,275 ****
++testNumber;
{
! typedef Engine3Df_t::BaseDomain_t Try_t;
typedef Range<3> Correct_t;
testStatus = TypeMatchTester<Try_t,Correct_t>::Result;
}
--- 269,275 ----
++testNumber;
{
! typedef Engine3Df_t::Base_t Try_t;
typedef Range<3> Correct_t;
testStatus = TypeMatchTester<Try_t,Correct_t>::Result;
}
Index: Shared/dclock.cpp
===================================================================
RCS file: /home/pooma/Repository/r2/test/Shared/dclock.cpp,v
retrieving revision 1.1
diff -c -p -r1.1 dclock.cpp
*** Shared/dclock.cpp 1998/10/29 17:29:57 1.1
--- Shared/dclock.cpp 2001/03/15 06:27:56
***************
*** 5,10 ****
--- 5,12 ----
//-----------------------------------------------------------------------------
#include <time.h>
+ #include <sys/times.h>
+ #include <stdlib.h>
extern "C"
{
*************** void dclock_init()
*** 15,23 ****
double dclock()
{
! struct timespec ts;
! clock_gettime(CLOCK_SGI_CYCLE,&ts);
! return ts.tv_sec + 1e-9*ts.tv_nsec;
}
};
--- 17,27 ----
double dclock()
{
! struct tms ts;
! clock_t answer = times(&ts);
! if (answer == static_cast<clock_t>(-1))
! abort();
! return static_cast<double>(answer) / CLOCKS_PER_SEC;
}
};
Index: Utilities/RefCounting/RefCountedBlockPtr/RefCountedBlockPtrTest.cpp
===================================================================
RCS file: /home/pooma/Repository/r2/test/Utilities/RefCounting/RefCountedBlockPtr/RefCountedBlockPtrTest.cpp,v
retrieving revision 1.12
diff -c -p -r1.12 RefCountedBlockPtrTest.cpp
*** Utilities/RefCounting/RefCountedBlockPtr/RefCountedBlockPtrTest.cpp 1999/03/02 23:15:47 1.12
--- Utilities/RefCounting/RefCountedBlockPtr/RefCountedBlockPtrTest.cpp 2001/03/15 06:27:56
*************** main(int argc, char* argv[]) {
*** 363,370 ****
fptrT_t fp2(fp1+4,16);
float fdiff = zero;
! for(int i = 0; i < 16; i++) fdiff += abs(fp2[i] - fp1[i+4]);
! int itrunc1 = fp2[4];
testStatus = (fdiff == zero) && (itrunc1 == 108) && testStatus;
testStatus = fp2.isValid() && !fp2.isShared();
--- 363,370 ----
fptrT_t fp2(fp1+4,16);
float fdiff = zero;
! for(int i = 0; i < 16; i++) fdiff += fabs(fp2[i] - fp1[i+4]);
! int itrunc1 = static_cast<int>(fp2[4]);
testStatus = (fdiff == zero) && (itrunc1 == 108) && testStatus;
testStatus = fp2.isValid() && !fp2.isShared();
*************** main(int argc, char* argv[]) {
*** 380,386 ****
++testNumber;
try {
! itrunc1 = fp2[30];
throw reportResults(testNumber,"constructor; user-allocated pointer, II",
false);
}
--- 380,386 ----
++testNumber;
try {
! itrunc1 = static_cast<int>(fp2[30]);
throw reportResults(testNumber,"constructor; user-allocated pointer, II",
false);
}
*************** main(int argc, char* argv[]) {
*** 400,406 ****
testStatus = fp4.isValid() && fp4.isShared() && testStatus;
fdiff = zero;
! for(int i = 0; i < 16; i++) fdiff += abs(fp2[i] - fp3[i]);
testStatus = (fdiff == zero) && testStatus;
testStatus = (fp4 == fp2) && testStatus;
reportResults(testNumber,"assignment functions (both BC polarities)",
--- 400,406 ----
testStatus = fp4.isValid() && fp4.isShared() && testStatus;
fdiff = zero;
! for(int i = 0; i < 16; i++) fdiff += fabs(fp2[i] - fp3[i]);
testStatus = (fdiff == zero) && testStatus;
testStatus = (fp4 == fp2) && testStatus;
reportResults(testNumber,"assignment functions (both BC polarities)",
*************** main(int argc, char* argv[]) {
*** 440,453 ****
testStatus);
! //----------------------------------------------------
! // test 16: pointers, II: begin(), end(), isInBounds()
! //----------------------------------------------------
++testNumber;
// test pointer arithmetic operators +=, -=, +, - and
! // functions begin(), end(), isInBounds()
iptrT_t ip13(19,0);
testStatus = (ip13 == ip13.begin());
--- 440,453 ----
testStatus);
! //--------------------------------------
! // test 16: pointers, II: begin(), end()
! //--------------------------------------
++testNumber;
// test pointer arithmetic operators +=, -=, +, - and
! // functions begin(), end()
iptrT_t ip13(19,0);
testStatus = (ip13 == ip13.begin());
*************** main(int argc, char* argv[]) {
*** 457,466 ****
ip13 += 3;
}
- testStatus = ip13.isInBounds() && testStatus;
testStatus = ((ip13+1) == ip13.end()) && testStatus;
ip13 += 1;
- testStatus = !ip13.isInBounds() && testStatus;
// ip13 is now past end of block; need to reset to beginning for
// correct operator [] access. Note, however, that operator []
--- 457,464 ----
*************** main(int argc, char* argv[]) {
*** 476,484 ****
ip13 -= 10;
testStatus = (*ip13 == 3) && testStatus;
ip13 -= 30;
- testStatus = !ip13.isInBounds() && testStatus;
! reportResults(testNumber,"pointers, II: begin(), end(), isInBounds()",
testStatus);
--- 474,481 ----
ip13 -= 10;
testStatus = (*ip13 == 3) && testStatus;
ip13 -= 30;
! reportResults(testNumber,"pointers, II: begin(), end()",
testStatus);
More information about the pooma-dev
mailing list