Ë
    täi|-  ã                   óÖ  — d dl mZmZ ed„ «       Zed„ «       Zed„ «       Zed„ «       Zedd„«       Zed„ «       Zed„ «       Z	edd	„«       Z
edd
„«       Zed d„«       Zed!d„«       Zed"d„«       Zed"d„«       Zed"d„«       Zed„ «       Zed"d„«       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zy)#é   )ÚdefunÚdefun_wrappedc                 óò   — | j                  |d«      }d| j                  | j                  «      z  |z  | j                  dd|«      z  }| j	                  |«      s| j                  |«      | j                  z  }|S )Néÿÿÿÿé   ©r   r   ©é   r   ©Úsquare_exp_argÚsqrtÚpiÚhyp1f1Ú_reÚ_imÚj©ÚctxÚzÚz2Úvs       úl/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/mpmath/functions/expintegrals.pyÚ_erf_complexr      sh   € à	×	Ñ	˜A˜rÓ	"€Bà	
ˆ3�8‰8�C—F‘FÓÑ	˜QÑ §¡¨E°%¸Ó!<Ñ<€AØ�7‰7�1Œ:Ø�G‰G�A‹J�s—u‘uÑˆØ€Hó    c                 ó†  — | j                  |«      dkD  rf| j                  |«      }| j                  |d¬«      }| j                  |«      | j	                  | j
                  «      z  | j                  dd|«      z  }nd| j                  |«      z
  }| j                  |«      s!d| j                  |«      | j                  z  z   }|S )Nr   T©Úexactr   r   )Úrer   ÚfnegÚexpr   r   Úhyperur   r   r   r   )r   r   r   Únz2r   s        r   Ú_erfc_complexr#      s¤   € à
‡v�vˆaƒy�1‚}Ø×Ñ Ó"ˆØ�h‰h�r ˆhÓ&ˆØ�G‰G�C‹L˜Ÿ™ #§&¡&Ó)Ñ)¨C¯J©J°u¸UÀBÓ,GÑG‰à�× Ñ  Ó#Ñ#ˆØ�7‰7�1Œ:Øˆc�g‰g�a‹j˜Ÿ™ÑÑˆØ€Hr   c                 óX  — | j                  |«      }| j                  |«      r	 | j                  |«      S | j	                  |«      r7|j
                  s+	  t        |«      | j                  |j                  «      «      S | j                  |«      S # t        $ r Y Œdw xY w# t        $ r Y Œ+w xY w©N)	ÚconvertÚ_is_real_typeÚ_erfÚNotImplementedErrorÚ_is_complex_typeÚimagÚtypeÚrealr   ©r   r   s     r   Úerfr/      s£   € à�‰�A‹€AØ
×Ñ˜Ôð	Ø—8‘8˜A“;Ðð ×Ñ˜AÔ q§v¢vð	Ø”4˜“7˜3Ÿ8™8 A§F¡FÓ+Ó,Ð,ð ×Ñ˜AÓÐøô #ò 	Ùð	ûô
 #ò 	Ùð	úó#   ¤B Á)B Â	BÂBÂ	B)Â(B)c                 óX  — | j                  |«      }| j                  |«      r	 | j                  |«      S | j	                  |«      r7|j
                  s+	  t        |«      | j                  |j                  «      «      S | j                  |«      S # t        $ r Y Œdw xY w# t        $ r Y Œ+w xY wr%   )	r&   r'   Ú_erfcr)   r*   r+   r,   r-   r#   r.   s     r   Úerfcr3   '   s£   € à�‰�A‹€AØ
×Ñ˜Ôð	Ø—9‘9˜Q“<Ðð ×Ñ˜AÔ q§v¢vð	Ø”4˜“7˜3Ÿ9™9 Q§V¡VÓ,Ó-Ð-ð ×Ñ˜QÓÐøô #ò 	Ùð	ûô
 #ò 	Ùð	úr0   c                 óî   — | j                   dz  dz   }|r3| j                  |||¬«      }| j                  | j                  ||¬«      }n| j                  |||¬«      }|dk7  r| j                  ||d¬«      }|S )Né   é   )Úprecr   Tr   )r7   ÚfmulÚfdivÚone)r   r   ÚmultÚ
