Commit b9ac9bf6 by Andreas Marek

### Consistent availability of assumed size arrays for all procedures

parent 6d2d7c62
 ... ... @@ -318,9 +318,12 @@ function solve_evp_real_1stage(na, nev, a, lda, ev, q, ldq, nblk, matrixCols, mp implicit none integer(kind=ik), intent(in) :: na, nev, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols real(kind=rk) :: a(lda,matrixCols), ev(na), q(ldq,matrixCols) ! was ! real a(lda,*), q(ldq,*) real(kind=rk) :: ev(na) #ifdef DESPERATELY_WANT_ASSUMED_SIZE real(kind=rk) :: a(lda,*), q(ldq,*) #else real(kind=rk) :: a(lda,matrixCols), q(ldq,matrixCols) #endif integer(kind=ik) :: my_prow, my_pcol, mpierr real(kind=rk), allocatable :: e(:), tau(:) ... ... @@ -422,9 +425,11 @@ function solve_evp_complex_1stage(na, nev, a, lda, ev, q, ldq, nblk, matrixCols, implicit none integer(kind=ik), intent(in) :: na, nev, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols #ifdef DESPERATELY_WANT_ASSUMED_SIZE complex(kind=ck) :: a(lda,*), q(ldq,*) #else complex(kind=ck) :: a(lda,matrixCols), q(ldq,matrixCols) ! was ! complex a(lda,*), q(ldq,*) #endif real(kind=rk) :: ev(na) integer(kind=ik) :: my_prow, my_pcol, np_rows, np_cols, mpierr ... ...
 ... ... @@ -144,9 +144,12 @@ function solve_evp_real_2stage(na, nev, a, lda, ev, q, ldq, nblk, & integer(kind=ik), intent(in) :: na, nev, lda, ldq, matrixCols, mpi_comm_rows, & mpi_comm_cols, mpi_comm_all integer(kind=ik), intent(in) :: nblk real(kind=rk), intent(inout) :: a(lda,matrixCols), ev(na), q(ldq,matrixCols) ! was ! real a(lda,*), q(ldq,*) real(kind=rk), intent(inout) :: ev(na) #ifdef DESPERATELY_WANT_ASSUMED_SIZE real(kind=rk), intent(inout) :: a(lda,*), q(ldq,*) #else real(kind=rk), intent(inout) :: a(lda,matrixCols), q(ldq,matrixCols) #endif real(kind=rk), allocatable :: hh_trans_real(:,:) integer(kind=ik) :: my_pe, n_pes, my_prow, my_pcol, np_rows, np_cols, mpierr ... ... @@ -382,9 +385,11 @@ function solve_evp_complex_2stage(na, nev, a, lda, ev, q, ldq, nblk, & integer(kind=ik), intent(in), optional :: THIS_COMPLEX_ELPA_KERNEL_API integer(kind=ik) :: THIS_COMPLEX_ELPA_KERNEL integer(kind=ik), intent(in) :: na, nev, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all #ifdef DESPERATELY_WANT_ASSUMED_SIZE complex(kind=ck), intent(inout) :: a(lda,*), q(ldq,*) #else complex(kind=ck), intent(inout) :: a(lda,matrixCols), q(ldq,matrixCols) ! was ! complex a(lda,*), q(ldq,*) #endif real(kind=rk), intent(inout) :: ev(na) complex(kind=ck), allocatable :: hh_trans_complex(:,:) ... ...
 ... ... @@ -129,8 +129,12 @@ implicit none integer(kind=c_int) :: success integer(kind=c_int), value, intent(in) :: na, nev, lda, ldq, nblk, matrixCols, mpi_comm_cols, mpi_comm_rows real(kind=c_double) :: a(1:lda,1:matrixCols), ev(1:na), q(1:ldq,1:matrixCols) real(kind=c_double) :: ev(1:na) #ifdef DESPERATELY_WANT_ASSUMED_SIZE real(kind=c_double) :: a(lda,*), q(ldq,*) #else real(kind=c_double) :: a(1:lda,1:matrixCols), q(1:ldq,1:matrixCols) #endif logical :: successFortran successFortran = solve_evp_real(na, nev, a, lda, ev, q, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols) ... ... @@ -177,7 +181,11 @@ implicit none integer(kind=c_int) :: success integer(kind=c_int), value, intent(in) :: na, nev, lda, ldq, nblk, matrixCols, mpi_comm_cols, mpi_comm_rows #ifdef DESPERATELY_WANT_ASSUMED_SIZE complex(kind=c_double_complex) :: a(lda,*), q(ldq,*) #else complex(kind=c_double_complex) :: a(1:lda,1:matrixCols), q(1:ldq,1:matrixCols) #endif real(kind=c_double) :: ev(1:na) logical :: successFortran ... ... @@ -230,10 +238,12 @@ integer(kind=c_int), value, intent(in) :: na, nev, lda, ldq, nblk, matrixCols, mpi_comm_cols, mpi_comm_rows, & mpi_comm_all integer(kind=c_int), value, intent(in) :: THIS_REAL_ELPA_KERNEL_API, useQR real(kind=c_double) :: a(1:lda,1:matrixCols), ev(1:na), q(1:ldq,1:matrixCols) real(kind=c_double) :: ev(1:na) #ifdef DESPERATELY_WANT_ASSUMED_SIZE real(kind=c_double) :: a(lda,*), q(ldq,*) #else real(kind=c_double) :: a(1:lda,1:matrixCols), q(1:ldq,1:matrixCols) #endif logical :: successFortran, useQRFortran if (useQR .eq. 0) then ... ... @@ -294,7 +304,11 @@ integer(kind=c_int), value, intent(in) :: na, nev, lda, ldq, nblk, matrixCols, mpi_comm_cols, mpi_comm_rows, & mpi_comm_all integer(kind=c_int), value, intent(in) :: THIS_COMPLEX_ELPA_KERNEL_API #ifdef DESPERATELY_WANT_ASSUMED_SIZE complex(kind=c_double_complex) :: a(lda,*), q(ldq,*) #else complex(kind=c_double_complex) :: a(1:lda,1:matrixCols), q(1:ldq,1:matrixCols) #endif real(kind=c_double) :: ev(1:na) logical :: successFortran ... ... @@ -338,7 +352,12 @@ integer(kind=c_int) :: success integer(kind=c_int), value, intent(in) :: na, nev, ldq, nblk, matrixCols, mpi_comm_cols, mpi_comm_rows integer(kind=c_int), value :: wantDebug real(kind=c_double) :: d(1:na), e(1:na), q(1:ldq, 1:matrixCols) real(kind=c_double) :: d(1:na), e(1:na) #ifdef DESPERATELY_WANT_ASSUMED_SIZE real(kind=c_double) :: q(ldq,*) #else real(kind=c_double) :: q(1:ldq, 1:matrixCols) #endif logical :: successFortran, wantDebugFortran if (wantDebug .ne. 0) then ... ...
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment