diff --git a/Packages/Box_intersection_d/test/Box_intersection_d/Timer.h b/Packages/Box_intersection_d/test/Box_intersection_d/Timer.h deleted file mode 100644 index e18d0b0b570..00000000000 --- a/Packages/Box_intersection_d/test/Box_intersection_d/Timer.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef TIMER_HXX -#define TIMER_HXX - -#include -#include - -struct Timer -{ - public: - struct timeval t1,t2; - - double t; - - void start() - { - gettimeofday (&t1, NULL); - } - - void stop() - { - gettimeofday (&t2, NULL); - t = (t2.tv_sec - t1.tv_sec) + (t2.tv_usec - t1.tv_usec) / 1000000.0; - } - - void reset() - { - t = 0.0; - } -}; - -#endif - diff --git a/Packages/Box_intersection_d/test/Box_intersection_d/automated_test.C b/Packages/Box_intersection_d/test/Box_intersection_d/automated_test.C index a683285492c..868e16c109b 100644 --- a/Packages/Box_intersection_d/test/Box_intersection_d/automated_test.C +++ b/Packages/Box_intersection_d/test/Box_intersection_d/automated_test.C @@ -4,8 +4,7 @@ #include #include - -#include "Timer.h" +#include #include #include @@ -15,6 +14,8 @@ #include #include +bool test_failed = false; + typedef CGAL::Box_intersection_d::Box_d< int, 3 > Box; typedef CGAL::Box_intersection_d::Box_traits_d< Box > Box_adapter; @@ -120,17 +121,18 @@ test( const char* filename1, const char* filename2 ) callback2( result_tree ); std::cout << "all pairs ...... " << std::flush; - Timer timer; + CGAL::Timer timer; timer.start(); CGAL::Box_intersection_d::all_pairs( boxes1.begin(), boxes1.end(), boxes2.begin(), boxes2.end(), callback1, Traits(), 2 ); timer.stop(); std::cout << "got " << callback1.counter << " intersections in " - << timer.t << " seconds." << std::endl; + << timer.time() << " seconds." << std::endl; std::cout << "one way scan ...... " << std::flush; + timer.reset(); timer.start(); CGAL::Box_intersection_d::one_way_scan( boxes1.begin(), boxes1.end(), boxes2.begin(), boxes2.end(), @@ -140,7 +142,7 @@ test( const char* filename1, const char* filename2 ) callback2, Traits(), 2 ); timer.stop(); std::cout << "got " << callback2.counter << " intersections in " - << timer.t << " seconds." << std::endl; + << timer.time() << " seconds." << std::endl; callback2.counter = 0; result_tree.clear(); @@ -154,7 +156,7 @@ test( const char* filename1, const char* filename2 ) callback2, Traits(), cutoff ); timer.stop(); std::cout << "got " << callback2.counter << " intersections in " - << timer.t << " seconds." << std::endl; + << timer.time() << " seconds." << std::endl; if( callback1.counter != callback2.counter ) { unsigned int missing = countMissingItems( result_all_pairs, @@ -163,6 +165,7 @@ test( const char* filename1, const char* filename2 ) std::cout << "!! failed !! " << missing << " missing and " << duplicates << " duplicate intersections in tree result." << std::endl; + test_failed = true; } else std::cout << "--- passed --- " << std::endl; @@ -178,5 +181,8 @@ int main( int argc, char ** argv ) { file2 << "data/test" << n << "_set2.box" << std::ends; test( file1.str().c_str(), file2.str().c_str() ); } + if ( test_failed) + return 1; + return 0; } diff --git a/Packages/Box_intersection_d/test/Box_intersection_d/benchmark.C b/Packages/Box_intersection_d/test/Box_intersection_d/benchmark.C index 9a11f945e53..cf1c8f542a9 100644 --- a/Packages/Box_intersection_d/test/Box_intersection_d/benchmark.C +++ b/Packages/Box_intersection_d/test/Box_intersection_d/benchmark.C @@ -163,7 +163,7 @@ void operator()() { outfile << "# problemsize streamingtime scanningtime" << std::endl; outfile.precision(9); outfile << std::fixed; - for( unsigned int n = 8; n < 2000000; n = (int)(n * 1.3)) { + for( unsigned int n = 1024; n < 200000; n = (int)(n * 8)) { test_n( n, outfile ); } } @@ -204,9 +204,12 @@ int main( int argc, char ** argv ) { test c; c(); - if( failed != 0 ) - std::cout << "a total number of " << failed << " tests failed!" << std::endl; - else - std::cout << "all tests passed." << std::endl; + if( failed != 0 ) { + std::cout << "a total number of " << failed << " tests failed!" + << std::endl; + return 1; + } + std::cout << "all tests passed." << std::endl; + return 0; } diff --git a/Packages/Box_intersection_d/test/Box_intersection_d/makefile b/Packages/Box_intersection_d/test/Box_intersection_d/makefile deleted file mode 100644 index 179ca5cfa7f..00000000000 --- a/Packages/Box_intersection_d/test/Box_intersection_d/makefile +++ /dev/null @@ -1,69 +0,0 @@ -# Created by the script create_makefile -# This is the makefile for compiling a CGAL application. - -#---------------------------------------------------------------------# -# include platform specific settings -#---------------------------------------------------------------------# -# Choose the right include file from the /make directory. - -# CGAL_MAKEFILE = ENTER_YOUR_INCLUDE_MAKEFILE_HERE -include $(CGAL_MAKEFILE) - -#---------------------------------------------------------------------# -# compiler flags -#---------------------------------------------------------------------# - -CXXFLAGS = \ - $(CGAL_CXXFLAGS) \ - $(LONG_NAME_PROBLEM_CXXFLAGS) \ - $(DEBUG_OPT) \ - -I../../include \ - -O2 \ - -falign-functions=4 -fprefetch-loop-arrays -march=pentium3 \ - # -fexpensive-optimizations - -#---------------------------------------------------------------------# -# linker flags -#---------------------------------------------------------------------# - -LIBPATH = \ - $(CGAL_LIBPATH) - -LDFLAGS = \ - $(LONG_NAME_PROBLEM_LDFLAGS) \ - $(CGAL_LDFLAGS) - -#---------------------------------------------------------------------# -# target entries -#---------------------------------------------------------------------# - -all: \ - automated_test$(EXE_EXT) \ - random_set_test$(EXE_EXT) - -automated_test$(EXE_EXT): automated_test$(OBJ_EXT) - $(CGAL_CXX) $(LIBPATH) $(EXE_OPT)automated_test automated_test$(OBJ_EXT) $(LDFLAGS) - -random_set_test$(EXE_EXT): random_set_test$(OBJ_EXT) - $(CGAL_CXX) $(LIBPATH) $(EXE_OPT)random_set_test random_set_test$(OBJ_EXT) $(LDFLAGS) - -benchmark$(EXE_EXT): benchmark$(OBJ_EXT) - $(CGAL_CXX) $(LIBPATH) $(EXE_OPT)benchmark benchmark$(OBJ_EXT) $(LDFLAGS) - -clean: \ - automated_test.clean \ - random_set_test.clean \ - benchmark.clean - -depend: - $(CXX) *.C $(CXXFLAGS) -MM | grep "/KM/projects" -v > .depend - -include .depend - -#---------------------------------------------------------------------# -# suffix rules -#---------------------------------------------------------------------# - -.C$(OBJ_EXT): - $(CGAL_CXX) $(CXXFLAGS) $(OBJ_OPT) $< - diff --git a/Packages/Box_intersection_d/test/Box_intersection_d/random_set_test.C b/Packages/Box_intersection_d/test/Box_intersection_d/random_set_test.C index 0829ceb8f1e..910232a8f40 100644 --- a/Packages/Box_intersection_d/test/Box_intersection_d/random_set_test.C +++ b/Packages/Box_intersection_d/test/Box_intersection_d/random_set_test.C @@ -4,8 +4,7 @@ // compare segment tree against brute force and simple implementations #include #include - -#include "Timer.h" +#include #include #include @@ -134,9 +133,9 @@ test_n( unsigned int n, boxes2 = boxes1; std::cout << std::endl; Counter_callback callback0, callback1, callback2; - Timer timer; + CGAL::Timer timer; - if( n < 20000 ) { + if( n < 5000 ) { std::cout << "all pairs ... " << std::flush; timer.start(); CGAL::Box_intersection_d::all_pairs( boxes1.begin(), boxes1.end(), @@ -144,7 +143,7 @@ test_n( unsigned int n, callback0, Traits(), DIM - 1 ); timer.stop(); std::cout << "got " << callback0.counter << " intersections in " - << timer.t << " seconds." + << timer.time() << " seconds." << std::endl; timer.reset(); } @@ -159,7 +158,7 @@ test_n( unsigned int n, callback1, Traits(), DIM - 1); timer.stop(); std::cout << "got " << callback1.counter << " intersections in " - << timer.t << " seconds." + << timer.time() << " seconds." << std::endl; std::cout << "segment tree ... " << std::flush; @@ -171,7 +170,7 @@ test_n( unsigned int n, callback2, Traits(), cutoff, setting ); timer.stop(); std::cout << "got " << callback2.counter << " intersections in " - << timer.t << " seconds." << std::endl; + << timer.time() << " seconds." << std::endl; if( callback1.counter != callback2.counter || n < 20000 && callback0.counter != callback1.counter ) @@ -193,7 +192,7 @@ void operator()() { std::cout << "-------------------------" << std::endl; std::cout << "DIM = " << DIM << std::endl; std::cout << "-------------------------" << std::endl; - for( unsigned int n = 8; n < 200000; n = (int)(n * 1.3)) { + for( unsigned int n = 1024; n < 200000; n = (int)(n * 8)) { std::cout << "bipartite case: " << std::endl; test_n( n, CGAL::Box_intersection_d::BIPARTITE ); //std::cout << "complete case: " << std::endl; @@ -258,10 +257,12 @@ int main( int argc, char ** argv ) { std::cout << "-------------------------" << std::endl; //d(); - if( failed != 0 ) + if( failed != 0 ) { std::cout << "a total number of " << failed << " tests failed!" << std::endl; - else - std::cout << "all tests passed." << std::endl; + return 1; + } + std::cout << "all tests passed." << std::endl; + return 0; }