reciprocalr7   r   s         r   r   r   6   sv   € à�8‰8�A‰:�b‰=€DÙØ�X‰X�a˜ ˆXÓ&ˆØ�X‰X�c—g‘g˜r¨ˆXÓ-‰à�X‰X�a˜ ˆXÓ&ˆØˆq‚yØ�X‰X�b˜$ dˆXÓ+ˆØ€Ir   c                 óø   — |s|S | j                  |«      }d| j                  | j                  «      z  |z  | j                  dd|«      z  }| j	                  |«      s| j                  |«      | j                  z  }|S )Nr   r   r	   r   r   s       r   Úerfir>   B   sn   € áØˆØ	×	Ñ	˜AÓ	€BØ	
ˆ3�8‰8�C—F‘FÓÑ	˜AÑ	 §¡¨E°5¸"Ó!=Ñ=€AØ�7‰7�1Œ:Ø�G‰G�A‹J�s—u‘uÑˆØ€Hr   c                 ó6  ‡ ‡— ‰ j                  ‰«      }|‰k7  s
|dk  s|dkD  r‰ j                  d«      S |Š‰s‰S ‰dk(  r‰ j                  S ‰dk(  r‰ j                  S t	        ‰«      dk  rd‰dz  z  d‰z  z   }nw‰ j                  d‰ j                  z  t	        ‰«      dz
  dz  z  «      }‰ j                  ‰«      ‰ j                  |‰ j                  |«      z
  «      z  ‰ j                  d«      z  }‰ xj                  d	z  c_	        ‰ j                  ˆ ˆfd
„|«      S )Nr   r   z*erfinv(x) is defined only for -1 <= x <= 1gÍÌÌÌÌÌì?g¨o™Óe1á?r
   g†åÏ·ê?r   é
   c                 ó,   •— ‰j                  | «      ‰z
  S r%   )r/   )Útr   Úxs    €€r   Ú<lambda>zerfinv.<locals>.<lambda>]   s   ø€  #§'¡'¨!£*¨Q¢,r   )r   Ú
bad_domainÚinfÚninfÚabsÚlnr   Úsignr   r7   Úfindroot)r   rC   ÚxreÚaÚus   ``   r   ÚerfinvrO   L   sú   ù€ à
�'‰'�!‹*€CØˆqŠ�c˜B’h C¨!¢GØ�~‰~ÐJÓKÐKØ€Aá�QˆhØˆA‚v�c—g‘gˆ~ØˆB‚w�s—x‘x�Ü
ˆ1ƒv�‚|Ø�A�q‘D‰L˜8 A™:Ñ%‰ð �F‰F�1�S—V‘V‘8œS ›V A™X¨™MÑ)Ó*ˆØ�H‰H�Q‹K˜#Ÿ(™( 1 s§v¡v¨a£y¡=Ó1Ñ1°#·(±(¸1³+Ñ=ˆØ‡H‚H��N…HØ�<‰<Ô.°Ó2Ð2r   c                 óª   — | j                  |«      }| j                  ||z
  dz   d|dz  z  z  «      || j                  d| j                  z  «      z  z  S )Nr   )r&   r    r   r   )r   rC   ÚmuÚsigmas       r   ÚnpdfrS   _   sQ   € à�K‰K˜Ó€EØ�7‰7�Q�r‘T˜A‘I�:˜q ¨¡™zÑ*Ó+¨u°S·X±X¸aÀÇÁ¹hÓ5GÑ/GÑHÐHr   c                 ó˜   — ||z
  || j                  d«      z  z  }|dk  r| j                  | «      dz  S d| j                  |«      z   dz  S )Nr   é    r   )r   r3   r/   )r   rC   rQ   rR   rM   s        r   ÚncdfrV   d   sO   € à	
ˆ2‰��c—h‘h˜q“kÑ!Ñ"€AØˆ1‚uØ�x‰x˜˜‹|˜A‰~Ðà�#—'‘'˜!“*‘˜aÑÐr   c                 ó0  — ||k(  rd}nö|sA|dk(  r|dk(  r| j                  ||«      }n×||z  | j                  |d|z
  |dz   |«      z  |z  }n³| j                  |«      \  }}|dk  rR|| j                   k  r(| j                  ­}	| xj                  dz  c_        ||	z  }n|dk  r| xj                  |z  c_        ||z  | j                  |d|z
  |dz   |«      z  }
