}
for (int i = 0; i < glb.TOT_VERTICES; i++) {
- int t1 = (int) (randomPtr.random_generate());
- if(t1 < 0)
- t1*=(-1);
+ int t1 = (int) (randomPtr.posrandom_generate());
int t = i + t1 % (glb.TOT_VERTICES - i);
if (t != i) {
int t2 = permV[t];
/* Generate random clique sizes. */
for (int i = 0; i < estTotCliques; i++) {
- cliqueSizes[i] = (int) (1 + (randomPtr.random_generate() % glb.MAX_CLIQUE_SIZE));
- if(cliqueSizes[i] < 0)
- cliqueSizes[i] *= -1; //TODO fix the long->int casting error that creates negative numbers for randomPtr
+ cliqueSizes[i] = (int) (1 + (randomPtr.posrandom_generate() % glb.MAX_CLIQUE_SIZE));
}
int totCliques = 0;
* Partial edgeLists
*/
- int[] startV;
- int[] endV;
int numByte = estTotEdges;
- startV = new int[numByte];
- endV = new int[numByte];
+ int[] startV= new int[numByte];
+ int[] endV=new int[numByte];
/*
* Tmp array to keep track of the no. of parallel edges in each direction
for (int i = 0; i < i_cliqueSize; i++) {
for (int j = 0; j < i; j++) {
-
- float r = (float)( randomPtr.random_generate() % 1000) / (float)1000;
+ float r = (float)( randomPtr.posrandom_generate() % 1000) / (float)1000;
if (r >= p) {
-
startV[i_edgePtr] = i + i_firstVsInClique;
endV[i_edgePtr] = j + i_firstVsInClique;
i_edgePtr++;
endV[i_edgePtr] = i + i_firstVsInClique;
i_edgePtr++;
tmpEdgeCounter[j][i] = 1;
-
} else if (r >= 0.5) {
-
startV[i_edgePtr] = i + i_firstVsInClique;
endV[i_edgePtr] = j + i_firstVsInClique;
i_edgePtr++;
tmpEdgeCounter[i][j] = 1;
tmpEdgeCounter[j][i] = 0;
-
} else {
-
startV[i_edgePtr] = j + i_firstVsInClique;
endV[i_edgePtr] = i + i_firstVsInClique;
i_edgePtr++;
tmpEdgeCounter[j][i] = 1;
tmpEdgeCounter[i][j] = 0;
-
}
} /* for j */
} /* for i */
if (i_cliqueSize != 1) {
- int randNumEdges = (int)(randomPtr.random_generate()
+ int randNumEdges = (int)(randomPtr.posrandom_generate()
% (2*i_cliqueSize*glb.MAX_PARAL_EDGES));
- if(randNumEdges < 0)
- randNumEdges *= -1; //TODO fix the long->int casting error that creates negative numbers for randomPtr
for (int i_paralEdge = 0; i_paralEdge < randNumEdges; i_paralEdge++) {
- int i = (int) (randomPtr.random_generate() % i_cliqueSize);
- if(i < 0)
- i *= -1; //TODO fix the long->int casting error that creates negative numbers for randomPtr
- int j = (int) (randomPtr.random_generate() % i_cliqueSize);
- if(j < 0)
- j *= -1; //TODO fix the long->int casting error that creates negative numbers for randomPtr
+ int i = (int) (randomPtr.posrandom_generate() % i_cliqueSize);
+ int j = (int) (randomPtr.posrandom_generate() % i_cliqueSize);
if ((i != j) && (tmpEdgeCounter[i][j] < glb.MAX_PARAL_EDGES)) {
- float r = (float)(randomPtr.random_generate() % 1000) / (float)1000;
+ float r = (float)(randomPtr.posrandom_generate() % 1000) / (float)1000;
if (r >= p) {
/* Copy to edge structure. */
startV[i_edgePtr] = i + i_firstVsInClique;
p = glb.PROB_INTERCL_EDGES;
for (int d = 1; d < glb.TOT_VERTICES; d *= 2, p /= 2) {
- float r = (float)(randomPtr.random_generate() % 1000) / (float)1000;
+ float r = (float)(randomPtr.posrandom_generate() % 1000) / (float)1000;
if (r <= p) {
if (t1 != t2) {
int randNumEdges =
- (int) (randomPtr.random_generate() % glb.MAX_PARAL_EDGES + 1);
- if(randNumEdges < 0)
- randNumEdges *= -1; //TODO fix the long->int casting error that creates negative numbers for randomPtr
+ (int) (randomPtr.posrandom_generate() % glb.MAX_PARAL_EDGES + 1);
for (int j = 0; j < randNumEdges; j++) {
startV[i_edgePtr] = tempVertex1;
} /* r <= p */
- float r0 = (float)(randomPtr.random_generate() % 1000) / (float)1000;
+ float r0 = (float)(randomPtr.posrandom_generate() % 1000) / (float)1000;
if ((r0 <= p) && (i-d>=0)) {
int t2 = firstVsInCliques[t];
if (t1 != t2) {
- int randNumEdges = (int) (randomPtr.random_generate() % glb.MAX_PARAL_EDGES + 1);
- if(randNumEdges < 0)
- randNumEdges *= -1; //TODO fix the long->int casting error that creates negative numbers for randomPtr
+ int randNumEdges = (int) (randomPtr.posrandom_generate() % glb.MAX_PARAL_EDGES + 1);
int j;
for (j = 0; j < randNumEdges; j++) {
int numStrWtEdges = 0;
for (int i = 0; i < numEdgesPlaced; i++) {
- float r = (float)(randomPtr.random_generate() % 1000) / (float)1000;
+ float r = (float)(randomPtr.posrandom_generate() % 1000) / (float)1000;
if (r <= p) {
SDGdataPtr.intWeight[i] =
- (int) (1 + (randomPtr.random_generate() % (glb.MAX_INT_WEIGHT-1)));
- if(SDGdataPtr.intWeight[i] < 0)
- SDGdataPtr.intWeight[i] *= -1; //TODO fix the long->int casting error that creates negative numbers for randomPtr
+ (int) (1 + (randomPtr.posrandom_generate() % (glb.MAX_INT_WEIGHT-1)));
} else {
SDGdataPtr.intWeight[i] = -1;
numStrWtEdges++;
if (SDGdataPtr.intWeight[i] <= 0) {
for (int j = 0; j < glb.MAX_STRLEN; j++) {
SDGdataPtr.strWeight[(-SDGdataPtr.intWeight[i])*glb.MAX_STRLEN+j] =
- (char) (1 + randomPtr.random_generate() % 127);
+ (char) (1 + randomPtr.posrandom_generate() % 127);
}
}
}
}
{
- int t = (int) (randomPtr.random_generate() % numStrWtEdges);
+ int t = (int) (randomPtr.posrandom_generate() % numStrWtEdges);
for (int j = 0; j < glb.MAX_STRLEN; j++) {
glb.SOUGHT_STRING[j] =
SDGdataPtr.strWeight[(t*glb.MAX_STRLEN+j)];
Barrier.enterBarrier();
for (int i = lss.i_start; i < lss.i_stop; i++) {
- int t1 = (int) (randomPtr.random_generate());
- if(t1 < 0)
- t1*=(-1);
+ int t1 = (int) (randomPtr.posrandom_generate());
int t = i + t1 % (glb.TOT_VERTICES - i);
if (t != i) {
atomic {
/* Generate random clique sizes. */
for (int i = lss.i_start; i < lss.i_stop; i++) {
- cliqueSizes[i] = (int) ( 1 + (randomPtr.random_generate() % glb.MAX_CLIQUE_SIZE));
- if(cliqueSizes[i] < 0)
- cliqueSizes[i] *= -1; //TODO fix the long->int casting error that creates negative numbers for randomPtr
+ cliqueSizes[i] = (int) ( 1 + (randomPtr.posrandom_generate() % glb.MAX_CLIQUE_SIZE));
}
Barrier.enterBarrier();
for (int i = 0; i < i_cliqueSize; i++) {
for (int j = 0; j < i; j++) {
- float r = (float)(randomPtr.random_generate() % 1000) / (float)1000;
+ float r = (float)(randomPtr.posrandom_generate() % 1000) / (float)1000;
if (r >= p) {
startV[i_edgePtr] = i + i_firstVsInClique;
} /* for i */
if (i_cliqueSize != 1) {
- int randNumEdges = (int) (randomPtr.random_generate() % (2*i_cliqueSize*glb.MAX_PARAL_EDGES));
- if(randNumEdges < 0)
- randNumEdges *= -1; //TODO fix the long->int casting error that creates negative numbers for randomPtr
+ int randNumEdges = (int) (randomPtr.posrandom_generate() % (2*i_cliqueSize*glb.MAX_PARAL_EDGES));
for (int i_paralEdge = 0; i_paralEdge < randNumEdges; i_paralEdge++) {
- int i = (int) (randomPtr.random_generate() % i_cliqueSize);
- if(i < 0)
- i *= -1; //TODO fix the long->int casting error that creates negative numbers for randomPtr
- int j = (int) (randomPtr.random_generate() % i_cliqueSize);
- if(j < 0)
- j *= -1; //TODO fix the long->int casting error that creates negative numbers for randomPtr
+ int i = (int) (randomPtr.posrandom_generate() % i_cliqueSize);
+ int j = (int) (randomPtr.posrandom_generate() % i_cliqueSize);
if ((i != j) && (tmpEdgeCounter[i][j] < glb.MAX_PARAL_EDGES)) {
- float r = (float)(randomPtr.random_generate() % 1000) / (float)1000;
+ float r = (float)(randomPtr.posrandom_generate() % 1000) / (float)1000;
if (r >= p) {
/* Copy to edge structure. */
startV[i_edgePtr] = i + i_firstVsInClique;
p = glb.PROB_INTERCL_EDGES;
for (int d = 1; d < glb.TOT_VERTICES; d *= 2, p /= 2) {
- float r = (float)(randomPtr.random_generate() % 1000) / (float)1000;
+ float r = (float)(randomPtr.posrandom_generate() % 1000) / (float)1000;
if (r <= p) {
if (t1 != t2) {
int randNumEdges =
- (int) (randomPtr.random_generate() % glb.MAX_PARAL_EDGES + 1);
- if(randNumEdges < 0)
- randNumEdges *= -1; //TODO fix the long->int casting error that creates negative numbers for randomPtr
+ (int) (randomPtr.posrandom_generate() % glb.MAX_PARAL_EDGES + 1);
for (int j = 0; j < randNumEdges; j++) {
startV[i_edgePtr] = tempVertex1;
endV[i_edgePtr] = tempVertex2;
} /* r <= p */
- float r0 = (float)(randomPtr.random_generate() % 1000) / (float)1000;
+ float r0 = (float)(randomPtr.posrandom_generate() % 1000) / (float)1000;
if ((r0 <= p) && (i-d>=0)) {
int tempVertex2 = (i - d) % glb.TOT_VERTICES;
if (t1 != t2) {
int randNumEdges =
- (int) (randomPtr.random_generate() % glb.MAX_PARAL_EDGES + 1);
- if(randNumEdges < 0)
- randNumEdges *= -1; //TODO fix the long->int casting error that creates negative numbers for randomPtr
+ (int) (randomPtr.posrandom_generate() % glb.MAX_PARAL_EDGES + 1);
for (int j = 0; j < randNumEdges; j++) {
startV[i_edgePtr] = tempVertex1;
endV[i_edgePtr] = tempVertex2;
CreatePartition.createPartition(0, numEdgesPlaced, myId, numThread, lss);
for (int i = lss.i_start; i < lss.i_stop; i++) {
- float r = (float)(randomPtr.random_generate() % 1000) / (float)1000;
+ float r = (float)(randomPtr.posrandom_generate() % 1000) / (float)1000;
if (r <= p) {
SDGdataPtr.intWeight[i] =
- (int) (1 + (randomPtr.random_generate() % (glb.MAX_INT_WEIGHT-1)));
- if(SDGdataPtr.intWeight[i] < 0)
- SDGdataPtr.intWeight[i] *= -1; //TODO fix the long->int casting error that creates negative numbers for randomPtr
+ (int) (1 + (randomPtr.posrandom_generate() % (glb.MAX_INT_WEIGHT-1)));
} else {
SDGdataPtr.intWeight[i] = -1;
numStrWtEdges++;
for (int j = 0; j < glb.MAX_STRLEN; j++) {
SDGdataPtr.strWeight[(-SDGdataPtr.intWeight[i])*glb.MAX_STRLEN+j] =
//FIXME if needed
- (char) (1 + (randomPtr.random_generate() % 127));
+ (char) (1 + (randomPtr.posrandom_generate() % 127));
}
}
}
glb.SOUGHT_STRING = new char[glb.MAX_STRLEN];
}
- int t = (int) (randomPtr.random_generate() % numStrWtEdges);
- if (t < 0)
- t *= -1; //TODO fix the long->int casting error that creates negative numbers for randomPtr
+ int t = (int) (randomPtr.posrandom_generate() % numStrWtEdges);
for (int j = 0; j < glb.MAX_STRLEN; j++) {
glb.SOUGHT_STRING[j] =
SDGdataPtr.strWeight[(t*glb.MAX_STRLEN+j)];