Commit b9ac9bf6 authored by Andreas Marek's avatar 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
......
Markdown is supported
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