# HG changeset patch # User alpar # Date 1162222190 0 # Node ID f6b352fdc6b1dcf53cd5a9dade3b7f649fdd326d # Parent a2ab634541525337adddb0ad296f9b7c39b1c445 Turn off 32 bit only tests. diff -r a2ab63454152 -r f6b352fdc6b1 benchmark/edge_lookup.cc --- a/benchmark/edge_lookup.cc Mon Oct 30 15:23:35 2006 +0000 +++ b/benchmark/edge_lookup.cc Mon Oct 30 15:29:50 2006 +0000 @@ -172,192 +172,192 @@ }; - template - class EdgeLookUp4 - { - public: - GRAPH_TYPEDEFS(typename G) - typedef G Graph; +// template +// class EdgeLookUp4 +// { +// public: +// GRAPH_TYPEDEFS(typename G) +// typedef G Graph; - private: - const Graph &_g; - typename Graph::template NodeMap _start; - typename Graph::template NodeMap _end; - std::vector _edges; +// private: +// const Graph &_g; +// typename Graph::template NodeMap _start; +// typename Graph::template NodeMap _end; +// std::vector _edges; - class EdgeLess { - const Graph &g; - public: - EdgeLess(const Graph &_g) : g(_g) {} - bool operator()(Edge a,Edge b) const - { - return g.target(a)::iterator ei=_edges.end(); - _end[n]=_edges.size(); - std::sort(_edges.begin()+bi,ei,EdgeLess(_g)); - } - ///Refresh the full data structure. - void refresh() - { - _edges.resize(countEdges(_g)); - int l=0; - for(NodeIt n(_g);n!=INVALID;++n) - { - int ls = l; - _start[n]=&(_edges[l]); - for(OutEdgeIt e(_g,n);e!=INVALID;++e) _edges[l++]=e; - _end[n]=&(_edges[l]); - std::sort(_edges.begin()+ls,_edges.begin()+l,EdgeLess(_g)); - } +// public: +// ///Refresh the data structure at a node. +// void refresh(Node n) +// { +// const int bi = _start[n] = _edges.size(); +// for(OutEdgeIt e(_g,n);e!=INVALID;++e) _edges.push_back(e); +// const typename std::vector::iterator ei=_edges.end(); +// _end[n]=_edges.size(); +// std::sort(_edges.begin()+bi,ei,EdgeLess(_g)); +// } +// ///Refresh the full data structure. +// void refresh() +// { +// _edges.resize(countEdges(_g)); +// int l=0; +// for(NodeIt n(_g);n!=INVALID;++n) +// { +// int ls = l; +// _start[n]=&(_edges[l]); +// for(OutEdgeIt e(_g,n);e!=INVALID;++e) _edges[l++]=e; +// _end[n]=&(_edges[l]); +// std::sort(_edges.begin()+ls,_edges.begin()+l,EdgeLess(_g)); +// } - } +// } - ///Find an edge between two nodes. +// ///Find an edge between two nodes. - ///Find an edge between two nodes. - ///\param s The source node - ///\param t The target node - ///\return An edge from \c s to \c t if there exists, - ///\ref INVALID otherwise. +// ///Find an edge between two nodes. +// ///\param s The source node +// ///\param t The target node +// ///\return An edge from \c s to \c t if there exists, +// ///\ref INVALID otherwise. - Edge operator()(Node s, Node t) - { - Edge *a=_start[s]; - Edge *b=_end[s]; - while(a!=b) - { -// #ifdef X86 - Edge *m=(Edge*)(((unsigned int)a+(unsigned int)b)/2 & 0xfffffffc); -// #elif X86_64 -// Edge *m=(Edge*)(((unsigned long)a+(undigned long)b)/2 & 0xfffffffc); -// #else -// Edge *m=a+((b-a)/2); -// #endif - Node tt = _g.target(*m); - if(tt==t) return *m; - else if(tt - class EdgeLookUp5 - { - public: - GRAPH_TYPEDEFS(typename G) - typedef G Graph; +// template +// class EdgeLookUp5 +// { +// public: +// GRAPH_TYPEDEFS(typename G) +// typedef G Graph; - private: - const Graph &_g; - typename Graph::template NodeMap _start; - typename Graph::template NodeMap _end; - std::vector _edges; +// private: +// const Graph &_g; +// typename Graph::template NodeMap _start; +// typename Graph::template NodeMap _end; +// std::vector _edges; - class EdgeLess { - const Graph &g; - public: - EdgeLess(const Graph &_g) : g(_g) {} - bool operator()(Edge a,Edge b) const - { - return g.target(a)::iterator ei=_edges.end(); - _end[n]=_edges.size(); - std::sort(_edges.begin()+bi,ei,EdgeLess(_g)); - } - ///Refresh the full data structure. - void refresh() - { - _edges.resize(countEdges(_g)); - int l=0; - for(NodeIt n(_g);n!=INVALID;++n) - { - int ls = l; - _start[n]=&(_edges[l]); - for(OutEdgeIt e(_g,n);e!=INVALID;++e) _edges[l++]=e; - _end[n]=&(_edges[l]); - std::sort(_edges.begin()+ls,_edges.begin()+l,EdgeLess(_g)); - } +// public: +// ///Refresh the data structure at a node. +// void refresh(Node n) +// { +// const int bi = _start[n] = _edges.size(); +// for(OutEdgeIt e(_g,n);e!=INVALID;++e) _edges.push_back(e); +// const typename std::vector::iterator ei=_edges.end(); +// _end[n]=_edges.size(); +// std::sort(_edges.begin()+bi,ei,EdgeLess(_g)); +// } +// ///Refresh the full data structure. +// void refresh() +// { +// _edges.resize(countEdges(_g)); +// int l=0; +// for(NodeIt n(_g);n!=INVALID;++n) +// { +// int ls = l; +// _start[n]=&(_edges[l]); +// for(OutEdgeIt e(_g,n);e!=INVALID;++e) _edges[l++]=e; +// _end[n]=&(_edges[l]); +// std::sort(_edges.begin()+ls,_edges.begin()+l,EdgeLess(_g)); +// } - } +// } - ///Find an edge between two nodes. +// ///Find an edge between two nodes. - ///Find an edge between two nodes. - ///\param s The source node - ///\param t The target node - ///\return An edge from \c s to \c t if there exists, - ///\ref INVALID otherwise. +// ///Find an edge between two nodes. +// ///\param s The source node +// ///\param t The target node +// ///\return An edge from \c s to \c t if there exists, +// ///\ref INVALID otherwise. - Edge operator()(Node s, Node t) - { - Edge *a=_start[s]; - Edge *b=_end[s]; - while(a!=b) - { -// #ifdef X86 - Edge *m=(Edge*)((((unsigned int)a>>1)+((unsigned int)b)>>1) - & 0xfffffffc); -// #elif X86_64 -// Edge *m=(Edge*)(((unsigned long)a>>1+(undigned long)b)>>1)&0xfffffffc); -// #else -// Edge *m=a+((b-a)/2); -// #endif - Node tt = _g.target(*m); - if(tt==t) return *m; - else if(tt>1)+((unsigned int)b)>>1) +// & 0xfffffffc); +// // #elif X86_64 +// // Edge *m=(Edge*)(((unsigned long)a>>1+(undigned long)b)>>1)&0xfffffffc); +// // #else +// // Edge *m=a+((b-a)/2); +// // #endif +// Node tt = _g.target(*m); +// if(tt==t) return *m; +// else if(tt