||z  | j                  |d|z
  |dz   |«      z  }|
|z
  |z  }|r|| j                  ||«      z  }|S )NrU   r   r   éüÿÿÿ)ÚbetaÚhyp2f1Únint_distancer7   Úeps)r   rM   ÚbÚx1Úx2Úregularizedr   ÚmÚdÚhÚs1Ús2s               r   Úbetaincrf   l   s'  € à	ˆR‚xØ‰ÙØ�Š7�r˜Q’wØ—‘˜˜A“‰Aà�A‘˜Ÿ
™
 1 a¨¡c¨1¨Q©3°Ó3Ñ3°aÑ7‰Aà× Ñ  Ó#‰ˆˆ1Ø�Š6Ø�C—H‘H�9Š}Ø—W‘W�H�Ø—’˜A‘•Ø�Q‘‘Ø�R’Ø—’˜A‘•Ø�‰U�S—Z‘Z  ! A¡# a¨¡c¨"Ó-Ñ-ˆØ�‰U�S—Z‘Z  ! A¡# a¨¡c¨"Ó-Ñ-ˆØ�"‰W˜‰MˆÙØ	ˆS�X‰X�a˜‹]ÑˆØ€Hr   Nc                 óÞ  — t        |«      }| j                  |«      }|€| j                  }d}n | j                  |«      }|| j                  k7  }|€| j                  }d}n | j                  |«      }|| j                  k7  }|sa|s_|rL| j	                  |«      dk  r| j                  S | j	                  |«      dkD  r| j
                  S | j                  S | j                  |«      S ||k(  r| j                  S | j	                  |«      | j	                  |«      kD  r| j                  ||||«       S |r|r| j                  ||||«      ­S |r| j                  |||«      S |r| j                  |||«      S y )NFrU   )Úboolr&   ÚzerorF   r   r:   ÚnanÚgammaÚgammaincÚ_gamma3Ú_upper_gammaÚ_lower_gamma)r   r   rM   r]   r`   Úlower_modifiedÚupper_modifieds          r   rl   rl   …   sT  € ä�{Ó#€KØ�‰�A‹€AØ€yØ�H‰HˆØ‰à�K‰K˜‹NˆØ˜cŸh™h™ˆØ€yØ�G‰GˆØ‰à�K‰K˜‹NˆØ˜cŸg™g™ˆá™nÙØ�v‰v�a‹y˜1Š}Ø—w‘w�Ø—‘˜“˜Q’Ø—w‘w�à—w‘w�Ø�y‰y˜‹|ÐØˆA‚vØ�x‰xˆà
‡v�vˆaƒy�3—6‘6˜!“9ÒØ—‘˜Q  1 kÓ2Ð2Ð2á™.Ø—‘˜A˜q ! [Ó1Ð1Ð1á	Ø×Ñ  1 kÓ2Ð2á	Ø×Ñ  1 kÓ2Ð2ð 
r   c                 óÊ   ‡ ‡‡‡— ‰ j                  |«      r t        |«      ‰ j                  «      S |g|z  Š‰ j                  ‰d¬«      Šˆˆˆ ˆfd„}‰ j	                  ||g«      S )NTr   c                 óP   •— ‰j                  ‰«      ‰| gd| dgg ‰dgd| z   g‰f}|fS )Nr   r   ©r    )r   ÚT1ÚGr]   r   Únegbs     €€€€r   rc   z_lower_gamma.<locals>.hµ   s;   ø€ Ø�g‰g�d‹m˜Q Ð" Q¨¨2 J°°A¸°s¸Q¸q¹S¸EÀ1ÐDˆØˆuˆr   )Úisnpintr,   rF   r   Ú	hypercomb)r   r   r]   r`   rc   rv   rw   s   ` `  @@r   ro   ro   ®   s]   û€ ð ‡{�{�1„~ØŒt�A‹w�s—w‘wÓÐØ	
ˆˆkÑ€AØ�8‰8�A˜Tˆ8Ó"€D÷ð �=‰=˜˜Q˜CÓ Ð r   c                 óž  ‡ ‡‡‡— ‰ j                  |«      rŽ	 |ry‰ j                  |«      r t        |«      ‰ j                  «      S ‰ j                  }	 ‰ xj                  dz  c_        ‰ j                  |‰«      ‰ j                  |«      z  |‰ _        S ‰ j                  |‰«      S |dk(  r‰dk(  r|‰z   dz  S |dk(  r‰dk(  s‰dk(  r|‰z   dz  S ‰ j                  ‰d¬	«      Š|g|z  Š	 ˆˆˆ ˆfd
„}‰ j                  ||gd¬«      S # |‰ _        w xY w# t        $ r Y Œww xY w# ‰ j                  $ r ˆˆˆ ˆfd„}‰ j                  ||g«      cY S w xY w)Nr@   r   r   rU   r
   y      ð¿      ð¿y      ð¿      ð?Tr   c                 óT   •— | dz
  }‰j                  ‰«      ‰gd|gg ‰d| gg d‰z  fgS ©Nr   rt   )r   Úrrv   rM   r   Únegas     €€€€r   rc   z_upper_gamma.<locals>.hÖ   s?   ø€ Ø�!‘ˆAØ—g‘g˜d“m QÐ'¨!¨Q¨°°Q¸¸Q¸B¸ÀÀQÀtÁVÐLÐMÐMr   )Úforce_seriesc                 ór   •— g d| dz
  g| g‰g g df}‰j                  ‰«       ‰| gd| dgg ‰dgd| z   g‰f}||fS )Nr   rU   r   rt   )r   ru   ÚT2rv   rM   r   r~   s      €€€€r   rc   z_upper_gamma.<locals>.hÛ   s]   ø€ Ø�a˜˜1™�X ˜s A r¨2¨qÐ0ˆBØ—7‘7˜4“=�. ! QÐ'¨!¨Q°¨°R¸¸Q¸CÀ!ÀAÁ#ÀÈÐIˆBØ�r�6ˆMr   )Úisintrx   r,   ri   r7   Ú_gamma_upper_intrk   r)   r   ry   ÚNoConvergence)r   r   rM   r`   Úorigrc   rv   r~   s   ` `   @@r   rn   rn   º   sV  û€ ð ‡y�y�„|ð	Ùà—;‘;˜q”>Ø"œ4 ›7 3§8¡8Ó,Ð,Ø—x‘x�ð$Ø—H’H ‘N•HØ×/Ñ/°°1Ó5¸¿	¹	À!»ÑDà#�C•Hà×+Ñ+¨A¨qÓ1Ð1ð 	ˆA‚v�!�r’'Ø�!‘�Q‰wˆØˆA‚v�1˜’:  e¢Ø�!‘�Q‰wˆØ�8‰8�A˜Tˆ8Ó"€DØ	
