is_core_state Function

public function is_core_state(ilut, nI, run_) result(t_core)

Uses

Check whether an ilut belongs to the core space @param[in] ilut ilut we want to check @param[in] nI determinant corresponding to this ilut. Redundant, but is passed for performance reasons (decoding is expensive and we likely already know nI at this point) @return t_core true if and only if ilut is in the core space

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:NIfTot)
integer, intent(in) :: nI(:)
integer, intent(in), optional :: run_

Return Value logical


Contents

Source Code


Source Code

    function is_core_state(ilut, nI, run_) result(t_core)
        use hash, only: FindWalkerHash

        integer(n_int), intent(in) :: ilut(0:NIfTot)
        integer, intent(in) :: nI(:)
        integer, intent(in), optional :: run_
        integer :: i, run
        logical :: t_core

        def_default(run, run_, core_run)
        if (t_global_core_space) run = core_run

        associate(rep => cs_replicas(run))
            call shared_rht_lookup(rep%core_ht, ilut, nI, rep%core_space, i, t_core)
        end associate
    end function is_core_state