Changeset 2242:16523135943d in lemon-0.x for test
- Timestamp:
- 10/14/06 17:26:05 (17 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2991
- Location:
- test
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
test/all_pairs_shortest_path_test.cc
r1956 r2242 37 37 38 38 int main(int argc, const char *argv[]) { 39 srand(time(0));40 39 typedef SmartGraph Graph; 41 40 typedef Graph::Node Node; … … 44 43 typedef Graph::EdgeIt EdgeIt; 45 44 46 typedef Graph::EdgeMap< double> LengthMap;47 typedef Graph::NodeMap< double> DistMap;45 typedef Graph::EdgeMap<int> LengthMap; 46 typedef Graph::NodeMap<int> DistMap; 48 47 49 48 const int n = argc > 1 ? atoi(argv[1]) : 20; 50 49 const int e = argc > 2 ? atoi(argv[2]) : (int)(n * log((double)n)); 51 const double m = argc > 3 ? (double)atoi(argv[3]) : 100.0;50 const int m = argc > 3 ? atoi(argv[3]) : 100; 52 51 53 52 Graph graph; … … 59 58 Node node = graph.addNode(); 60 59 nodes.push_back(node); 61 shift[node] = m * (double)rand() / (RAND_MAX + 1.0);60 shift[node] = rnd[m]; 62 61 } 63 62 64 63 for (int i = 0; i < e; ++i) { 65 int s = (int)(n * (double)rand() / (RAND_MAX + 1.0)); 66 int t = (int)(n * (double)rand() / (RAND_MAX + 1.0)); 67 double c = m * (double)rand() / (RAND_MAX + 1.0); 64 int s = rnd[n]; 65 int t = rnd[n]; 68 66 Edge edge = graph.addEdge(nodes[s], nodes[t]); 69 length[edge] = c- shift[nodes[s]] + shift[nodes[t]];67 length[edge] = rnd[m] - shift[nodes[s]] + shift[nodes[t]]; 70 68 } 71 69 … … 77 75 } 78 76 79 typedef FibHeap<Node, double, Graph::NodeMap<int> > DoubleFibHeap;80 Johnson<Graph, LengthMap>::DefStandardHeap< DoubleFibHeap>77 typedef FibHeap<Node, int, Graph::NodeMap<int> > IntFibHeap; 78 Johnson<Graph, LengthMap>::DefStandardHeap<IntFibHeap> 81 79 ::Create fibJohnson(graph, length); 82 80 { -
test/arborescence_test.cc
r2180 r2242 48 48 49 49 int main() { 50 srand(time(0));51 50 typedef SmartGraph Graph; 52 51 GRAPH_TYPEDEFS(Graph); -
test/graph_utils_test.cc
r2236 r2242 117 117 for (int i = 0; i < edgeNum; ++i) { 118 118 edges[i] = 119 graph.addEdge(nodes[ urandom(nodeNum)], nodes[urandom(nodeNum)]);119 graph.addEdge(nodes[rnd[nodeNum]], nodes[rnd[nodeNum]]); 120 120 } 121 121 for (int i = 0; i < nodeNum; ++i) { -
test/graph_utils_test.h
r2229 r2242 57 57 typename DescriptorMap<Graph, Node>::InverseMap invNodes(nodes); 58 58 for (int i = 0; i < 100; ++i) { 59 int src = rnd .getInt(invNodes.size());60 int trg = rnd .getInt(invNodes.size());59 int src = rnd[invNodes.size()]; 60 int trg = rnd[invNodes.size()]; 61 61 graph.addEdge(invNodes[src], invNodes[trg]); 62 62 } -
test/heap_test.h
r2229 r2242 46 46 47 47 for (int i = 0; i < n; ++i) { 48 v[i] = rnd .getInt(1000);48 v[i] = rnd[1000]; 49 49 heap.push(i, v[i]); 50 50 } … … 66 66 67 67 for (int i = 0; i < n; ++i) { 68 v[i] = rnd .getInt(1000);68 v[i] = rnd[1000]; 69 69 heap.push(i, v[i]); 70 70 } 71 71 for (int i = 0; i < n; ++i) { 72 v[i] += rnd .getInt(1000);72 v[i] += rnd[1000]; 73 73 heap.increase(i, v[i]); 74 74 } -
test/matrix_maps_test.cc
r2039 r2242 68 68 for (Graph::NodeIt it(graph); it != INVALID; ++it) { 69 69 for (Graph::NodeIt jt(graph); jt != INVALID; ++jt) { 70 int val = urandom(100);70 int val = rnd[100]; 71 71 matrix.set(it, jt, val); 72 72 check(matrix(it, jt) == val, "Wrong assign"); … … 109 109 for (Graph::NodeIt it(graph); it != INVALID; ++it) { 110 110 for (Graph::NodeIt jt(graph); jt != INVALID; ++jt) { 111 int val = urandom(100);111 int val = rnd[100]; 112 112 matrix.set(it, jt, val); 113 113 check(matrix(it, jt) == val, "Wrong assign"); … … 155 155 for (Graph::NodeIt it(graph1); it != INVALID; ++it) { 156 156 for (Graph::EdgeIt jt(graph2); jt != INVALID; ++jt) { 157 int val = urandom(100);157 int val = rnd[100]; 158 158 matrix.set(it, jt, val); 159 159 check(matrix(it, jt) == val, "Wrong assign"); … … 199 199 for (Graph::NodeIt it(graph); it != INVALID; ++it) { 200 200 for (Graph::NodeIt jt(graph); jt != INVALID; ++jt) { 201 int val = urandom(100);201 int val = rnd[100]; 202 202 matrix.set(it, jt, val); 203 203 check(matrix(it, jt) == val, "Wrong assign"); -
test/radix_sort_test.cc
r1956 r2242 38 38 vector<int> data1(n), data2(n); 39 39 for (int i = 0; i < n; ++i) { 40 data1[i] = data2[i] = (int)(1000 * (rand() / (RAND_MAX + 1.0)))- 500;40 data1[i] = data2[i] = rnd[1000] - 500; 41 41 } 42 42 radixSort(data1.begin(), data1.end()); … … 49 49 vector<unsigned char> data1(n), data2(n); 50 50 for (int i = 0; i < n; ++i) { 51 data1[i] = data2[i] = (int)(200 * (rand() / (RAND_MAX + 1.0)));51 data1[i] = data2[i] = rnd[(unsigned char)200]; 52 52 } 53 53 radixSort(data1.begin(), data1.end()); … … 65 65 vector<int> data1(n), data2(n); 66 66 for (int i = 0; i < n; ++i) { 67 data1[i] = data2[i] = (int)(1000 * (rand() / (RAND_MAX + 1.0)))- 500;67 data1[i] = data2[i] = rnd[1000] - 500; 68 68 } 69 69 counterSort(data1.begin(), data1.end()); … … 76 76 vector<unsigned char> data1(n), data2(n); 77 77 for (int i = 0; i < n; ++i) { 78 data1[i] = data2[i] = (int)(200 * (rand() / (RAND_MAX + 1.0)));78 data1[i] = data2[i] = rnd[(unsigned char)200]; 79 79 } 80 80 counterSort(data1.begin(), data1.end()); … … 107 107 vector<Edge> edges; 108 108 for (int i = 0; i < e; ++i) { 109 int s = (int)(n * (double)rand() / (RAND_MAX + 1.0));110 int t = (int)(n * (double)rand() / (RAND_MAX + 1.0));109 int s = rnd[n]; 110 int t = rnd[n]; 111 111 edges.push_back(graph.addEdge(nodes[s], nodes[t])); 112 112 } … … 146 146 vector<Edge> edges; 147 147 for (int i = 0; i < e; ++i) { 148 int s = (int)(n * (double)rand() / (RAND_MAX + 1.0));149 int t = (int)(n * (double)rand() / (RAND_MAX + 1.0));148 int s = rnd[n]; 149 int t = rnd[n]; 150 150 edges.push_back(graph.addEdge(nodes[s], nodes[t])); 151 151 } -
test/simann_test.cc
r1956 r2242 24 24 public: 25 25 double d, prev_d; 26 MyEntity() : d(100000.0) { srand48(time(0));}26 MyEntity() : d(100000.0) {} 27 27 double mutate() { 28 28 prev_d = d; 29 if ( drand48() < 0.8) { d += 1.0; }29 if (rnd.boolean(0.8)) { d += 1.0; } 30 30 else { d -= 1.0; } 31 31 return d; -
test/test_tools.h
r2229 r2242 175 175 n.outcir.push_back(G.addEdge(n.outer[i],n.outer[(i+1)%5])); 176 176 n.incir.push_back(G.addEdge(n.inner[i],n.inner[(i+2)%5])); 177 177 } 178 178 return n; 179 179 } 180 180 181 int urandom(int n) {182 return rnd.getInt(n);183 }184 185 181 #endif
Note: See TracChangeset
for help on using the changeset viewer.