| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=n_int), | intent(in) | :: | iLut(0:NIfTot) |
pure function TestClosedShellDet(ilut) result(tClosed) ! Is the determinant closed shell? integer(n_int), intent(in) :: iLut(0:NIfTot) integer(n_int) :: alpha(0:NIfD), beta(0:NIfD) logical :: tClosed ! Separate alphas and betas alpha = iand(ilut(0:NIfD), MaskAlpha) beta = iand(ilut(0:NIfD), MaskBeta) ! Shift and XOR to eliminate paired electrons alpha = ieor(beta, ishft(alpha, -1)) ! Are there any remaining unpaired electrons? tClosed = all(alpha == 0) end function TestClosedShellDet