35 #include "qrm_common.h" 60 integer,
allocatable :: cperm(:)
63 integer,
allocatable :: icperm(:)
66 integer,
allocatable :: rperm(:)
70 integer,
allocatable :: cp_ptr(:)
73 integer,
allocatable :: rc(:)
76 integer,
allocatable :: parent(:)
78 integer,
allocatable :: child(:)
81 integer,
allocatable :: childptr(:)
84 integer,
allocatable :: nfrows(:)
97 integer,
allocatable :: stair(:)
100 integer,
allocatable :: small(:)
102 integer,
allocatable :: fcol(:)
105 integer,
allocatable :: fcol_ptr(:)
108 integer,
allocatable :: leaves(:)
119 logical :: ok=.false.
139 character(len=*),
parameter :: name=
'qrm_adata_copy' 157 __qrm_check_ret(name,
'qrm_alloc',9999)
159 if(
allocated(adata_in%cperm))adata_out%cperm = adata_in%cperm
160 if(
allocated(adata_in%icperm))adata_out%icperm = adata_in%icperm
161 if(
allocated(adata_in%rperm))adata_out%rperm = adata_in%rperm
162 if(
allocated(adata_in%cp_ptr))adata_out%cp_ptr = adata_in%cp_ptr
163 if(
allocated(adata_in%rc))adata_out%rc = adata_in%rc
164 if(
allocated(adata_in%parent))adata_out%parent = adata_in%parent
165 if(
allocated(adata_in%child))adata_out%child = adata_in%child
166 if(
allocated(adata_in%childptr))adata_out%childptr = adata_in%childptr
167 if(
allocated(adata_in%nfrows))adata_out%nfrows = adata_in%nfrows
168 if(
allocated(adata_in%stair))adata_out%stair = adata_in%stair
169 if(
allocated(adata_in%leaves))adata_out%leaves = adata_in%leaves
170 if(
allocated(adata_in%fcol))adata_out%fcol = adata_in%fcol
171 if(
allocated(adata_in%fcol_ptr))adata_out%fcol_ptr = adata_in%fcol_ptr
172 if(
allocated(adata_in%small))adata_out%small = adata_in%small
173 adata_out%nnodes = adata_in%nnodes
174 adata_out%ncsing = adata_in%ncsing
175 adata_out%nrsing = adata_in%nrsing
176 adata_out%nleaves = adata_in%nleaves
177 adata_out%ok = adata_in%ok
206 character(len=*),
parameter :: name=
'qrm_adata_move' 210 call move_alloc(adata_in%cperm , adata_out%cperm )
211 call move_alloc(adata_in%icperm , adata_out%icperm )
212 call move_alloc(adata_in%rperm , adata_out%rperm )
213 call move_alloc(adata_in%cp_ptr , adata_out%cp_ptr )
214 call move_alloc(adata_in%rc , adata_out%rc )
215 call move_alloc(adata_in%parent , adata_out%parent )
216 call move_alloc(adata_in%child , adata_out%child )
217 call move_alloc(adata_in%childptr, adata_out%childptr )
218 call move_alloc(adata_in%nfrows , adata_out%nfrows )
219 call move_alloc(adata_in%stair , adata_out%stair )
220 call move_alloc(adata_in%leaves , adata_out%leaves )
221 call move_alloc(adata_in%fcol , adata_out%fcol )
222 call move_alloc(adata_in%fcol_ptr, adata_out%fcol_ptr )
223 call move_alloc(adata_in%small , adata_out%small )
225 adata_out%nnodes = adata_in%nnodes
226 adata_out%ncsing = adata_in%ncsing
227 adata_out%nrsing = adata_in%nrsing
228 adata_out%nleaves = adata_in%nleaves
229 adata_out%ok = adata_in%ok
256 character(len=*),
parameter :: name=
'qrm_adata_destroy' 274 __qrm_check_ret(name,
'qrm_dealloc',9999)
Generic interface for the qrm_adealloc_i, qrm_adealloc_2i, qrm_adealloc_s, qrm_adealloc_2s, qrm_adealloc_3s, qrm_adealloc_d, qrm_adealloc_2d, qrm_adealloc_3d, qrm_adealloc_c, qrm_adealloc_2c, qrm_adealloc_3c, qrm_adealloc_z, qrm_adealloc_2z, qrm_adealloc_3z, routines.
This module contains the definition of the analysis data type.
subroutine qrm_err_act_save(err_act)
Saves a copy of the qrm_err_act variable.
This module contains all the error management routines and data.
subroutine qrm_adata_destroy(adata)
Frees an qrm_adata_type instance.
The main data type for the analysis phase.
Generic interface for the qrm_aalloc_i, qrm_aalloc_2i, qrm_aalloc_s, qrm_aalloc_2s, qrm_aalloc_3s, qrm_aalloc_d, qrm_aalloc_2d, qrm_aalloc_3d, qrm_aalloc_c, qrm_aalloc_2c, qrm_aalloc_3c, qrm_aalloc_z, qrm_aalloc_2z, qrm_aalloc_3z, routines.
integer, parameter qrm_abort_
Possible actions to be performed upon detection of an error.
subroutine qrm_err_check()
This subroutine checks the errors stack. If something is found all the entries in the stack are poppe...
subroutine qrm_adata_copy(adata_in, adata_out)
make s a copy of an qrm_adata_type instance
Generic interface for the qrm_asize_i, qrm_asize_s, qrm_asize_2s, qrm_asize_3s, qrm_asize_d, qrm_asize_2d, qrm_asize_3d, qrm_asize_c, qrm_asize_2c, qrm_asize_3c, qrm_asize_z, qrm_asize_2z, qrm_asize_3z routines.
subroutine qrm_adata_move(adata_in, adata_out)
make s a move of an qrm_adata_type instance
This module implements the memory handling routines. Pretty mucch allocations and deallocations...
subroutine qrm_err_act_restore(err_act)
Restores the value of the qrm_err_act variable.