function encode_excit_info_scalar(typ, a, i, b, j) result(excit_info_int)
! function to encode the minimal information of an excit-info
! object into a single 64bit integer. used in the PCHB excitation
! generation.
debug_function_name("encode_excit_info_scalar")
integer, intent(in) :: typ, a, i, b, j
integer(int64) :: excit_info_int
#ifdef DEBUG_
select case(typ)
case( excit_type%single_overlap_L_to_R)
case( excit_type%single_overlap_R_to_L )
case( excit_type%double_lowering )
case( excit_type%double_raising )
case( excit_type%double_L_to_R_to_L)
case( excit_type%double_R_to_L_to_R )
case( excit_type%double_L_to_R )
case( excit_type%double_R_to_L )
case( excit_type%fullstop_lowering )
case( excit_type%fullstop_raising )
case( excit_type%fullstop_L_to_R )
case( excit_type%fullstop_R_to_L )
case( excit_type%fullstart_lowering)
case( excit_type%fullstart_raising)
case( excit_type%fullstart_L_to_R)
case( excit_type%fullstart_R_to_L)
case( excit_type%fullstart_stop_alike)
case( excit_type%fullstart_stop_mixed)
case default
print *, "incorrect typ: ", excit_names(typ)
call stop_all(this_routine, "see above")
end select
#endif
ASSERT(a > 0 .and. a <= nSpatOrbs)
ASSERT(i > 0 .and. i <= nSpatOrbs)
ASSERT(b > 0 .and. b <= nSpatOrbs)
ASSERT(j > 0 .and. j <= nSpatOrbs)
excit_info_int = encode_excit_info_vec(typ, [a,i,b,j])
end function encode_excit_info_scalar