source: tol/tol_pkg/GraphTools/test/define.random.graph.tol @ 69fede85

1941-docker-image-to-testdevel
Last change on this file since 69fede85 was 69fede85, checked in by Víctor de Buen <vdebuen@…>, 17 years ago

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@1703 be4846ae-f051-483a-831f-b64e7d08527f

  • Property mode set to 100644
File size: 1.6 KB
Line 
1/* -*- mode: C++ -*- */
2//////////////////////////////////////////////////////////////////////////////
3// FILE   : define.random.graph.tol
4//////////////////////////////////////////////////////////////////////////////
5
6//Random seed setting
7Real If(ObjectExist("Real","rndSeed"),
8  PutRandomSeed(rndSeed),
9  PutRandomSeed(0));
10Real If(ObjectExist("Real","rndSeed"), rndSeed,
11 rndSeed = GetRandomSeed(0));
12
13WriteLn("Current Random Seed = "<<rndSeed);
14
15
16Real If(ObjectExist("Real","vertex.num"), vertex.num,
17  vertex.num = IntRand(2,1000) );
18Real If(ObjectExist("Real","edge.num"), edge.num,
19  edge.num = IntRand(1,(vertex.num)^1.5) );
20Real If(ObjectExist("Real","directed"), directed,
21 directed = IntRand(0,1) );
22Real If(ObjectExist("Real","removeRepeatedEdges"), removeRepeatedEdges,
23 removeRepeatedEdges = IntRand(0,1) );
24
25WriteLn("Creating "+If(directed,"directed","symmetric")+
26        " graph with  "<<vertex.num+ " vertices and close to "<<
27        edge.num+" edges ...");
28Real t0 = Copy(Time);
29
30GraphTools::@Graph graph = GraphTools::@Graph::New("test_0001",directed);
31
32Set vertex.names = For(1,vertex.num,Text(Real k)
33{
34   "Key_"<<FormatReal(k,"%06.0f")<<
35       "_"+FormatReal(IntRand(0,999999999),"%09.0lf")
36});
37
38Real graph::initialize(vertex.names);
39
40Real graph::_.edge::add.feature.numeric("Length");
41Real graph::_.edge::add.feature.numeric("Hight");
42
43VMatrix data = Mat2VMat(
44  { InOut  = RandCombination(edge.num,vertex.num,2) } |
45  { Length = Rand(edge.num, 1, 10, 100) } |
46  { Hight  = Rand(edge.num, 1,  1,  10) });
47
48Real graph::edge.build(data,removeRepeatedEdges);
49
50Real t1 = Copy(Time);
51
52WriteLn("Creating time "<<(t1-t0)+" seconds");
Note: See TracBrowser for help on using the repository browser.