o
    *Î®cs  ã                   @   sN  d dl Z d dlZddlmZ ddlmZmZ eƒ ZG dd„ deƒZ	G dd„ deƒZ
G d	d
„ d
eƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd „ d eƒZd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ ZdS )/é    Né   )Úpacker)Úimport_numpyÚNumpyRequiredForThisFeaturec                   @   ó&   e Zd ZdZdZdZeZdZe	j
ZdS )Ú	BoolFlagsr   FTÚboolN)Ú__name__Ú
__module__Ú__qualname__Ú	bytewidthÚmin_valÚmax_valr   Úpy_typeÚnamer   ÚbooleanÚpacker_type© r   r   ú?/tmp/pip-target-vg8gfxp4/lib/python/flatbuffers/number_types.pyr      ó    
r   c                   @   r   )Ú
Uint8Flagsr   r   éÿ   Úuint8N)r	   r
   r   r   r   r   Úintr   r   r   r   r   r   r   r   r   r   &   r   r   c                   @   r   )ÚUint16Flagsé   r   iÿÿ  Úuint16N)r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   /   r   r   c                   @   r   )ÚUint32Flagsé   r   l   ÿÿ Úuint32N)r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   8   r   r   c                   @   r   )ÚUint64Flagsé   r   l   ÿÿÿÿ Úuint64N)r	   r
   r   r   r   r   r   r   r   r   r"   r   r   r   r   r   r    A   r   r    c                   @   r   )Ú	Int8Flagsr   i€ÿÿÿé   Úint8N)r	   r
   r   r   r   r   r   r   r   r   r%   r   r   r   r   r   r#   J   r   r#   c                   @   r   )Ú
Int16Flagsr   i €ÿÿiÿ  Úint16N)r	   r
   r   r   r   r   r   r   r   r   r'   r   r   r   r   r   r&   S   r   r&   c                   @   r   )Ú
Int32Flagsr   i   €iÿÿÿÚint32N)r	   r
   r   r   r   r   r   r   r   r   r)   r   r   r   r   r   r(   \   r   r(   c                   @   r   )Ú
Int64Flagsr!   lûÿÿÿ         l   ÿÿÿÿ Úint64N)r	   r
   r   r   r   r   r   r   r   r   r+   r   r   r   r   r   r*   e   r   r*   c                   @   ó&   e Zd ZdZdZdZeZdZe	j
ZdS )ÚFloat32Flagsr   NÚfloat32)r	   r
   r   r   r   r   Úfloatr   r   r   r.   r   r   r   r   r   r-   n   r   r-   c                   @   r,   )ÚFloat64Flagsr!   NÚfloat64)r	   r
   r   r   r   r   r/   r   r   r   r1   r   r   r   r   r   r0   w   r   r0   c                   @   ó   e Zd ZdS )ÚSOffsetTFlagsN©r	   r
   r   r   r   r   r   r3   €   ó    r3   c                   @   r2   )ÚUOffsetTFlagsNr4   r   r   r   r   r6   „   r5   r6   c                   @   r2   )ÚVOffsetTFlagsNr4   r   r   r   r   r7   ˆ   r5   r7   c                 C   s4   |j d u r|jd u rdS |j |   ko|jkS   S )NT)r   r   ©ÚnÚflagsr   r   r   Úvalid_numberŒ   s   r;   c                 C   sL   |j d u r|jd u rd S |j |   kr|jks$n tdt| ƒ|jf ƒ‚d S )Nzbad number %s for type %s)r   r   Ú	TypeErrorÚstrr   r8   r   r   r   Úenforce_number’   s
   ÿr>   c                 C   ó   t  d| ¡}t  d|¡\}|S )Nú<1fú<1L©ÚstructÚpackÚunpack©r9   ÚpackedÚ	convertedr   r   r   Úfloat32_to_uint32™   ó   rI   c                 C   r?   )NrA   r@   rB   ©r9   rG   Úunpackedr   r   r   Úuint32_to_float32Ÿ   rJ   rM   c                 C   r?   )Nú<1dú<1QrB   rF   r   r   r   Úfloat64_to_uint64¥   rJ   rP   c                 C   r?   )NrO   rN   rB   rK   r   r   r   Úuint64_to_float64«   rJ   rQ   c                 C   s"   t d urt  | j¡ d¡S tdƒ‚)Nú<zNumpy was not found.)ÚnpÚdtyper   Únewbyteorderr   )Únumber_typer   r   r   Úto_numpy_type±   s   rW   )ÚcollectionsrC   Ú r   Úcompatr   r   rS   Úobjectr   r   r   r   r    r#   r&   r(   r*   r-   r0   r3   r6   r7   r;   r>   rI   rM   rP   rQ   rW   r   r   r   r   Ú<module>   s4   											