# HG changeset patch # User alpar # Date 1090317011 0 # Node ID b6c56353832c0e7003ef23a80fbfa20c31a45582 # Parent 891f99700ea1adceabfe3564e9c31c6e1f12f495 Some tools of common usage was put to bench_tool.h diff -r 891f99700ea1 -r b6c56353832c src/benchmark/Makefile.am --- a/src/benchmark/Makefile.am Tue Jul 20 09:43:12 2004 +0000 +++ b/src/benchmark/Makefile.am Tue Jul 20 09:50:11 2004 +0000 @@ -2,6 +2,6 @@ noinst_PROGRAMS = graph-bench hcube -graph_bench_SOURCES = graph-bench.cc +graph_bench_SOURCES = graph-bench.cc bench_tools.h -hcube_SOURCES = hcube.cc +hcube_SOURCES = hcube.cc bench_tools.h diff -r 891f99700ea1 -r b6c56353832c src/benchmark/bench_tools.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/benchmark/bench_tools.h Tue Jul 20 09:50:11 2004 +0000 @@ -0,0 +1,73 @@ +// -*- mode:C++ -*- +#ifndef HUGO_BENCH_TEST_H +#define HUGO_BENCH_TEST_H + +#include + +///An experimental typedef factory +#define GRAPH_TYPEDEF_FACTORY(Graph) \ + typedef typename Graph:: Node Node;\ + typedef typename Graph:: NodeIt NodeIn;\ + typedef typename Graph:: Edge Edge;\ + typedef typename Graph:: EdgeIt EdgeIt;\ + typedef typename Graph:: InEdgeIt InEdgeIt;\ + typedef typename Graph::OutEdgeIt OutEdgeIt; + +#define GRAPH_TYPEDEF_FACTORY_NOTYPENAME(Graph) \ + typedef Graph:: Node Node;\ + typedef Graph:: NodeIt NodeIn;\ + typedef Graph:: Edge Edge;\ + typedef Graph:: EdgeIt EdgeIt;\ + typedef Graph:: InEdgeIt InEdgeIt;\ + typedef Graph::OutEdgeIt OutEdgeIt; + + +///A primitive primtest +bool isPrim(int n) +{ + if(n%2) { + for(int k=3;n/k>=k;k+=2) + if(!(n%k)) return false; + return true; + } + return false; +} + +///Finds the smallest prime not less then \c n. +int nextPrim(int n) +{ + for(n+=!(n%2);!isPrim(n);n+=2) ; + return n; +} + + +/// Class to generate consecutive primes +class Primes +{ + std::vector primes; + int n; + + bool isPrime(int m) + { + for(int i=0;m #include #include -#include -#include + +#include"bench_tools.h" using namespace hugo; -///An experimental typedef factory -#define GRAPH_TYPEDEF_FACTORY(Graph) \ - typedef typename Graph:: Node Node;\ - typedef typename Graph:: NodeIt NodeIn;\ - typedef typename Graph:: Edge Edge;\ - typedef typename Graph:: EdgeIt EdgeIt;\ - typedef typename Graph:: InEdgeIt InEdgeIt;\ - typedef typename Graph::OutEdgeIt OutEdgeIt; - - -///A primitive primtest -bool isPrim(int n) -{ - if(n%2) { - for(int k=3;n/k>=k;k+=2) - if(!(n%k)) return false; - return true; - } - return false; -} - -///Finds the smallest prime not less then \c n. -int nextPrim(int n) -{ - for(n+=!(n%2);!isPrim(n);n+=2) ; - return n; -} - ///Makes a full graph by adding and deleting a lot of edges; ///\param n Number of nodes. diff -r 891f99700ea1 -r b6c56353832c src/benchmark/hcube.cc --- a/src/benchmark/hcube.cc Tue Jul 20 09:43:12 2004 +0000 +++ b/src/benchmark/hcube.cc Tue Jul 20 09:50:11 2004 +0000 @@ -6,56 +6,12 @@ #include #include #include -#include<../work/jacint/max_flow.h> +//#include<../work/jacint/max_flow.h> +#include"bench_tools.h" using namespace std; using namespace hugo; -///An experimental typedef factory -#define GRAPH_TYPEDEF_FACTORY(Graph) \ - typedef typename Graph:: Node Node;\ - typedef typename Graph:: NodeIt NodeIn;\ - typedef typename Graph:: Edge Edge;\ - typedef typename Graph:: EdgeIt EdgeIt;\ - typedef typename Graph:: InEdgeIt InEdgeIt;\ - typedef typename Graph::OutEdgeIt OutEdgeIt; - -#define GRAPH_TYPEDEF_FACTORY_NOTYPENAME(Graph) \ - typedef Graph:: Node Node;\ - typedef Graph:: NodeIt NodeIn;\ - typedef Graph:: Edge Edge;\ - typedef Graph:: EdgeIt EdgeIt;\ - typedef Graph:: InEdgeIt InEdgeIt;\ - typedef Graph::OutEdgeIt OutEdgeIt; - - -class Primes -{ - vector primes; - int n; - - bool isPrime(int m) - { - for(int i=0;m void addHiperCube(Graph &G,int dim,vector &nodes) {