process_vnode Subroutine

public subroutine process_vnode(buffer_v_to_e, llr_channel, llr_updated, Ne, m_c_to_v, m_v_to_c, B_buffer, F_buffer)

Variable node A Posteriori Probability (APP) processing function

Arguments

Type IntentOptional Attributes Name
type(TEdgeList), intent(in) :: buffer_v_to_e

List of edges connected to the variable node being currently processed

real(kind=wp), intent(in) :: llr_channel

Log-Likelihood ratio (or Log-A Posteriori Probability Ratio) of the variable node being currently processed

real(kind=wp), intent(out) :: llr_updated

Log-Likelihood ratio (or Log-A Posteriori Probability Ratio) of the variable node after processing

integer, intent(in) :: Ne

Total number of edges in the LDPC code

real(kind=wp), intent(in) :: m_c_to_v(Ne)

Array of messages from check-nodes

real(kind=wp), intent(out) :: m_v_to_c(Ne)

Array of messages to check-nodes

real(kind=wp), intent(inout), optional, target :: B_buffer(2:buffer_v_to_e%N)

pre-allocated backwords buffer for partial message processing results

real(kind=wp), intent(inout), optional, target :: F_buffer(buffer_v_to_e%N-1)

pre-allocated forward buffer for partial message processing results


Calls

proc~~process_vnode~~CallsGraph proc~process_vnode process_vnode proc~process_xnode process_xnode proc~process_vnode->proc~process_xnode

Called by

proc~~process_vnode~~CalledByGraph proc~process_vnode process_vnode proc~decode TDecoder%decode proc~decode->proc~process_vnode