Get storage locations within integer work space.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | m |
Number of columns of data in the independent variable. |
||
integer, | intent(in) | :: | q |
Number of responses per observation. |
||
integer, | intent(in) | :: | np |
Number of function parameters. |
||
integer, | intent(out) | :: | msgbi |
Starting location in array |
||
integer, | intent(out) | :: | msgdi |
Starting location in array |
||
integer, | intent(out) | :: | ifix2i |
Starting location in array |
||
integer, | intent(out) | :: | istopi |
Location in array |
||
integer, | intent(out) | :: | nnzwi |
Location in array |
||
integer, | intent(out) | :: | nppi |
Location in array |
||
integer, | intent(out) | :: | idfi |
Location in array |
||
integer, | intent(out) | :: | jobi |
Location in array |
||
integer, | intent(out) | :: | iprinti |
Location in array |
||
integer, | intent(out) | :: | lunerri |
Location in array |
||
integer, | intent(out) | :: | lunrpti |
Location in array |
||
integer, | intent(out) | :: | nrowi |
Location in array |
||
integer, | intent(out) | :: | ntoli |
Location in array |
||
integer, | intent(out) | :: | netai |
Location in array |
||
integer, | intent(out) | :: | maxiti |
Location in array |
||
integer, | intent(out) | :: | niteri |
Location in array |
||
integer, | intent(out) | :: | nfevi |
Location in array |
||
integer, | intent(out) | :: | njevi |
Location in array |
||
integer, | intent(out) | :: | int2i |
Location in array |
||
integer, | intent(out) | :: | iranki |
Location in array |
||
integer, | intent(out) | :: | ldtti |
Location in array |
||
integer, | intent(out) | :: | boundi |
Location in array |
||
integer, | intent(out) | :: | liwkmin |
Minimum acceptable length of array |
pure subroutine loc_iwork & (m, q, np, & msgbi, msgdi, ifix2i, istopi, & nnzwi, nppi, idfi, & jobi, iprinti, lunerri, lunrpti, & nrowi, ntoli, netai, & maxiti, niteri, nfevi, njevi, int2i, iranki, ldtti, & boundi, & liwkmin) !! Get storage locations within integer work space. integer, intent(in) :: m !! Number of columns of data in the independent variable. integer, intent(in) :: q !! Number of responses per observation. integer, intent(in) :: np !! Number of function parameters. integer, intent(out) :: msgbi !! Starting location in array `iwork` of array `msgb`. integer, intent(out) :: msgdi !! Starting location in array `iwork` of array `msgd`. integer, intent(out) :: ifix2i !! Starting location in array `iwork` of array `ifix2`. integer, intent(out) :: istopi !! Location in array `iwork` of variable `istop`. integer, intent(out) :: nnzwi !! Location in array `iwork` of variable `nnzw`. integer, intent(out) :: nppi !! Location in array `iwork` of variable `npp`. integer, intent(out) :: idfi !! Location in array `iwork` of variable `idf`. integer, intent(out) :: jobi !! Location in array `iwork` of variable `job`. integer, intent(out) :: iprinti !! Location in array `iwork` of variable `iprint`. integer, intent(out) :: lunerri !! Location in array `iwork` of variable `lunerr`. integer, intent(out) :: lunrpti !! Location in array `iwork` of variable `lunrpt`. integer, intent(out) :: nrowi !! Location in array `iwork` of variable `nrow`. integer, intent(out) :: ntoli !! Location in array `iwork` of variable `ntol`. integer, intent(out) :: netai !! Location in array `iwork` of variable `neta`. integer, intent(out) :: maxiti !! Location in array `iwork` of variable `maxit`. integer, intent(out) :: niteri !! Location in array `iwork` of variable `niter`. integer, intent(out) :: nfevi !! Location in array `iwork` of variable `nfev`. integer, intent(out) :: njevi !! Location in array `iwork` of variable `njev`. integer, intent(out) :: int2i !! Location in array `iwork` of variable `int2`. integer, intent(out) :: iranki !! Location in array `iwork` of variable `irank`. integer, intent(out) :: ldtti !! Location in array `iwork` of variable `ldtt`. integer, intent(out) :: boundi !! Location in array `iwork` of variable `bound`. integer, intent(out) :: liwkmin !! Minimum acceptable length of array `iwork`. if (np >= 1 .and. m >= 1) then msgbi = 1 msgdi = msgbi + q*np + 1 ifix2i = msgdi + q*m + 1 istopi = ifix2i + np nnzwi = istopi + 1 nppi = nnzwi + 1 idfi = nppi + 1 jobi = idfi + 1 iprinti = jobi + 1 lunerri = iprinti + 1 lunrpti = lunerri + 1 nrowi = lunrpti + 1 ntoli = nrowi + 1 netai = ntoli + 1 maxiti = netai + 1 niteri = maxiti + 1 nfevi = niteri + 1 njevi = nfevi + 1 int2i = njevi + 1 iranki = int2i + 1 ldtti = iranki + 1 boundi = ldtti + 1 liwkmin = boundi + np - 1 else msgbi = 1 msgdi = 1 ifix2i = 1 istopi = 1 nnzwi = 1 nppi = 1 idfi = 1 jobi = 1 iprinti = 1 lunerri = 1 lunrpti = 1 nrowi = 1 ntoli = 1 netai = 1 maxiti = 1 niteri = 1 nfevi = 1 njevi = 1 int2i = 1 iranki = 1 ldtti = 1 boundi = 1 liwkmin = 1 end if end subroutine loc_iwork