ˆˆkÑ€Að
%÷	Nð �}‰}˜Q  °$ˆ}Ó7Ð7øð#  $�C•Hûô #ò 	Ùð	ûð ×Ñò %÷	ð �}‰}˜Q  Ó$Ò$ð%úsG   —-D ÁD Á8D Â
D ÂD Ã'D Ä	DÄD Ä	DÄDÄ*EÅEc                 ót  — | j                  |«      }|r|r| j                  S 	 | xj                  dz  c_        | j                  |||¬«      }| j                  |||¬«      }||z
  }| j	                  |«      t        | j	                  |«      | j	                  |«      «      z
  dkD  r|| xj                  dz  c_        S |sG| j                  |d||¬«      }| j                  |d||¬«      }||z
  }	 || xj                  dz  c_        S 	 | xj                  dz  c_        t        ‚# | xj                  dz  c_        w xY w)Né   )r`   iöÿÿÿrU   )rx   ri   r7   rl   ÚmagÚmaxr)   )	r   r   rM   r]   r`   Úpoleru   r�   ÚRs	            r   rm   rm   á   s  € à�;‰;�q‹>€DÙ‘tØ�x‰xˆðØ�Š�B‰�ð �\‰\˜!˜Q¨Kˆ\Ó8ˆØ�\‰\˜!˜Q¨Kˆ\Ó8ˆØ�‰GˆØ�7‰7�1‹:œ˜CŸG™G B›K¨¯©°«Ó5Ñ5¸Ò;Øð 	�Š�B‰Žñ Ø—‘˜a  A°;�Ó?ˆBØ—‘˜a  A°;�Ó?ˆBØ�R‘ˆAð Øà�Š�B‰Žð ð 	�Š�B‰�Ü
