diff --git a/LAPACKE/utils/lapacke_c_nancheck.c b/LAPACKE/utils/lapacke_c_nancheck.c index d635fd5bf..be157ae73 100644 --- a/LAPACKE/utils/lapacke_c_nancheck.c +++ b/LAPACKE/utils/lapacke_c_nancheck.c @@ -42,8 +42,8 @@ lapack_logical API_SUFFIX(LAPACKE_c_nancheck)( lapack_int n, if( incx == 0 ) return (lapack_logical) LAPACK_CISNAN( x[0] ); inc = ( incx > 0 ) ? incx : -incx ; - for( i = 0; i < n*inc; i+=inc ) { - if( LAPACK_CISNAN( x[i] ) ) + for( i = 0; i < n; i++ ) { + if( LAPACK_CISNAN( x[(size_t)i*inc] ) ) return (lapack_logical) 1; } return (lapack_logical) 0; diff --git a/LAPACKE/utils/lapacke_chp_nancheck.c b/LAPACKE/utils/lapacke_chp_nancheck.c index ba24f2a1b..5c06a809a 100644 --- a/LAPACKE/utils/lapacke_chp_nancheck.c +++ b/LAPACKE/utils/lapacke_chp_nancheck.c @@ -39,6 +39,6 @@ lapack_logical API_SUFFIX(LAPACKE_chp_nancheck)( lapack_int n, const lapack_complex_float *ap ) { - lapack_int len = n*(n+1)/2; + lapack_int len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_c_nancheck)( len, ap, 1 ); } diff --git a/LAPACKE/utils/lapacke_cpf_nancheck.c b/LAPACKE/utils/lapacke_cpf_nancheck.c index ae9eb67e7..bd29b7a74 100644 --- a/LAPACKE/utils/lapacke_cpf_nancheck.c +++ b/LAPACKE/utils/lapacke_cpf_nancheck.c @@ -40,6 +40,6 @@ lapack_logical API_SUFFIX(LAPACKE_cpf_nancheck)( lapack_int n, const lapack_complex_float *a ) { - lapack_int len = n*(n+1)/2; + lapack_int len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_c_nancheck)( len, a, 1 ); } diff --git a/LAPACKE/utils/lapacke_cpp_nancheck.c b/LAPACKE/utils/lapacke_cpp_nancheck.c index 287b8f67f..e4e014d5b 100644 --- a/LAPACKE/utils/lapacke_cpp_nancheck.c +++ b/LAPACKE/utils/lapacke_cpp_nancheck.c @@ -39,6 +39,6 @@ lapack_logical API_SUFFIX(LAPACKE_cpp_nancheck)( lapack_int n, const lapack_complex_float *ap ) { - lapack_int len = n*(n+1)/2; + lapack_int len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_c_nancheck)( len, ap, 1 ); } diff --git a/LAPACKE/utils/lapacke_csp_nancheck.c b/LAPACKE/utils/lapacke_csp_nancheck.c index d6f840729..cfbbf11be 100644 --- a/LAPACKE/utils/lapacke_csp_nancheck.c +++ b/LAPACKE/utils/lapacke_csp_nancheck.c @@ -39,6 +39,6 @@ lapack_logical API_SUFFIX(LAPACKE_csp_nancheck)( lapack_int n, const lapack_complex_float *ap ) { - lapack_int len = n*(n+1)/2; + lapack_int len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_c_nancheck)( len, ap, 1 ); } diff --git a/LAPACKE/utils/lapacke_ctf_nancheck.c b/LAPACKE/utils/lapacke_ctf_nancheck.c index 193e96f54..bbe54f5a3 100644 --- a/LAPACKE/utils/lapacke_ctf_nancheck.c +++ b/LAPACKE/utils/lapacke_ctf_nancheck.c @@ -150,7 +150,7 @@ lapack_logical API_SUFFIX(LAPACKE_ctf_nancheck)( int matrix_layout, char transr, } } else { /* Non-unit case - just check whole array for NaNs. */ - len = n*(n+1)/2; + len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_cge_nancheck)( LAPACK_COL_MAJOR, len, 1, a, len ); } } diff --git a/LAPACKE/utils/lapacke_ctp_nancheck.c b/LAPACKE/utils/lapacke_ctp_nancheck.c index eb245ff51..afcafc2f7 100644 --- a/LAPACKE/utils/lapacke_ctp_nancheck.c +++ b/LAPACKE/utils/lapacke_ctp_nancheck.c @@ -76,7 +76,7 @@ lapack_logical API_SUFFIX(LAPACKE_ctp_nancheck)( int matrix_layout, char uplo, c return (lapack_logical) 0; } else { /* Non-unit case - just check whole array for NaNs. */ - len = n*(n+1)/2; + len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_c_nancheck)( len, ap, 1 ); } } diff --git a/LAPACKE/utils/lapacke_ctr_nancheck.c b/LAPACKE/utils/lapacke_ctr_nancheck.c index c21adfdce..b0f9e7df2 100644 --- a/LAPACKE/utils/lapacke_ctr_nancheck.c +++ b/LAPACKE/utils/lapacke_ctr_nancheck.c @@ -68,14 +68,14 @@ lapack_logical API_SUFFIX(LAPACKE_ctr_nancheck)( int matrix_layout, char uplo, c if( ( colmaj || lower ) && !( colmaj && lower ) ) { for( j = st; j < n; j++ ) { for( i = 0; i < MIN( j+1-st, lda ); i++ ) { - if( LAPACK_CISNAN( a[i+j*lda] ) ) + if( LAPACK_CISNAN( a[i+(size_t)j*lda] ) ) return (lapack_logical) 1; } } } else { for( j = 0; j < n-st; j++ ) { for( i = j+st; i < MIN( n, lda ); i++ ) { - if( LAPACK_CISNAN( a[i+j*lda] ) ) + if( LAPACK_CISNAN( a[i+(size_t)j*lda] ) ) return (lapack_logical) 1; } } diff --git a/LAPACKE/utils/lapacke_ctz_nancheck.c b/LAPACKE/utils/lapacke_ctz_nancheck.c index 91f759b46..dc466c3f2 100644 --- a/LAPACKE/utils/lapacke_ctz_nancheck.c +++ b/LAPACKE/utils/lapacke_ctz_nancheck.c @@ -103,27 +103,27 @@ lapack_logical API_SUFFIX(LAPACKE_ctz_nancheck)( int matrix_layout, char direct, } /* Initial offsets and sizes of triangular and rectangular parts */ - lapack_int tri_offset = 0; + int64_t tri_offset = 0; lapack_int tri_n = MIN(m,n); - lapack_int rect_offset = -1; + int64_t rect_offset = -1; lapack_int rect_m = ( m > n ) ? m - n : m; lapack_int rect_n = ( n > m ) ? n - m : n; /* Fix offsets depending on the shape of the matrix */ if( front ) { if( lower && m > n ) { - rect_offset = tri_n * ( !colmaj ? lda : 1 ); + rect_offset = (int64_t)tri_n * ( !colmaj ? lda : 1 ); } else if( !lower && n > m ) { - rect_offset = tri_n * ( colmaj ? lda : 1 ); + rect_offset = (int64_t)tri_n * ( colmaj ? lda : 1 ); } } else { if( m > n ) { - tri_offset = rect_m * ( !colmaj ? lda : 1 ); + tri_offset = (int64_t)rect_m * ( !colmaj ? lda : 1 ); if( !lower ) { rect_offset = 0; } } else if( n > m ) { - tri_offset = rect_n * ( colmaj ? lda : 1 ); + tri_offset = (int64_t)rect_n * ( colmaj ? lda : 1 ); if( lower ) { rect_offset = 0; } diff --git a/LAPACKE/utils/lapacke_d_nancheck.c b/LAPACKE/utils/lapacke_d_nancheck.c index 0ae9ea220..a3dcf081c 100644 --- a/LAPACKE/utils/lapacke_d_nancheck.c +++ b/LAPACKE/utils/lapacke_d_nancheck.c @@ -42,8 +42,8 @@ lapack_logical API_SUFFIX(LAPACKE_d_nancheck)( lapack_int n, if( incx == 0 ) return (lapack_logical) LAPACK_DISNAN( x[0] ); inc = ( incx > 0 ) ? incx : -incx ; - for( i = 0; i < n*inc; i+=inc ) { - if( LAPACK_DISNAN( x[i] ) ) + for( i = 0; i < n; i++ ) { + if( LAPACK_DISNAN( x[(size_t)i*inc] ) ) return (lapack_logical) 1; } return (lapack_logical) 0; diff --git a/LAPACKE/utils/lapacke_dpf_nancheck.c b/LAPACKE/utils/lapacke_dpf_nancheck.c index 62561b85b..c18612142 100644 --- a/LAPACKE/utils/lapacke_dpf_nancheck.c +++ b/LAPACKE/utils/lapacke_dpf_nancheck.c @@ -40,6 +40,6 @@ lapack_logical API_SUFFIX(LAPACKE_dpf_nancheck)( lapack_int n, const double *a ) { - lapack_int len = n*(n+1)/2; + lapack_int len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_d_nancheck)( len, a, 1 ); } diff --git a/LAPACKE/utils/lapacke_dpp_nancheck.c b/LAPACKE/utils/lapacke_dpp_nancheck.c index a94473a40..cf0141540 100644 --- a/LAPACKE/utils/lapacke_dpp_nancheck.c +++ b/LAPACKE/utils/lapacke_dpp_nancheck.c @@ -39,6 +39,6 @@ lapack_logical API_SUFFIX(LAPACKE_dpp_nancheck)( lapack_int n, const double *ap ) { - lapack_int len = n*(n+1)/2; + lapack_int len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_d_nancheck)( len, ap, 1 ); } diff --git a/LAPACKE/utils/lapacke_dsp_nancheck.c b/LAPACKE/utils/lapacke_dsp_nancheck.c index 19b37b7aa..965841d6b 100644 --- a/LAPACKE/utils/lapacke_dsp_nancheck.c +++ b/LAPACKE/utils/lapacke_dsp_nancheck.c @@ -39,6 +39,6 @@ lapack_logical API_SUFFIX(LAPACKE_dsp_nancheck)( lapack_int n, const double *ap ) { - lapack_int len = n*(n+1)/2; + lapack_int len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_d_nancheck)( len, ap, 1 ); } diff --git a/LAPACKE/utils/lapacke_dtf_nancheck.c b/LAPACKE/utils/lapacke_dtf_nancheck.c index 23ebc7b35..0ac3f5b55 100644 --- a/LAPACKE/utils/lapacke_dtf_nancheck.c +++ b/LAPACKE/utils/lapacke_dtf_nancheck.c @@ -150,7 +150,7 @@ lapack_logical API_SUFFIX(LAPACKE_dtf_nancheck)( int matrix_layout, char transr, } } else { /* Non-unit case - just check whole array for NaNs. */ - len = n*(n+1)/2; + len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_dge_nancheck)( LAPACK_COL_MAJOR, len, 1, a, len ); } } diff --git a/LAPACKE/utils/lapacke_dtp_nancheck.c b/LAPACKE/utils/lapacke_dtp_nancheck.c index 804e6057f..f39361b15 100644 --- a/LAPACKE/utils/lapacke_dtp_nancheck.c +++ b/LAPACKE/utils/lapacke_dtp_nancheck.c @@ -76,7 +76,7 @@ lapack_logical API_SUFFIX(LAPACKE_dtp_nancheck)( int matrix_layout, char uplo, c return (lapack_logical) 0; } else { /* Non-unit case - just check whole array for NaNs. */ - len = n*(n+1)/2; + len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_d_nancheck)( len, ap, 1 ); } } diff --git a/LAPACKE/utils/lapacke_dtr_nancheck.c b/LAPACKE/utils/lapacke_dtr_nancheck.c index 8696804bf..72431030b 100644 --- a/LAPACKE/utils/lapacke_dtr_nancheck.c +++ b/LAPACKE/utils/lapacke_dtr_nancheck.c @@ -68,14 +68,14 @@ lapack_logical API_SUFFIX(LAPACKE_dtr_nancheck)( int matrix_layout, char uplo, c if( ( colmaj || lower ) && !( colmaj && lower ) ) { for( j = st; j < n; j++ ) { for( i = 0; i < MIN( j+1-st, lda ); i++ ) { - if( LAPACK_DISNAN( a[i+j*lda] ) ) + if( LAPACK_DISNAN( a[i+(size_t)j*lda] ) ) return (lapack_logical) 1; } } } else { for( j = 0; j < n-st; j++ ) { for( i = j+st; i < MIN( n, lda ); i++ ) { - if( LAPACK_DISNAN( a[i+j*lda] ) ) + if( LAPACK_DISNAN( a[i+(size_t)j*lda] ) ) return (lapack_logical) 1; } } diff --git a/LAPACKE/utils/lapacke_dtz_nancheck.c b/LAPACKE/utils/lapacke_dtz_nancheck.c index b3e6c0f64..4956d6cb9 100644 --- a/LAPACKE/utils/lapacke_dtz_nancheck.c +++ b/LAPACKE/utils/lapacke_dtz_nancheck.c @@ -102,27 +102,27 @@ lapack_logical API_SUFFIX(LAPACKE_dtz_nancheck)( int matrix_layout, char direct, } /* Initial offsets and sizes of triangular and rectangular parts */ - lapack_int tri_offset = 0; + int64_t tri_offset = 0; lapack_int tri_n = MIN(m,n); - lapack_int rect_offset = -1; + int64_t rect_offset = -1; lapack_int rect_m = ( m > n ) ? m - n : m; lapack_int rect_n = ( n > m ) ? n - m : n; /* Fix offsets depending on the shape of the matrix */ if( front ) { if( lower && m > n ) { - rect_offset = tri_n * ( !colmaj ? lda : 1 ); + rect_offset = (int64_t)tri_n * ( !colmaj ? lda : 1 ); } else if( !lower && n > m ) { - rect_offset = tri_n * ( colmaj ? lda : 1 ); + rect_offset = (int64_t)tri_n * ( colmaj ? lda : 1 ); } } else { if( m > n ) { - tri_offset = rect_m * ( !colmaj ? lda : 1 ); + tri_offset = (int64_t)rect_m * ( !colmaj ? lda : 1 ); if( !lower ) { rect_offset = 0; } } else if( n > m ) { - tri_offset = rect_n * ( colmaj ? lda : 1 ); + tri_offset = (int64_t)rect_n * ( colmaj ? lda : 1 ); if( lower ) { rect_offset = 0; } diff --git a/LAPACKE/utils/lapacke_s_nancheck.c b/LAPACKE/utils/lapacke_s_nancheck.c index 891363004..b71f259ea 100644 --- a/LAPACKE/utils/lapacke_s_nancheck.c +++ b/LAPACKE/utils/lapacke_s_nancheck.c @@ -42,8 +42,8 @@ lapack_logical API_SUFFIX(LAPACKE_s_nancheck)( lapack_int n, if( incx == 0 ) return (lapack_logical) LAPACK_SISNAN( x[0] ); inc = ( incx > 0 ) ? incx : -incx ; - for( i = 0; i < n*inc; i+=inc ) { - if( LAPACK_SISNAN( x[i] ) ) + for( i = 0; i < n; i++ ) { + if( LAPACK_SISNAN( x[(size_t)i*inc] ) ) return (lapack_logical) 1; } return (lapack_logical) 0; diff --git a/LAPACKE/utils/lapacke_spf_nancheck.c b/LAPACKE/utils/lapacke_spf_nancheck.c index 2787aa7f3..a06db4ff5 100644 --- a/LAPACKE/utils/lapacke_spf_nancheck.c +++ b/LAPACKE/utils/lapacke_spf_nancheck.c @@ -40,6 +40,6 @@ lapack_logical API_SUFFIX(LAPACKE_spf_nancheck)( lapack_int n, const float *a ) { - lapack_int len = n*(n+1)/2; + lapack_int len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_s_nancheck)( len, a, 1 ); } diff --git a/LAPACKE/utils/lapacke_spp_nancheck.c b/LAPACKE/utils/lapacke_spp_nancheck.c index f9fd816ae..81bb6f922 100644 --- a/LAPACKE/utils/lapacke_spp_nancheck.c +++ b/LAPACKE/utils/lapacke_spp_nancheck.c @@ -39,6 +39,6 @@ lapack_logical API_SUFFIX(LAPACKE_spp_nancheck)( lapack_int n, const float *ap ) { - lapack_int len = n*(n+1)/2; + lapack_int len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_s_nancheck)( len, ap, 1 ); } diff --git a/LAPACKE/utils/lapacke_ssp_nancheck.c b/LAPACKE/utils/lapacke_ssp_nancheck.c index 37bbc475e..77a605aaf 100644 --- a/LAPACKE/utils/lapacke_ssp_nancheck.c +++ b/LAPACKE/utils/lapacke_ssp_nancheck.c @@ -39,6 +39,6 @@ lapack_logical API_SUFFIX(LAPACKE_ssp_nancheck)( lapack_int n, const float *ap ) { - lapack_int len = n*(n+1)/2; + lapack_int len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_s_nancheck)( len, ap, 1 ); } diff --git a/LAPACKE/utils/lapacke_stf_nancheck.c b/LAPACKE/utils/lapacke_stf_nancheck.c index a9d4d7e4d..cefd21870 100644 --- a/LAPACKE/utils/lapacke_stf_nancheck.c +++ b/LAPACKE/utils/lapacke_stf_nancheck.c @@ -151,7 +151,7 @@ lapack_logical API_SUFFIX(LAPACKE_stf_nancheck)( int matrix_layout, char transr, } } else { /* Non-unit case - just check whole array for NaNs. */ - len = n*(n+1)/2; + len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_sge_nancheck)( LAPACK_COL_MAJOR, len, 1, a, len ); } } diff --git a/LAPACKE/utils/lapacke_stp_nancheck.c b/LAPACKE/utils/lapacke_stp_nancheck.c index 105be69e1..523ffb4bf 100644 --- a/LAPACKE/utils/lapacke_stp_nancheck.c +++ b/LAPACKE/utils/lapacke_stp_nancheck.c @@ -76,7 +76,7 @@ lapack_logical API_SUFFIX(LAPACKE_stp_nancheck)( int matrix_layout, char uplo, c return (lapack_logical) 0; } else { /* Non-unit case - just check whole array for NaNs. */ - len = n*(n+1)/2; + len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_s_nancheck)( len, ap, 1 ); } } diff --git a/LAPACKE/utils/lapacke_str_nancheck.c b/LAPACKE/utils/lapacke_str_nancheck.c index fbcaa2f62..052b17496 100644 --- a/LAPACKE/utils/lapacke_str_nancheck.c +++ b/LAPACKE/utils/lapacke_str_nancheck.c @@ -68,14 +68,14 @@ lapack_logical API_SUFFIX(LAPACKE_str_nancheck)( int matrix_layout, char uplo, c if( ( colmaj || lower ) && !( colmaj && lower ) ) { for( j = st; j < n; j++ ) { for( i = 0; i < MIN( j+1-st, lda ); i++ ) { - if( LAPACK_SISNAN( a[i+j*lda] ) ) + if( LAPACK_SISNAN( a[i+(size_t)j*lda] ) ) return (lapack_logical) 1; } } } else { for( j = 0; j < n-st; j++ ) { for( i = j+st; i < MIN( n, lda ); i++ ) { - if( LAPACK_SISNAN( a[i+j*lda] ) ) + if( LAPACK_SISNAN( a[i+(size_t)j*lda] ) ) return (lapack_logical) 1; } } diff --git a/LAPACKE/utils/lapacke_stz_nancheck.c b/LAPACKE/utils/lapacke_stz_nancheck.c index 903eef9b5..c0759777b 100644 --- a/LAPACKE/utils/lapacke_stz_nancheck.c +++ b/LAPACKE/utils/lapacke_stz_nancheck.c @@ -102,27 +102,27 @@ lapack_logical API_SUFFIX(LAPACKE_stz_nancheck)( int matrix_layout, char direct, } /* Initial offsets and sizes of triangular and rectangular parts */ - lapack_int tri_offset = 0; + int64_t tri_offset = 0; lapack_int tri_n = MIN(m,n); - lapack_int rect_offset = -1; + int64_t rect_offset = -1; lapack_int rect_m = ( m > n ) ? m - n : m; lapack_int rect_n = ( n > m ) ? n - m : n; /* Fix offsets depending on the shape of the matrix */ if( front ) { if( lower && m > n ) { - rect_offset = tri_n * ( !colmaj ? lda : 1 ); + rect_offset = (int64_t)tri_n * ( !colmaj ? lda : 1 ); } else if( !lower && n > m ) { - rect_offset = tri_n * ( colmaj ? lda : 1 ); + rect_offset = (int64_t)tri_n * ( colmaj ? lda : 1 ); } } else { if( m > n ) { - tri_offset = rect_m * ( !colmaj ? lda : 1 ); + tri_offset = (int64_t)rect_m * ( !colmaj ? lda : 1 ); if( !lower ) { rect_offset = 0; } } else if( n > m ) { - tri_offset = rect_n * ( colmaj ? lda : 1 ); + tri_offset = (int64_t)rect_n * ( colmaj ? lda : 1 ); if( lower ) { rect_offset = 0; } diff --git a/LAPACKE/utils/lapacke_z_nancheck.c b/LAPACKE/utils/lapacke_z_nancheck.c index c983876cf..6a06a734a 100644 --- a/LAPACKE/utils/lapacke_z_nancheck.c +++ b/LAPACKE/utils/lapacke_z_nancheck.c @@ -42,8 +42,8 @@ lapack_logical API_SUFFIX(LAPACKE_z_nancheck)( lapack_int n, if( incx == 0 ) return (lapack_logical) LAPACK_ZISNAN( x[0] ); inc = ( incx > 0 ) ? incx : -incx ; - for( i = 0; i < n*inc; i+=inc ) { - if( LAPACK_ZISNAN( x[i] ) ) + for( i = 0; i < n; i++ ) { + if( LAPACK_ZISNAN( x[(size_t)i*inc] ) ) return (lapack_logical) 1; } return (lapack_logical) 0; diff --git a/LAPACKE/utils/lapacke_zhp_nancheck.c b/LAPACKE/utils/lapacke_zhp_nancheck.c index 152a1bf56..608788c6e 100644 --- a/LAPACKE/utils/lapacke_zhp_nancheck.c +++ b/LAPACKE/utils/lapacke_zhp_nancheck.c @@ -39,6 +39,6 @@ lapack_logical API_SUFFIX(LAPACKE_zhp_nancheck)( lapack_int n, const lapack_complex_double *ap ) { - lapack_int len = n*(n+1)/2; + lapack_int len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_z_nancheck)( len, ap, 1 ); } diff --git a/LAPACKE/utils/lapacke_zpf_nancheck.c b/LAPACKE/utils/lapacke_zpf_nancheck.c index 04c46f8ea..27f689d12 100644 --- a/LAPACKE/utils/lapacke_zpf_nancheck.c +++ b/LAPACKE/utils/lapacke_zpf_nancheck.c @@ -40,6 +40,6 @@ lapack_logical API_SUFFIX(LAPACKE_zpf_nancheck)( lapack_int n, const lapack_complex_double *a ) { - lapack_int len = n*(n+1)/2; + lapack_int len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_z_nancheck)( len, a, 1 ); } diff --git a/LAPACKE/utils/lapacke_zpp_nancheck.c b/LAPACKE/utils/lapacke_zpp_nancheck.c index ce4446a64..691f0c27d 100644 --- a/LAPACKE/utils/lapacke_zpp_nancheck.c +++ b/LAPACKE/utils/lapacke_zpp_nancheck.c @@ -39,6 +39,6 @@ lapack_logical API_SUFFIX(LAPACKE_zpp_nancheck)( lapack_int n, const lapack_complex_double *ap ) { - lapack_int len = n*(n+1)/2; + lapack_int len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_z_nancheck)( len, ap, 1 ); } diff --git a/LAPACKE/utils/lapacke_zsp_nancheck.c b/LAPACKE/utils/lapacke_zsp_nancheck.c index 648269757..88764cf1b 100644 --- a/LAPACKE/utils/lapacke_zsp_nancheck.c +++ b/LAPACKE/utils/lapacke_zsp_nancheck.c @@ -39,6 +39,6 @@ lapack_logical API_SUFFIX(LAPACKE_zsp_nancheck)( lapack_int n, const lapack_complex_double *ap ) { - lapack_int len = n*(n+1)/2; + lapack_int len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_z_nancheck)( len, ap, 1 ); } diff --git a/LAPACKE/utils/lapacke_ztf_nancheck.c b/LAPACKE/utils/lapacke_ztf_nancheck.c index d43e98635..81cc38fb2 100644 --- a/LAPACKE/utils/lapacke_ztf_nancheck.c +++ b/LAPACKE/utils/lapacke_ztf_nancheck.c @@ -151,7 +151,7 @@ lapack_logical API_SUFFIX(LAPACKE_ztf_nancheck)( int matrix_layout, char transr, } } else { /* Non-unit case - just check whole array for NaNs. */ - len = n*(n+1)/2; + len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_zge_nancheck)( LAPACK_COL_MAJOR, len, 1, a, len ); } } diff --git a/LAPACKE/utils/lapacke_ztp_nancheck.c b/LAPACKE/utils/lapacke_ztp_nancheck.c index cd56224d8..fa34b6561 100644 --- a/LAPACKE/utils/lapacke_ztp_nancheck.c +++ b/LAPACKE/utils/lapacke_ztp_nancheck.c @@ -76,7 +76,7 @@ lapack_logical API_SUFFIX(LAPACKE_ztp_nancheck)( int matrix_layout, char uplo, c return (lapack_logical) 0; } else { /* Non-unit case - just check whole array for NaNs. */ - len = n*(n+1)/2; + len = (lapack_int)(((size_t)n*(n+1))/2); return API_SUFFIX(LAPACKE_z_nancheck)( len, ap, 1 ); } } diff --git a/LAPACKE/utils/lapacke_ztr_nancheck.c b/LAPACKE/utils/lapacke_ztr_nancheck.c index 5c870a646..8c5366bf8 100644 --- a/LAPACKE/utils/lapacke_ztr_nancheck.c +++ b/LAPACKE/utils/lapacke_ztr_nancheck.c @@ -68,14 +68,14 @@ lapack_logical API_SUFFIX(LAPACKE_ztr_nancheck)( int matrix_layout, char uplo, c if( ( colmaj || lower ) && !( colmaj && lower ) ) { for( j = st; j < n; j++ ) { for( i = 0; i < MIN( j+1-st, lda ); i++ ) { - if( LAPACK_ZISNAN( a[i+j*lda] ) ) + if( LAPACK_ZISNAN( a[i+(size_t)j*lda] ) ) return (lapack_logical) 1; } } } else { for( j = 0; j < n-st; j++ ) { for( i = j+st; i < MIN( n, lda ); i++ ) { - if( LAPACK_ZISNAN( a[i+j*lda] ) ) + if( LAPACK_ZISNAN( a[i+(size_t)j*lda] ) ) return (lapack_logical) 1; } } diff --git a/LAPACKE/utils/lapacke_ztz_nancheck.c b/LAPACKE/utils/lapacke_ztz_nancheck.c index f316cf13d..9b12d9321 100644 --- a/LAPACKE/utils/lapacke_ztz_nancheck.c +++ b/LAPACKE/utils/lapacke_ztz_nancheck.c @@ -103,27 +103,27 @@ lapack_logical API_SUFFIX(LAPACKE_ztz_nancheck)( int matrix_layout, char direct, } /* Initial offsets and sizes of triangular and rectangular parts */ - lapack_int tri_offset = 0; + int64_t tri_offset = 0; lapack_int tri_n = MIN(m,n); - lapack_int rect_offset = -1; + int64_t rect_offset = -1; lapack_int rect_m = ( m > n ) ? m - n : m; lapack_int rect_n = ( n > m ) ? n - m : n; /* Fix offsets depending on the shape of the matrix */ if( front ) { if( lower && m > n ) { - rect_offset = tri_n * ( !colmaj ? lda : 1 ); + rect_offset = (int64_t)tri_n * ( !colmaj ? lda : 1 ); } else if( !lower && n > m ) { - rect_offset = tri_n * ( colmaj ? lda : 1 ); + rect_offset = (int64_t)tri_n * ( colmaj ? lda : 1 ); } } else { if( m > n ) { - tri_offset = rect_m * ( !colmaj ? lda : 1 ); + tri_offset = (int64_t)rect_m * ( !colmaj ? lda : 1 ); if( !lower ) { rect_offset = 0; } } else if( n > m ) { - tri_offset = rect_n * ( colmaj ? lda : 1 ); + tri_offset = (int64_t)rect_n * ( colmaj ? lda : 1 ); if( lower ) { rect_offset = 0; }