From 1120161286ee5c855b630bccc9e0b37bb8a3ee65 Mon Sep 17 00:00:00 2001 From: Joshua Bakita Date: Sat, 17 Oct 2020 19:07:11 -0400 Subject: Fix DIS coding style by running them all through clang-format Also fixes a missing header in DISstressmarkRNG.h and the "all" make target. No functional changes. --- dis/Matrix/ver2/DISstressmarkRNG.h | 1 + dis/Matrix/ver2/matrix.c | 468 +++++++++++++++++-------------------- 2 files changed, 220 insertions(+), 249 deletions(-) (limited to 'dis/Matrix/ver2') diff --git a/dis/Matrix/ver2/DISstressmarkRNG.h b/dis/Matrix/ver2/DISstressmarkRNG.h index 4aa2620..6243606 100755 --- a/dis/Matrix/ver2/DISstressmarkRNG.h +++ b/dis/Matrix/ver2/DISstressmarkRNG.h @@ -1,3 +1,4 @@ +#include #include #define IA 16807 diff --git a/dis/Matrix/ver2/matrix.c b/dis/Matrix/ver2/matrix.c index ffa7cb7..2b075fb 100755 --- a/dis/Matrix/ver2/matrix.c +++ b/dis/Matrix/ver2/matrix.c @@ -1,17 +1,17 @@ /* Please note: - * This code is the optimized version of the first version of Matrix - * Stressmark. It uses less temporary vectors and vsariables, thus reduce - * memory allocation/deallocation overhead. the simulation is faster + * This code is the optimized version of the first version of Matrix + * Stressmark. It uses less temporary vectors and vsariables, thus reduce + * memory allocation/deallocation overhead. the simulation is faster */ /* * Sample code for the DIS Matrix Stressmark * - * This source code is the completely correct source code based on - * the example codes provided by Atlantic Aerospace Division, Titan + * This source code is the completely correct source code based on + * the example codes provided by Atlantic Aerospace Division, Titan * Systems Corporation, 2000. - * - * If you just compile and generate the executables from this source - * code, this code would be enough. However, if you wish to get a complete + * + * If you just compile and generate the executables from this source + * code, this code would be enough. However, if you wish to get a complete * understanding of this stressmark, it is strongly suggested that you * read the Benchmark Analysis and Specifications Document Version 1.0 * before going on since the detailed comments are given in this documents. @@ -22,37 +22,37 @@ * The Sparse Matrix Storage is implemented by Compact Row Storage Scheme * In the code, the data is first generated by randomNonzeroFloat() * the data is first stored in a full-space matrix with size of dim*dim - * then the data is transfered to the Compact Row Matrix, + * then the data is transfered to the Compact Row Matrix, * the data value is kept in *value, * the columns corresponding to the value are stored in *col_ind, * the start element of each row is stored in *row_start. */ - -/* - * Please note: + +/* + * Please note: * the total number of data is numberNonzero +dim * among which, NumberNonzero because this is symmetric matrix * dim because the diagonal elements */ -#include +#include "DISstressmarkRNG.h" +#include "extra.h" +#include #include +#include #include #include -#include -#include "DISstressmarkRNG.h" -#include "extra.h" #define MIN_SEED -2147483647 #define MAX_SEED -1 -#define MIN_DIM 1 -#define MAX_DIM 32768 +#define MIN_DIM 1 +#define MAX_DIM 32768 #define MAX_ITERATIONS 65536 -#define MIN_TOLERANCE 1e-7//0.000007 +#define MIN_TOLERANCE 1e-7 // 0.000007 #define MAX_TOLERANCE 0.5 -#define MIN_NUMBER -3.4e10/dim -#define MAX_NUMBER 3.4e10/dim -#define EPSI 1.0e-10 +#define MIN_NUMBER -3.4e10 / dim +#define MAX_NUMBER 3.4e10 / dim +#define EPSI 1.0e-10 #define MIN_DIG_NUMBER 1.0e-10 #define MAX_DIG_NUMBER 3.4e10 @@ -62,97 +62,90 @@ static int dim; -/* - * matrix * vector +/* + * matrix * vector */ -void matrixMulvector(double *value, - int *col_ind, - int *row_start, - double *vector, - double *out) -{ +void matrixMulvector(double *value, int *col_ind, int *row_start, + double *vector, double *out) { int l, ll; - double sum; + double sum; int tmp_rs, tmp_re; - - for (l=0; l */ -void valueMulvector(double value, double *vector, double *vect){ +void valueMulvector(double value, double *vector, double *vect) { int l; int lll, i; double tmp; - for (l=0; l errorTolerance)){ - - /* + while ((iteration < maxIterations) && (error > errorTolerance)) { + + /* * alpha = (transpose(vectorR) * vectorR) / * (transpose(vectorP) * (matrixA * vectorP) */ - matrixMulvector(value, col_ind, row_start, vectorP, tmpVector1); - transpose(vectorR, tmpVector2); + matrixMulvector(value, col_ind, row_start, vectorP, tmpVector1); + transpose(vectorR, tmpVector2); transpose(vectorP, tmpVector3); tmpValue1 = vectorMul(tmpVector3, tmpVector1); tmpValue2 = vectorMul(tmpVector2, vectorR); - alpha = tmpValue2/tmpValue1; - - /* + alpha = tmpValue2 / tmpValue1; + + /* * nextVectorR = vectorR - alpha*(matrixA * vectorP) */ valueMulvector(alpha, tmpVector1, tmpVector2); vectorSub(vectorR, tmpVector2, tmpVector1); equalVector(tmpVector1, nextVectorR); - - /* + + /* * beta = (transpose(nextVectorR) * nextVectorR) / * (transpose(vectorR) * vectorR) */ @@ -391,38 +368,38 @@ void biConjugateGradient(double *value, tmpValue1 = vectorMul(tmpVector3, nextVectorR); transpose(vectorR, tmpVector2); tmpValue2 = vectorMul(tmpVector2, vectorR); - beta = tmpValue1/tmpValue2; + beta = tmpValue1 / tmpValue2; /* * vectorX = vectorX + alpha * vectorP */ - valueMulvector(alpha, vectorP, tmpVector1); - vectorAdd(vectorX,tmpVector1, vectorX); + valueMulvector(alpha, vectorP, tmpVector1); + vectorAdd(vectorX, tmpVector1, vectorX); - /* + /* *vectorP = nextVectorR + beta*vectorP - */ - valueMulvector(beta, vectorP, tmpVector1); + */ + valueMulvector(beta, vectorP, tmpVector1); vectorAdd(nextVectorR, tmpVector1, tmpVector1); - for (ll=0; ll MIN_SEED) && (seed < MAX_SEED)); assert((dim > MIN_DIM) && (dim < MAX_DIM)); - assert((numberNonzero > dim) && (numberNonzero < dim*dim)); + assert((numberNonzero > dim) && (numberNonzero < dim * dim)); assert((maxIterations > 0) && (maxIterations < MAX_ITERATIONS)); assert((errorTolerance > MIN_TOLERANCE) && (errorTolerance < MAX_TOLERANCE)); - - matrixA = (double *)malloc(dim*dim*sizeof(double)); - vectorB = (double *)malloc(dim*sizeof(double)); - vectorX = (double *)malloc(dim*sizeof(double)); - value = (double *)malloc((numberNonzero+dim)*sizeof(double)); - col_ind = (int *)malloc((numberNonzero+dim)*sizeof(int)); - row_start = (int *)malloc((dim+1)*sizeof(int)); + matrixA = (double *)malloc(dim * dim * sizeof(double)); + vectorB = (double *)malloc(dim * sizeof(double)); + vectorX = (double *)malloc(dim * sizeof(double)); + + value = (double *)malloc((numberNonzero + dim) * sizeof(double)); + col_ind = (int *)malloc((numberNonzero + dim) * sizeof(int)); + row_start = (int *)malloc((dim + 1) * sizeof(int)); // Internal matricies for biConj - vectorP = (double *)malloc(dim*sizeof(double)); - vectorR = (double *)malloc(dim*sizeof(double)); - nextVectorR = (double *)malloc(dim*sizeof(double)); - tmpVector1 = (double *)malloc(dim*sizeof(double)); - tmpVector2 = (double *)malloc(dim*sizeof(double)); - tmpVector3 = (double *)malloc(dim*sizeof(double)); + vectorP = (double *)malloc(dim * sizeof(double)); + vectorR = (double *)malloc(dim * sizeof(double)); + nextVectorR = (double *)malloc(dim * sizeof(double)); + tmpVector1 = (double *)malloc(dim * sizeof(double)); + tmpVector2 = (double *)malloc(dim * sizeof(double)); + tmpVector3 = (double *)malloc(dim * sizeof(double)); randInit(seed); @@ -569,23 +538,24 @@ int main(int argc, char** argv) actualError = 0; actualIteration = 0; - biConjugateGradient(value, col_ind, row_start, vectorB, vectorX, errorTolerance, - maxIterations, - &actualError, &actualIteration, dim, - vectorP, vectorR, nextVectorR, tmpVector1, tmpVector2, tmpVector3); + biConjugateGradient(value, col_ind, row_start, vectorB, vectorX, + errorTolerance, maxIterations, &actualError, + &actualIteration, dim, vectorP, vectorR, nextVectorR, + tmpVector1, tmpVector2, tmpVector3); STOP_LOOP endTime = time(NULL); sum = 0; - for (k=1; k