Ðøð 	�Š�B‰Žús   £BD  Â;3D  Ä D7c                 óB  — | j                  |«      r$| j                  |«      r	 | j                  ||«      S | j	                  |«      s| j	                  |«      r||z  S || j
                  k(  rd|z  S |dk(  rA| j                  |«      dk  r t        |«      | j
                  «      S | j                  |dz
  z  S |dk(  r| j                  | «      |z  S |dk(  r| j                  | «      |dz   z  |dz  z  S ||dz
  z  | j                  d|z
  |«      z  S # t        $ r Y Œçw xY w)Nr   rU   r   r   )r‚   r'   Ú_expint_intr)   ÚisnanrF   r   r,   r:   r    rl   )r   Únr   s      r   Úexpintr�   û   s  € à
‡y�y�„|˜×)Ñ)¨!Ô,ð	Ø—?‘? 1 aÓ(Ð(ð ‡y�y�„|�s—y‘y ”|Ø�‰sˆ
ØˆC�G‰G‚|Ø�‰sˆ
ØˆA‚và�6‰6�!‹9˜Š>à”4˜“7˜3Ÿ7™7Ó#Ð#à—7‘7˜A˜a™C‘=Ð ØˆA‚vØ�w‰w˜�r‹{˜1‰}ÐØˆB‚wØ�w‰w˜�r‹{˜A˜a™CÑ   A¡Ñ%Ð%Øˆq�‰s‰8�c—l‘l 1 Q¡3¨Ó*Ñ*Ð*øô# #ò 	Ùð	ús   ¤D Ä	DÄDc                 ó
  — |rM|dk(  r| j                   S | j                  | j                  |«      «      | j                  | j                  «      z
  S |s|S |dk(  r| j                  S | j                  | j                  |«      «      S )Nr   r   )ri   ÚeirI   Úln2rG   )r   r   Úoffsets      r   Úlir•     sl   € áØ�Š6Ø—8‘8ˆOØ�v‰v�c—f‘f˜Q“iÓ  3§6¡6¨#¯'©'£?Ñ2Ð2ÙØˆØˆA‚vØ�x‰xˆØ�6‰6�#—&‘&˜“)ÓÐr   c                 óf   — 	 | j                  |«      S # t        $ r | j                  |«      cY S w xY wr%   )Ú_eir)   Ú_ei_genericr.   s     r   r’   r’     ó3   € ð"Ø�w‰w�q‹zÐøÜò "Ø�‰˜qÓ!Ò!ð"úó   ‚ “0¯0c                 óþ  — || j                   k(  r|S || j                  k(  r| j                  S | j                  |«      dkD  rœ	 | j                  |z  }| j                  |«      | j                  ddgg || j                  d¬«      z  |z  }| j                  |«      }|dkD  r|| j                  | j                  z  z  }|dk  r|| j                  | j                  z  z  }|S || j                  dddd|«      z  | j                  z   }| j                  |«      r8|d| j                  |«      | j                  | j                  |z  «      z
  z  z  }|S || j                  t        |«      «      z  }|S # | j                  $ r Y Œžw xY w)Nr   T)Úmaxtermsr   rU   r   ç      à?)rF   rG   ri   rˆ   r:   r    Úhyperr7   r   r   r   r„   Úhyp2f2ÚeulerÚlogrH   )r   r   r}   r   Úims        r   r˜   r˜   &  sn  € ð 	ˆC�G‰G‚|ØˆØˆC�H‰H‚}Ø�x‰xˆØ
‡w�wˆqƒz�A‚~ð	Ø—‘˜‘	ˆAØ—‘˜“
˜3Ÿ9™9 a¨ U¨2¨aØŸ™°ð %ó 6ñ 6Ø67ñ8ˆAà—‘˜“ˆBØ�AŠvØ�S—V‘V˜CŸE™E‘\Ñ!�Ø�AŠvØ�S—V‘V˜CŸE™E‘\Ñ!�ØˆHð 	
ˆ#�*‰*�Q�q˜˜1˜QÓ
Ñ #§)¡)Ñ+€AØ
‡w�wˆq„zØ	ˆS�#—'‘'˜!“*˜sŸw™w s§w¡w¨q¡yÓ1Ñ1Ñ2Ñ2ˆð €Hð 	
ˆS�W‰W”S˜“V‹_ÑˆØ€Høð × Ñ ò 	Ùð	ús   ÁBE* Å*E<Å;E<c                 óh   — 	 | j                  |«      S # t        $ r | j                  d|«      cY S w xY wr|   )Ú_e1r)   r�   r.   s     r   Úe1r¥   B  s5   € ð Ø�w‰w�q‹zÐøÜò  Ø�z‰z˜!˜QÓÒð ús   ‚ “1°1c                 óf   — 	 | j                  |«      S # t        $ r | j                  |«      cY S w xY wr%   )Ú_cir)   Ú_ci_genericr.   s     r   Úcir©   I  r™   rš   c                 ó¦  — | j                  |«      r9|| j                  k(  r| j                  S || j                  k(  r| j                  dz  S | j                  | j                  |d¬«      }| j                  |d¬«      }d| j                  |«      | j                  |«      z   z  }| j                  |«      }| j                  |«      }|dk(  r.|dkD  r|| j                  dz  z  }|dk  r|| j                  dz  z  }|dk  r.|dk\  r|| j                  dz  z  }|dk  r|| j                  dz  z  }| j                  |«      r|dkD  r| j                  |«      }|S )Nù              ð?Tr   r�   rU   ù              à?)ÚisinfrF   ri   rG   r   r8   r   r   r’   r   r   r'   )r   r   ÚjzÚnjzr   ÚzrealÚzimags          r   r¨   r¨   P  s-  € à
‡y�y�„|Ø�—‘Š< §¡˜Ø�—‘Š= §¡¨¡Ð*Ø	�‰�#—%‘%˜ ˆÓ	%€BØ
�(‰(�2˜Dˆ(Ó
!€CØˆS�V‰V�B‹Z˜#Ÿ&™& ›+Ñ%Ñ&€AØ�G‰G�A‹J€EØ�G‰G�A‹J€EØ�‚zØ�1Š9�a˜3Ÿ6™6 $™;Ñ&�aØ�1Š9�a˜3Ÿ6™6 $™;Ñ&�aØˆq‚yØ�AŠ:�q˜CŸF™F 2™I‘~�qØ�AŠ:�q˜CŸF™F 2™I‘~�qØ
×Ñ˜Ô ¨¢	Ø�G‰G�A‹JˆØ€Hr   c                 óf   — 	 | j                  |«      S # t        $ r | j                  |«      cY S w xY wr%   )Ú_sir)   Ú_si_genericr.   s     r   Úsirµ   d  r™   rš   c                 ór  — | j                  |«      r<|| j                  k(  rd| j                  z  S || j                  k(  rd| j                  z  S | j	                  |«      dk\  rº| j                  | j                  |d¬«      }| j                  |d¬«      }d| j                  |«      | j                  |«      z
  z  }| j                  |«      }|dkD  r|d| j                  z  z  }|dk  r|d| j                  z  z  }| j                  |«      r| j                  |«      }|S || j                  dd	d	d
