8   while (i < lenA  &&  j < lenB) {
 
   17   return ct*1.0/(lenA+lenB-ct);
 
   25   int lenA = list1->
Len();
 
   28   if (lenA > 0  &&  lenB > 0) {
 
   75   PNGraph Graph = TSnap::ToGraph<PNGraph>(P, S[index_col_1].GetVal1(), S[index_col_2].GetVal1(), 
aaFirst);
 
   83   Graph->GetNIdV (NIdV);
 
   84   int size = NIdV.
Len();
 
   85   for (
int ind = 0; ind < size; ind++) {
 
   86     KNN->AddNode(NIdV[ind]);
 
   88   KNN->AddFltAttrE(
"sim");
 
   93   int NumThreads = omp_get_max_threads();
 
   94   omp_set_num_threads(NumThreads);
 
   95   #pragma omp parallel private(ThNodeList, ThTopK) 
  101     #pragma omp for schedule(dynamic,1000) 
  102     for (
int ind = 0; ind < size; ind++) {
 
  112       for (
int i = 0; i < K; i++) {
 
  116       Neighbors->
Clr(
false);
 
  117       Neighbors_old->
Clr(
false);
 
  119       for (
int i = 0; i < NI.
GetOutDeg(); i++) {
 
  121         MergeNbrs(Neighbors, Neighbors_old, Inst_NI);
 
  123         temp = Neighbors_old;
 
  125         Neighbors_old = Neighbors;
 
  131       temp = Neighbors_old;
 
  132       Neighbors_old = Neighbors;
 
  134       for(
int j = 0; j< Neighbors->
Len(); j++) {
 
  139         if (TopK[K-1].GetVal1() < similarity) {
 
  141           for (
int i = K-2; i >= 0; i--)
 
  142             if (TopK[i].GetVal1() < similarity) {
 
  143               TopK.
SetVal(i+1, TopK[i]);
 
  153       ThNodeList.
Add(NIdV[ind]);
 
  161       for (
int j = 0; j < ThTopK.
Len(); j++) {
 
  162         TopKList.
Add(ThTopK[j]);
 
  163         NodeList.
Add(ThNodeList[j]);
 
  168   int size2 = NodeList.
Len();
 
  169   for (
int i= 0; i < size2 ; i++) {
 
  171     for (
int j = 0; j < K; j++) {
 
  172       if (TopKList[i][j].GetVal2() <= -1) {
 
  175       int EId = KNN->AddEdge(NodeList[i], TopKList[i][j].GetVal2());
 
  176       KNN->AddFltAttrDatE(EId, TopKList[i][j].GetVal1(), 
"sim");
 
  186   int sum_neighbors = 0;
 
  189   end = Graph->GetNodes();
 
  194   Graph->GetNIdV (NIdV);
 
  195   int size = NIdV.
Len();
 
  196   for (
int ind = 0; ind < size; ind++) {
 
  197     KNN->AddNode(NIdV[ind]);
 
  199   KNN->AddFltAttrE(
"sim");
 
  201   for (
int ind = 0; ind < size; ind++) {
 
  212     for (
int i = 0; i < K; i++) {
 
  216     Neighbors->
Clr(
false);
 
  217     Neighbors_old->
Clr(
false);
 
  219     for (
int i = 0; i < NI.
GetOutDeg(); i++) {
 
  221       MergeNbrs(Neighbors, Neighbors_old, Inst_NI);
 
  223       temp = Neighbors_old;
 
  225       Neighbors_old = Neighbors;
 
  228     int num = Neighbors_old->
Len();
 
  229     sum_neighbors += num;
 
  233     temp = Neighbors_old;
 
  234     Neighbors_old = Neighbors;
 
  236     for (
int j = 0; j< Neighbors->
Len(); j++) {
 
  241       if (TopK[K-1].GetVal1() < similarity) {
 
  243         for (
int i = K-2; i >= 0; i--)
 
  244           if (TopK[i].GetVal1() < similarity) {
 
  245             TopK.
SetVal(i+1, TopK[i]);
 
  254     for (
int i = 0; i < K; i++) {
 
  255       int EId = KNN->AddEdge(NI.
GetId(), TopK[i].GetVal2());
 
  256       KNN->AddFltAttrDatE(EId, TopK[i].GetVal1(), 
"sim");
 
float JaccardSim(TNGraph::TNodeI NI1, TNGraph::TNodeI NI2)
 
PNEANet KNNJaccard(PNGraph Graph, int K)
 
TSizeTy Len() const 
Returns the number of elements in the vector. 
 
void MergeNbrs(TIntV *NeighbourV, TIntV *list1, TNGraph::TNodeI NI2)
 
PNGraph GetBiGraph(PTable P, int index_col_1, int index_col_2)
 
void Clr(const bool &DoDel=true, const TSizeTy &NoDelLim=-1)
Clears the contents of the vector. 
 
PNEANet KNNJaccardParallel(PNGraph Graph, int K)
 
void SetVal(const TSizeTy &ValN, const TVal &Val)
Sets the value of element at position ValN to Val. 
 
int GetId() const 
Returns ID of the current node. 
 
int GetOutDeg() const 
Returns out-degree of the current node. 
 
Node iterator. Only forward iteration (operator++) is supported. 
 
int GetInDeg() const 
Returns in-degree of the current node. 
 
int GetInNId(const int &NodeN) const 
Returns ID of NodeN-th in-node (the node pointing to the current node). 
 
TSizeTy Add()
Adds a new element at the end of the vector, after its current last element. 
 
static PNEANet New()
Static cons returns pointer to graph. Ex: PNEANet Graph=TNEANet::New(). 
 
int GetOutNId(const int &NodeN) const 
Returns ID of NodeN-th out-node (the node the current node points to).