From 4dc12e992d2930e06d0056e41e870845891bb260 Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Wed, 22 Jan 1997 21:14:50 +0000 Subject: [PATCH] updated tests --- src/cxxTemplates/test/resourceLibTest.cc | 23 ++++++++++++++++--- src/cxxTemplates/test/tsDLListBench.cc | 6 ++--- src/cxxTemplates/test/tsDLListTest.cc | 14 +++++------ src/cxxTemplates/test/tsSLListBench.cc | 13 ++++++++--- src/cxxTemplates/test/tsSLListTest.cc | 8 +++---- .../cxxTemplates/test/resourceLibTest.cc | 23 ++++++++++++++++--- src/libCom/cxxTemplates/test/tsDLListBench.cc | 6 ++--- src/libCom/cxxTemplates/test/tsDLListTest.cc | 14 +++++------ src/libCom/cxxTemplates/test/tsSLListBench.cc | 13 ++++++++--- src/libCom/cxxTemplates/test/tsSLListTest.cc | 8 +++---- 10 files changed, 88 insertions(+), 40 deletions(-) diff --git a/src/cxxTemplates/test/resourceLibTest.cc b/src/cxxTemplates/test/resourceLibTest.cc index a527767cb..05cad10e6 100644 --- a/src/cxxTemplates/test/resourceLibTest.cc +++ b/src/cxxTemplates/test/resourceLibTest.cc @@ -3,7 +3,9 @@ #include #include #include -#include + +#include "resourceLib.h" +#include "resourceLib.cc" #ifdef SUNOS4 #ifndef CLOCKS_PER_SEC @@ -11,7 +13,7 @@ #endif #endif -class fred : public uintId, tsSLNode { +class fred : public uintId, public tsSLNode { public: fred (const char *pNameIn, unsigned idIn) : pName(pNameIn), uintId(idIn) {} @@ -23,11 +25,26 @@ private: const char * const pName; }; -class jane : public stringId, tsSLNode { +class jane : public stringId, public tsSLNode { public: jane (const char *pNameIn) : stringId(pNameIn) {} }; +// +// Sun C++ 4.1 still appears to be lacking support in this area +// +#if !defined(__SUNPRO_CC) + // + // From Stroustrups's "The C++ Programming Language" + // Appendix A: r.14.9 + // + // This explicitly instantiates the template class's member + // functions into "templInst.o" + // + template class resTable; + template class resTable; +#endif + main() { unsigned i; diff --git a/src/cxxTemplates/test/tsDLListBench.cc b/src/cxxTemplates/test/tsDLListBench.cc index 07c377747..a37dd938b 100644 --- a/src/cxxTemplates/test/tsDLListBench.cc +++ b/src/cxxTemplates/test/tsDLListBench.cc @@ -41,14 +41,14 @@ main () clk = clock(); iter = list; - while (pFred = iter()) { + while ( (pFred = iter()) ) { pFred->inc(); } diff = clock() - clk; delay = diff; delay = delay/CLOCKS_PER_SEC; delay = delay/LOOPCOUNT; - printf("delay = %15.10lf\n", delay); + printf("delay = %15.10f\n", delay); pFred = new fred(); clk = clock(); @@ -60,6 +60,6 @@ main () delay = diff; delay = delay/CLOCKS_PER_SEC; delay = delay/LOOPCOUNT; - printf("delay = %15.10lf\n", delay); + printf("delay = %15.10f\n", delay); } diff --git a/src/cxxTemplates/test/tsDLListTest.cc b/src/cxxTemplates/test/tsDLListTest.cc index 728a7e746..cb98997ca 100644 --- a/src/cxxTemplates/test/tsDLListTest.cc +++ b/src/cxxTemplates/test/tsDLListTest.cc @@ -53,7 +53,7 @@ main () list.add(* new fred("D")); iter.reset(); - while (pFredBack = iter()) { + while ( (pFredBack = iter()) ) { pFredBack->show(); } @@ -62,27 +62,27 @@ main () pJane = new jane("JB"); janeList.add(*pJane); - while (pJane = janeFwdIter()) { + while ( (pJane = janeFwdIter()) ) { pJane->show(); } - while (pJane = janeBwdIter()) { + while ( (pJane = janeBwdIter()) ) { pJane->show(); } iter = list; - while (pFredBack = iter()) { + while ( (pFredBack = iter()) ) { pFredBack->show(); } iter = list; - while (pFredBack = iter()) { + while ( (pFredBack = iter()) ) { iter.remove(); } assert(list.count()==0); janeFwdIter = janeList; - while (pFredBack = janeFwdIter()) { + while ( (pFredBack = janeFwdIter()) ) { janeFwdIter.remove(); } assert(janeList.count()==0); @@ -92,7 +92,7 @@ main () pJane = new jane("JB"); janeList.add(*pJane); janeBwdIter = janeList; - while (pFredBack = janeBwdIter()) { + while ( (pFredBack = janeBwdIter()) ) { janeBwdIter.remove(); } assert(janeList.count()==0); diff --git a/src/cxxTemplates/test/tsSLListBench.cc b/src/cxxTemplates/test/tsSLListBench.cc index e23795b06..be095170e 100644 --- a/src/cxxTemplates/test/tsSLListBench.cc +++ b/src/cxxTemplates/test/tsSLListBench.cc @@ -6,6 +6,13 @@ #include #include +/* + * gnuc does not provide this under sunos4 + */ +#if !defined(CLOCKS_PER_SEC) && defined(SUNOS4) +# define CLOCKS_PER_SEC 1000000 +#endif + class fred : public tsSLNode { public: fred() : count(0) {} @@ -39,14 +46,14 @@ main () clk = clock(); iter = list; - while (pFred = iter()) { + while ( (pFred = iter()) ) { pFred->inc(); } diff = clock() - clk; delay = diff; delay = delay/CLOCKS_PER_SEC; delay = delay/LOOPCOUNT; - printf("delay = %15.10lf\n", delay); + printf("delay = %15.10f\n", delay); pFred = new fred(); clk = clock(); @@ -58,6 +65,6 @@ main () delay = diff; delay = delay/CLOCKS_PER_SEC; delay = delay/LOOPCOUNT; - printf("delay = %15.10lf\n", delay); + printf("delay = %15.10f\n", delay); } diff --git a/src/cxxTemplates/test/tsSLListTest.cc b/src/cxxTemplates/test/tsSLListTest.cc index 0dbd1db71..96a89e6c2 100644 --- a/src/cxxTemplates/test/tsSLListTest.cc +++ b/src/cxxTemplates/test/tsSLListTest.cc @@ -56,7 +56,7 @@ main () list.add(* new fred("C")); list.add(* new fred("D")); - while (pFredBack = iter()) { + while ( (pFredBack = iter()) ) { pFredBack->show(); } @@ -65,15 +65,15 @@ main () pJane = new jane("JB"); janeList.add(*pJane); - while (pJane = janeIter()) { + while ( (pJane = janeIter()) ) { pJane->show(); } - while (pFredBack = iter()) { + while ( (pFredBack = iter()) ) { pFredBack->show(); } - while (pFredBack = iter()) { + while ( (pFredBack = iter()) ) { iter.remove(); } diff --git a/src/libCom/cxxTemplates/test/resourceLibTest.cc b/src/libCom/cxxTemplates/test/resourceLibTest.cc index a527767cb..05cad10e6 100644 --- a/src/libCom/cxxTemplates/test/resourceLibTest.cc +++ b/src/libCom/cxxTemplates/test/resourceLibTest.cc @@ -3,7 +3,9 @@ #include #include #include -#include + +#include "resourceLib.h" +#include "resourceLib.cc" #ifdef SUNOS4 #ifndef CLOCKS_PER_SEC @@ -11,7 +13,7 @@ #endif #endif -class fred : public uintId, tsSLNode { +class fred : public uintId, public tsSLNode { public: fred (const char *pNameIn, unsigned idIn) : pName(pNameIn), uintId(idIn) {} @@ -23,11 +25,26 @@ private: const char * const pName; }; -class jane : public stringId, tsSLNode { +class jane : public stringId, public tsSLNode { public: jane (const char *pNameIn) : stringId(pNameIn) {} }; +// +// Sun C++ 4.1 still appears to be lacking support in this area +// +#if !defined(__SUNPRO_CC) + // + // From Stroustrups's "The C++ Programming Language" + // Appendix A: r.14.9 + // + // This explicitly instantiates the template class's member + // functions into "templInst.o" + // + template class resTable; + template class resTable; +#endif + main() { unsigned i; diff --git a/src/libCom/cxxTemplates/test/tsDLListBench.cc b/src/libCom/cxxTemplates/test/tsDLListBench.cc index 07c377747..a37dd938b 100644 --- a/src/libCom/cxxTemplates/test/tsDLListBench.cc +++ b/src/libCom/cxxTemplates/test/tsDLListBench.cc @@ -41,14 +41,14 @@ main () clk = clock(); iter = list; - while (pFred = iter()) { + while ( (pFred = iter()) ) { pFred->inc(); } diff = clock() - clk; delay = diff; delay = delay/CLOCKS_PER_SEC; delay = delay/LOOPCOUNT; - printf("delay = %15.10lf\n", delay); + printf("delay = %15.10f\n", delay); pFred = new fred(); clk = clock(); @@ -60,6 +60,6 @@ main () delay = diff; delay = delay/CLOCKS_PER_SEC; delay = delay/LOOPCOUNT; - printf("delay = %15.10lf\n", delay); + printf("delay = %15.10f\n", delay); } diff --git a/src/libCom/cxxTemplates/test/tsDLListTest.cc b/src/libCom/cxxTemplates/test/tsDLListTest.cc index 728a7e746..cb98997ca 100644 --- a/src/libCom/cxxTemplates/test/tsDLListTest.cc +++ b/src/libCom/cxxTemplates/test/tsDLListTest.cc @@ -53,7 +53,7 @@ main () list.add(* new fred("D")); iter.reset(); - while (pFredBack = iter()) { + while ( (pFredBack = iter()) ) { pFredBack->show(); } @@ -62,27 +62,27 @@ main () pJane = new jane("JB"); janeList.add(*pJane); - while (pJane = janeFwdIter()) { + while ( (pJane = janeFwdIter()) ) { pJane->show(); } - while (pJane = janeBwdIter()) { + while ( (pJane = janeBwdIter()) ) { pJane->show(); } iter = list; - while (pFredBack = iter()) { + while ( (pFredBack = iter()) ) { pFredBack->show(); } iter = list; - while (pFredBack = iter()) { + while ( (pFredBack = iter()) ) { iter.remove(); } assert(list.count()==0); janeFwdIter = janeList; - while (pFredBack = janeFwdIter()) { + while ( (pFredBack = janeFwdIter()) ) { janeFwdIter.remove(); } assert(janeList.count()==0); @@ -92,7 +92,7 @@ main () pJane = new jane("JB"); janeList.add(*pJane); janeBwdIter = janeList; - while (pFredBack = janeBwdIter()) { + while ( (pFredBack = janeBwdIter()) ) { janeBwdIter.remove(); } assert(janeList.count()==0); diff --git a/src/libCom/cxxTemplates/test/tsSLListBench.cc b/src/libCom/cxxTemplates/test/tsSLListBench.cc index e23795b06..be095170e 100644 --- a/src/libCom/cxxTemplates/test/tsSLListBench.cc +++ b/src/libCom/cxxTemplates/test/tsSLListBench.cc @@ -6,6 +6,13 @@ #include #include +/* + * gnuc does not provide this under sunos4 + */ +#if !defined(CLOCKS_PER_SEC) && defined(SUNOS4) +# define CLOCKS_PER_SEC 1000000 +#endif + class fred : public tsSLNode { public: fred() : count(0) {} @@ -39,14 +46,14 @@ main () clk = clock(); iter = list; - while (pFred = iter()) { + while ( (pFred = iter()) ) { pFred->inc(); } diff = clock() - clk; delay = diff; delay = delay/CLOCKS_PER_SEC; delay = delay/LOOPCOUNT; - printf("delay = %15.10lf\n", delay); + printf("delay = %15.10f\n", delay); pFred = new fred(); clk = clock(); @@ -58,6 +65,6 @@ main () delay = diff; delay = delay/CLOCKS_PER_SEC; delay = delay/LOOPCOUNT; - printf("delay = %15.10lf\n", delay); + printf("delay = %15.10f\n", delay); } diff --git a/src/libCom/cxxTemplates/test/tsSLListTest.cc b/src/libCom/cxxTemplates/test/tsSLListTest.cc index 0dbd1db71..96a89e6c2 100644 --- a/src/libCom/cxxTemplates/test/tsSLListTest.cc +++ b/src/libCom/cxxTemplates/test/tsSLListTest.cc @@ -56,7 +56,7 @@ main () list.add(* new fred("C")); list.add(* new fred("D")); - while (pFredBack = iter()) { + while ( (pFredBack = iter()) ) { pFredBack->show(); } @@ -65,15 +65,15 @@ main () pJane = new jane("JB"); janeList.add(*pJane); - while (pJane = janeIter()) { + while ( (pJane = janeIter()) ) { pJane->show(); } - while (pFredBack = iter()) { + while ( (pFredBack = iter()) ) { pFredBack->show(); } - while (pFredBack = iter()) { + while ( (pFredBack = iter()) ) { iter.remove(); }