You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
939 B
C++
36 lines
939 B
C++
#include "MatchBoxPC.h"
|
|
|
|
/**
|
|
* //TODO documentation
|
|
* @param k
|
|
* @param verLocInd
|
|
* @param StartIndex
|
|
* @param EndIndex
|
|
* @param GMate
|
|
* @param Mate
|
|
* @param Ghost2LocalMap
|
|
* @return
|
|
*/
|
|
bool isAlreadyMatched(MilanLongInt node,
|
|
MilanLongInt StartIndex,
|
|
MilanLongInt EndIndex,
|
|
vector <MilanLongInt> &GMate,
|
|
MilanLongInt* Mate,
|
|
map <MilanLongInt, MilanLongInt> &Ghost2LocalMap
|
|
) {
|
|
|
|
bool result = false;
|
|
#pragma omp critical(Mate)
|
|
{
|
|
if ((node < StartIndex) || (node > EndIndex)) { //Is it a ghost vertex?
|
|
if (GMate[Ghost2LocalMap[node]] >= 0)// Already matched
|
|
result = true;
|
|
} else { //A local vertex
|
|
if (Mate[node - StartIndex] >= 0) // Already matched
|
|
result = true;
|
|
}
|
|
|
|
}
|
|
|
|
return result;
|
|
} |