|z  |z  «      z  S )Nr�   ç      à¿r   Tr   y       €      à¿rU   r   r	   g      Ð¿)r­   rF   r   rG   rˆ   r8   r   r   r’   r   r'   Úhyp1f2)r   r   r®   r¯   r   r°   s         r   r´   r´   k  s  € à
‡y�y�„|Ø�—‘Š<  C§F¡F¡
Ð*Ø�—‘Š=  c§f¡f¡Ð,à
‡w�wˆqƒz�RÒØ�X‰X�c—e‘e˜A DˆXÓ)ˆØ�h‰h�r ˆhÓ%ˆØ�S—V‘V˜B“Z #§&¡&¨£+Ñ-Ñ.ˆØ—‘˜“
ˆØ�1Š9Ø��S—V‘V‘‰OˆAØ�1Š9Ø��S—V‘V‘‰OˆAØ×Ñ˜QÔØ—‘˜“
ˆAØˆà�—‘˜E %¨¨e°A©g°a©iÓ8Ñ8Ð8r   c                 óN  — | j                  |d¬«      }d| j                  |«      | j                  |«      z   z  }| j                  |«      }| j                  |«      }|dkD  r|| j                  dz  z  }|S |dk  r|| j                  dz  z  }|S |dk  r|| j                  dz  z  }|S )NTr   r�   rU   r¬   r«   )r   r’   r   r   r   )r   r   Únzr   r°   r±   s         r   Úchir»   €  s®   € à	�‰�!˜4ˆÓ	 €BØˆS�V‰V�A‹Y˜Ÿ™ ›Ñ#Ñ$€AØ�G‰G�A‹J€EØ�G‰G�A‹J€EØˆq‚yØ	ˆS�V‰V�D‰[Ñˆð
 €Hð	 
