CONGEN
5.0
Configuration generation for SCATCI
|
Go to the documentation of this file.
31 use containers,
only: bstree
44 integer,
pointer :: det(:) => null()
45 integer,
pointer :: ndo(:) => null()
70 class(
det_tree),
intent(inout) :: this
71 integer,
pointer,
intent(in) :: ndo(:)
72 integer,
intent(in) :: nelt
77 allocate (this % det(nelt))
92 type(
det_tree),
intent(inout) :: this
94 if (
associated(this % det))
then
95 deallocate (this % det)
113 class(
det_tree),
intent(inout) :: this
114 integer,
dimension(this % nelt),
intent(in) :: det
118 res = this % locate(-1)
136 integer,
intent(in) :: lu, id
140 write (lu,
'("[")', advance =
'no')
142 do i = 1, this % nelt
143 write (lu,
'(1x,I0)', advance =
'no') this % ndo((id - 1) * this % nelt + i)
146 write (lu,
'(1x,"]")')
174 use iso_c_binding,
only: c_ptr
177 integer,
intent(in) :: i, j
178 type(c_ptr),
optional,
intent(in) :: data
180 integer,
pointer :: d1(:), d2(:)
185 d1 => this % ndo((i - 1) * this % nelt + 1 : i * this % nelt)
187 d1 => this % det(1:this % nelt)
192 d2 => this % ndo((j - 1) * this % nelt + 1 : j * this % nelt)
194 d2 => this % det(1:this % nelt)
198 do k = 1, this % nelt
201 if (d1(k) < d2(k))
then
207 if (d1(k) > d2(k))
then
integer function locate_in_det_tree(this, det)
Find a specific determinant in the storage.
Determinant binary search tree.
Determinant binary search tree.
subroutine final_det_tree(this)
Finalize determinant tree.
subroutine init_det_tree(this, ndo, nelt)
Initialize determinant tree.
subroutine write_determinant(this, lu, id)
Write determinat.
integer function compare_determinats(this, i, j, data)
Lexicographically compare two determinats.