o
    jo™iJ  ã                   @   sÊ  d Z ddlZddlZddlmZ ddlmZ ejejŽ Ze ddddd	¡Z	e ee	¡ 
¡  ¡ Zee d	¡ e e d¡ e e d¡ e e d¡ e e d¡ e e d¡ e Ze e d
¡dde¡e e d¡dde¡ e e d¡dde¡ e e d¡d	de¡ e e d¡dde¡ e e d
¡dde¡  ¡ Ze d
¡ 
¡  e 
e¡¡Ze e dd¡dee¡Zee e e  ¡ Ze g d¢¡ ¡ Ze ee d¡¡ ¡ Zdedefdd„Zee ZdS )zñSimple number name grammar for (American) English, to 10 million (exclusive).

This is loosely based on approach used by:

Sproat, R. 1996. Multilingual text analysis for text-to-speech synthesis.
Natural Language Engineering, 2(4): 369-380
é    N)Úpynutil)Úrewritez[E1]z[E1*]ú[E2]ú[E3]ú[E6]Ú0Ú z[EOS]z0[E1]z0[E2]z0[E3]z0[E6]Ú1))r	   Úone)Ú2Útwo)Ú3Úthree)Ú4Úfour)Ú5Úfive)Ú6Úsix)Ú7Úseven)Ú8Úeight)Ú9Únine)z1[E1]Úten)z1[E1*]1Úeleven)z1[E1*]2Útwelve)z1[E1*]3Úthirteen)z1[E1*]4Úfourteen)z1[E1*]5Úfifteen)z1[E1*]6Úsixteen)z1[E1*]7Ú	seventeen)z1[E1*]8Úeighteen)z1[E1*]9Únineteen)z2[E1]Útwenty)z3[E1]Úthirty)z4[E1]Úforty)z5[E1]Úfifty)z6[E1]Úsixty)z7[E1]Úseventy)z8[E1]Úeighty)z9[E1]Úninety)r   Úhundred)r   Úthousand)r   Úmillionú ÚtokenÚreturnc                 C   s   t  | tt ¡S )N)r   Úone_top_rewriteÚ_phiÚ_lambda_star)r1   © r6   úK/home/ubuntu/.local/lib/python3.10/site-packages/pynini/examples/numbers.pyÚnumberT   s   r8   )Ú__doc__ÚstringÚpyniniÚ
pynini.libr   r   ÚunionÚdigitsÚ_digitÚ_powersÚclosureÚoptimizeÚ_sigma_starÚinsertÚ_raw_factorizerÚ	cdrewriteÚdeleteÚ
_del_zerosÚconcatÚ
_pad_zerosÚcrossÚ
_fix_teensr4   Ú
string_mapÚ_lambdaÚjoinr5   Ústrr8   Ú	VERBALIZEr6   r6   r6   r7   Ú<module>   sd   ÿÿÿÿþþþþÿ
ÿþýüûù
ÿó