private pure subroutine redi_open_window(nz, ok, kb, kt)
A face’s OPEN WINDOW from its per-layer ok flags (open .and.
live on both sides; module header): kt the topmost ok layer,
kb..kt the contiguous ok run counted down from it. No ok
layer ⇒ kb = 1, kt = 0 (an empty window, kt < kb).
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Variables
Type
Visibility
Attributes
Name
Initial
integer,
private
::
k
Source Code
pure subroutine redi_open_window(nz,ok,kb,kt)!$acc routine seq!! A face's OPEN WINDOW from its per-layer `ok` flags (`open .and.`!! live on both sides; module header): `kt` the topmost `ok` layer,!! `kb..kt` the contiguous `ok` run counted down from it. No `ok`!! layer ⇒ `kb = 1`, `kt = 0` (an empty window, `kt < kb`).integer,intent(in)::nzlogical,intent(in)::ok(NZ_STACK_MAX)integer,intent(out)::kb,ktinteger::kkt=0do k=nz,1,-1if(ok(k))thenkt=kexit end if end dokb=1if(kt>0)thenkb=ktdo k=kt-1,1,-1if(.not.ok(k))exitkb=kend do end if end subroutine redi_open_window