updated tests
This commit is contained in:
@@ -3,7 +3,9 @@
|
||||
#include <assert.h>
|
||||
#include <time.h>
|
||||
#include <stdio.h>
|
||||
#include <resourceLib.h>
|
||||
|
||||
#include "resourceLib.h"
|
||||
#include "resourceLib.cc"
|
||||
|
||||
#ifdef SUNOS4
|
||||
#ifndef CLOCKS_PER_SEC
|
||||
@@ -11,7 +13,7 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
class fred : public uintId, tsSLNode<fred> {
|
||||
class fred : public uintId, public tsSLNode<fred> {
|
||||
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<jane> {
|
||||
class jane : public stringId, public tsSLNode<jane> {
|
||||
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<fred,uintId>;
|
||||
template class resTable<jane,stringId>;
|
||||
#endif
|
||||
|
||||
main()
|
||||
{
|
||||
unsigned i;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -6,6 +6,13 @@
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
/*
|
||||
* gnuc does not provide this under sunos4
|
||||
*/
|
||||
#if !defined(CLOCKS_PER_SEC) && defined(SUNOS4)
|
||||
# define CLOCKS_PER_SEC 1000000
|
||||
#endif
|
||||
|
||||
class fred : public tsSLNode<fred> {
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,9 @@
|
||||
#include <assert.h>
|
||||
#include <time.h>
|
||||
#include <stdio.h>
|
||||
#include <resourceLib.h>
|
||||
|
||||
#include "resourceLib.h"
|
||||
#include "resourceLib.cc"
|
||||
|
||||
#ifdef SUNOS4
|
||||
#ifndef CLOCKS_PER_SEC
|
||||
@@ -11,7 +13,7 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
class fred : public uintId, tsSLNode<fred> {
|
||||
class fred : public uintId, public tsSLNode<fred> {
|
||||
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<jane> {
|
||||
class jane : public stringId, public tsSLNode<jane> {
|
||||
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<fred,uintId>;
|
||||
template class resTable<jane,stringId>;
|
||||
#endif
|
||||
|
||||
main()
|
||||
{
|
||||
unsigned i;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -6,6 +6,13 @@
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
/*
|
||||
* gnuc does not provide this under sunos4
|
||||
*/
|
||||
#if !defined(CLOCKS_PER_SEC) && defined(SUNOS4)
|
||||
# define CLOCKS_PER_SEC 1000000
|
||||
#endif
|
||||
|
||||
class fred : public tsSLNode<fred> {
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user