Your IP : 3.148.105.127


Current Path : /opt/alt/python27/lib64/python2.7/
Upload File :
Current File : //opt/alt/python27/lib64/python2.7/fpformat.pyc

�
^
bc@s�dZddlmZeddd�[ddlZddd	gZejd
�Zyd	efd��YZWne	k
r�dZnXd
�Z
d�Zd�Zd�Z
d�Zd�ZdS(s8General floating point formatting functions.

Functions:
fix(x, digits_behind)
sci(x, digits_behind)

Each takes a number or a string and a number of digits as arguments.

Parameters:
x:             number to be formatted; or a string resembling a number
digits_behind: number of digits behind the decimal point
i����(twarnpy3ks2the fpformat module has been removed in Python 3.0t
stackleveliNtfixtscit
NotANumbers+^([-+]?)(\d*)((?:\.\d*)?)(([eE][-+]?\d+)?)$cBseZRS((t__name__t
__module__(((s-/opt/alt/python27/lib64/python2.7/fpformat.pyRssfpformat.NotANumbercCs�tj|�}|d	kr't|�n|jdddd�\}}}}|jd�}|dkrod}n|r�|d}n|r�t|d�}nd}||||fS(
s�Return (sign, intpart, fraction, expo) or raise an exception:
    sign is '+' or '-'
    intpart is 0 or more digits beginning with a nonzero
    fraction is 0 or more digits
    expo is an integeriiiit0t+tiN(tdecodertmatchtNoneRtgrouptlstriptint(tstrestsigntintparttfractiontexpparttexpo((s-/opt/alt/python27/lib64/python2.7/fpformat.pytextract#s$	
cCs�|dkrUt|�}||| ||}}||kr�|d||}q�nW|dkr�t|�}|| |||}}||kr�d|||}q�n||fS(s5Remove the exponent by changing intpart and fraction.iR(tlen(RRRtfti((s-/opt/alt/python27/lib64/python2.7/fpformat.pytunexpo3s
cCs[t|�}||kr.||d||fSt|�}||dkrYd|dfS||}|||}|dkr&||d}xH|dkr�||dkr�Pn|d}q�Wd|}|d}d}|| tt||�d�dt|�|d}|| ||}}n|dkr@||| fS|| d|dfSdS(s*Round or extend the fraction to size digs.RiR	t5it9N(Rtchrtord(RRtdigsRRttotalt	nextdigittn((s-/opt/alt/python27/lib64/python2.7/fpformat.pyt	roundfracAs,


8cCs�t|�td�kr't|�}nyt|�\}}}}Wntk
rW|SXt|||�\}}t|||�\}}x$|r�|ddkr�|d}q�W|dkr�d}n|dkr�||d|S||SdS(s�Format x as [-]ddd.ddd with 'digs' digits after the point
    and at least one digit before.
    If digs <= 0, the point is suppressed.R	iRit.N(ttypetreprRRRR$(txR RRRR((s-/opt/alt/python27/lib64/python2.7/fpformat.pyR[s
	cCs�t|�td�kr't|�}nt|�\}}}}|s�x.|ru|ddkru|d}|d}qHW|r�|d|d}}|d}q�d}n-|t|�d}|d|d|}}td|�}t|||�\}}t|�dkrB|d|d|d |t|�d}}}n||}|dkri|d|}ntt|��}ddt|�|}|dkr�d|}n
d	|}|d
|S(s�Format x as [-]d.dddE[+-]ddd with 'digs' digits after the point
    and exactly one digit before.
    If digs is <= 0, one digit is kept and the point is suppressed.R	iRii����R%it-Rte(R&R'RRtmaxR$tabs(R(R RRRRRR*((s-/opt/alt/python27/lib64/python2.7/fpformat.pyRks6

	


cCsZy<x5td�\}}|Gt||�Gt||�GHqWWnttfk
rUnXdS(sInteractive test run.sEnter (x, digs): N(tinputRRtEOFErrortKeyboardInterrupt(R(R ((s-/opt/alt/python27/lib64/python2.7/fpformat.pyttest�s'(t__doc__twarningsRtret__all__tcompileR
t
ValueErrorRt	TypeErrorRRR$RRR0(((s-/opt/alt/python27/lib64/python2.7/fpformat.pyt<module>s 

					 

?>