The main documentation of the Get Value Base_Structure Functions contains additional explanation of this code listing.
define([ACCESS_ROUTINE],[
pushdef([VALUE], [$1])
pushdef([Get_VALUE_Structure], expand(Get_VALUE_Structure))
function Get_VALUE_Structure (Structure) result(VALUE)
! Input/Output variables.
! Base_Structure object.
type(Base_Structure_type), intent(in) :: Structure
! Output variables.
type(integer) :: VALUE ! Base_Structure value to be output.
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! Verify requirements.
VERIFY(Valid_State(Structure),5) ! Base_Structure is valid.
! Set value.
VALUE = Structure%VALUE
! Verify guarantees - none.
return
end function Get_VALUE_Structure
popdef([VALUE])
popdef([Get_VALUE_Structure])
])
fortext([Value],
[First_PE Last_PE Length_PE Length_Total],[
ACCESS_ROUTINE(Value)
])
function Get_Length_Vector_Structure (Structure) result(Length_Vector)
! Input/Output variables.
! Base_Structure object.
type(Base_Structure_type), intent(in) :: Structure
! Output variables.
! Base_Structure value to be output.
type(integer), dimension(NPEs) :: Length_Vector
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! Verify requirements.
VERIFY(Valid_State(Structure),5) ! Base_Structure is valid.
! Set value.
Length_Vector = Structure%Length_Vector
! Verify guarantees - none.
return
end function Get_Length_Vector_Structure
function Get_Locus_Structure (Structure) result(Locus)
! Input variables.
! Base_Structure object.
type(Base_Structure_type), intent(in) :: Structure
! Output variables.
type(character,80) :: Locus ! Base_Structure value to be output.
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! Verify requirements.
VERIFY(Valid_State(Structure),5) ! Base_Structure is valid.
! Set value.
Locus = Structure%Locus
! Verify guarantees - none.
return
end function Get_Locus_Structure
function Get_Range_PE_Structure (Structure) result(Range_PE)
! Input/Output variables.
! Base_Structure object.
type(Base_Structure_type), intent(in) :: Structure
! Output variables.
! Base_Structure value to be output.
type(integer), dimension(2) :: Range_PE
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! Verify requirements.
VERIFY(Valid_State(Structure),5) ! Base_Structure is valid.
! Set value.
Range_PE = Structure%Range_PE
! Verify guarantees - none.
return
end function Get_Range_PE_Structure