Solve the problem of core dumped when using large-scale data in benchmark test

Segmentation fault (core dumped)
Because i+j*m has exceeded the maximum range of int
This commit is contained in:
江和松 2020-02-27 21:28:12 +08:00 committed by GitHub
parent ddcbed6690
commit add9cf9853
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 2 additions and 2 deletions

View File

@ -186,7 +186,7 @@ int main(int argc, char *argv[]){
for(j = 0; j < m; j++){ for(j = 0; j < m; j++){
for(i = 0; i < m * COMPSIZE; i++){ for(i = 0; i < m * COMPSIZE; i++){
a[i + j * m * COMPSIZE] = ((FLOAT) rand() / (FLOAT) RAND_MAX) - 0.5; a[(long)i + (long)j * (long)m * COMPSIZE] = ((FLOAT) rand() / (FLOAT) RAND_MAX) - 0.5;
} }
} }
@ -194,7 +194,7 @@ int main(int argc, char *argv[]){
for (j = 0; j < m; ++j) { for (j = 0; j < m; ++j) {
for (i = 0; i < m * COMPSIZE; ++i) { for (i = 0; i < m * COMPSIZE; ++i) {
b[i] += a[i + j * m * COMPSIZE]; b[i] += a[(long)i + (long)j * (long)m * COMPSIZE];
} }
} }