B
    g\0                 @   s4   d dl Z G dd deZdd Zdd Zdd	 ZdS )
    Nc               @   s.   e Zd ZdgZedd Zdd Zdd ZdS )	Categorical_tabc             C   s.   t jt jj||}t }||||  |S )N)flatbuffersencodeGetpackeruoffsetr   Init)clsbufoffsetnx r   Z/global/project/projectdirs/dasrepo/etalumis/pyprob_master_mar18/pyprob/ppx/Categorical.pyGetRootAsCategorical
   s    z Categorical.GetRootAsCategoricalc             C   s   t j||| _d S )N)r   tableTabler   )selfr   posr   r   r   r	      s    zCategorical.Initc             C   s\   t jj| jd}|dkrX| j|| jj }ddlm} | }|	| jj
| |S d S )N   r      )Tensor)r   number_typesUOffsetTFlagspy_typer   OffsetIndirectPosr   r	   Bytes)r   or   r   objr   r   r   Probs   s    zCategorical.ProbsN)__name__
__module____qualname__	__slots__classmethodr   r	   r"   r   r   r   r   r      s   r   c             C   s   |  d d S )Nr   )StartObject)builderr   r   r   CategoricalStart    s    r*   c             C   s   |  dtjj|d d S )Nr   )PrependUOffsetTRelativeSlotr   r   r   r   )r)   probsr   r   r   CategoricalAddProbs!   s    r-   c             C   s   |   S )N)	EndObject)r)   r   r   r   CategoricalEnd"   s    r/   )r   objectr   r*   r-   r/   r   r   r   r   <module>   s   