
     i                     Z    d dl mZmZ ddlmZmZmZmZmZm	Z	m
Z
 eeeeee	e
dZd Zd ZdS )    )parse_header
add_header   )DeltaRecursiveFloatRunLengthFloatRunLengthDeltaIntRunLengthCharEncodeString	ByteToIntFourByteToInt)
   	                  c                 l    t          |           \  }}}} t          |                             | |          S )zParse the header of an input byte array and then decode using the input array,
    the codec and the appropirate parameter.

    :param input_array: the array to be decoded
    :return the decoded array)r   
codec_dictdecode)input_arraycodeclengthparams       c/srv/www/vhosts/g4struct/public_html/venv/lib/python3.11/site-packages/mmtf/codecs/default_codec.pydecode_arrayr      s5     )5[(A(A%E65+e##K777    c                 ~    t          t          |                             | |          |t          |           |          S )a(  Encode the array using the method and then add the header to this array.

    :param input_array: the array to be encoded
    :param codec: the integer index of the codec to use
    :param param: the integer parameter to use in the function
    :return an array with the header added to the fornt)r   r   encodelen)r   r   r   s      r   encode_arrayr!      s6     j'..{EBBE3{K[K[]bcccr   N)mmtf.utils.codec_utilsr   r   codecsr   r   r   r	   r
   r   r   r   r   r!    r   r   <module>r%      s    : : : : : : : : { { { { { { { { { { { { { { { { { {%"   
8 8 8d d d d dr   