�ŠØ	ˆS�V‰V�D‰[Ñˆð €Hð 
�ŠØ	ˆS�V‰V�B‰Y‰ˆØ€Hr   c                 óX  — | j                  |«      dk\  rz| j                  |d¬«      }d| j                  |«      | j                  |«      z
  z  }| j                  |«      }|dkD  r|d| j                  z  z  }|dk  r|d| j                  z  z  }|S || j                  dddd	|z  |z  «      z  S )
Nr   Tr   r�   rU   r¬   r   r	   g      Ð?)rˆ   r   r’   r   r   r¸   )r   r   rº   r   r±   s        r   Úshir½   Ž  s©   € ð ‡w�wˆqƒz�RÒØ�X‰X�a˜tˆXÓ$ˆØ�—‘˜“˜SŸV™V B›ZÑ'Ñ(ˆØ—‘˜“
ˆØ�1Š9�a˜4 §¡™;Ñ&�aØ�1Š9�a˜4 §¡™;Ñ&�aØˆà�3—:‘:˜e E¨%°°Q±°q±Ó9Ñ9Ð9r   c           	      ó  — || j                   k(  r| j                  d«      S || j                  k(  r| j                  d«      S | j                  |dz  z  dz  | j	                  ddd| j                  dz   |d	z  z  d
z  «      z  S )Nr�   r·   r
   é   )r
   r5   r	   )é   r5   r   r5   é   )rF   ÚmpfrG   r   r¸   r.   s     r   ÚfresnelsrÃ   ›  su   € àˆC�G‰G‚|Ø�w‰w�s‹|ÐØˆC�H‰H‚}Ø�w‰w�t‹}ÐØ�6‰6�!�Q‘$‰;�q‰=˜Ÿ™ E¨%°°s·v±v¸q±y°jÀÀAÁ±oÀbÑ6HÓIÑIÐIr   c           	      óÞ   — || j                   k(  r| j                  d«      S || j                  k(  r| j                  d«      S || j                  ddd| j                  dz   |dz  z  dz  «      z  S )	Nr�   r·   )r   r5   r   )é   r5   r   r5   rÁ   )rF   rÂ   rG   r¸   r   r.   s     r   ÚfresnelcrÆ   £  se   € àˆC�G‰G‚|Ø�w‰w�s‹|ÐØˆC�H‰H‚}Ø�w‰w�t‹}ÐØˆS�Z‰Z˜˜e E¨3¯6©6°1©9¨*°Q¸±T©/¸"Ñ*<Ó=Ñ=Ð=r   )r   F)rU   r   )rU   r   F)rU   NF)F)Ú	functionsr   r   r   r#   r/   r3   r   r>   rO   rS   rV   rf   rl   ro   rn   rm   r�   r•   r’   r˜   r¥   r©   r¨   rµ   r´   r»   r½   rÃ   rÆ   © r   r   Ú<module>rÉ      s(  ðß +àñó ðð ñ	ó ð	ð ñó ðð ñ ó ð ð ò	ó ð	ð ñó ðð ñ3ó ð3ð$ òIó ðIð ò ó ð ð òó ðð0 ò&3ó ð&3ðP ò	!ó ð	!ð ò$%ó ð$%ðL òó ðð2 ñ+ó ð+ð. ò	ó ð	ð ñ"ó ð"ð ñó ðð6 ñ ó ð ð ñ"ó ð"ð ñó ðð& ñ"ó ð"ð ñ9ó ð9ð( ñó ðð ñ
:ó ð
:ð ñJó ðJð ñ>ó ñ>r   