CEdge::CEdge() { int i; num = CalcEdges(NUM_TOWNS); list = new Edge[num]; srand(time(NULL)); int limit = MAX_DISTANCE; int t1,t1prev; int t2,t2prev; t1 = t1prev = 0; t2 = t2prev = 1; for (i=0;i<num;i++) { list[i].town1 = t1; list[i].town2 = t2; list[i].distance = rand()%limit; //update t1,t2 if (t2 == NUM_TOWNS-1) { t2prev++; t2 = t2prev; t1++; } else t2++; } }
TwoModeEdges::TwoModeEdges(InputTable *input) : mainTable(input) { namesTrans = mainTable->GetRowNames(); header = mainTable->GetHeader(); rowData = mainTable->GetRowData(); intervalTrans = CalcIntervals(); edges = CalcEdges(); }
EdgeFinder::EdgeFinder(MatCollection *collection, std::string userType, std::string agent, bool userSlide) : sourceCollection(collection), networkType(userType), ego(agent), slide(userSlide) { namesTrans = sourceCollection->GetCollRows(); intervalTrans = CalcIntervals(false); attributeInterval = CalcIntervals(true); edges = CalcEdges(ego); slide = sourceCollection->IsSlide(); }
int CEdge::CalcEdges(int n) { int edges; if (n == 2) return 1; else edges = CalcEdges(n-1) + n-1; return edges; }