mirror of
https://github.com/LCPQ/quantum_package
synced 2024-11-07 22:53:57 +01:00
17 lines
517 B
Fortran
17 lines
517 B
Fortran
subroutine apply_mono(i_hole,i_particle,ispin_excit,key_in,Nint)
|
|
implicit none
|
|
integer, intent(in) :: i_hole,i_particle,ispin_excit,Nint
|
|
integer(bit_kind), intent(inout) :: key_in(Nint,2)
|
|
integer :: k,j
|
|
use bitmasks
|
|
! hole
|
|
k = ishft(i_hole-1,-bit_kind_shift)+1
|
|
j = i_hole-ishft(k-1,bit_kind_shift)-1
|
|
key_in(k,ispin_excit) = ibclr(key_in(k,ispin_excit),j)
|
|
|
|
k = ishft(i_particle-1,-bit_kind_shift)+1
|
|
j = i_particle-ishft(k-1,bit_kind_shift)-1
|
|
key_in(k,ispin_excit) = ibset(key_in(k,ispin_excit),j)
|
|
|
|
end
|