Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/
Upload File :
Current File : //usr/lib/python2.7/fpformat.pyc

ó
ÿ–|_c@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-^([-+]?)0*(\d*)((?:\.\d*)?)(([eE][-+]?\d+)?)$cBseZRS((t__name__t
__module__(((s/usr/lib/python2.7/fpformat.pyRssfpformat.NotANumbercCs¢tj|ƒ}|dkr't|‚n|jddddƒ\}}}}|dkr`d}n|rs|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 integeriiiit+tiN(tdecodertmatchtNoneRtgrouptint(tstrestsigntintparttfractiontexpparttexpo((s/usr/lib/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.it0(tlen(RRRtfti((s/usr/lib/python2.7/fpformat.pytunexpo2s
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.RiRt5it9N(Rtchrtord(RRtdigsRRttotalt	nextdigittn((s/usr/lib/python2.7/fpformat.pyt	roundfrac@s,


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.RiRit.N(ttypetreprRRRR#(txRRRRR((s/usr/lib/python2.7/fpformat.pyRZs
	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.RiRiiÿÿÿÿR$it-Rte(R%R&RRtmaxR#tabs(R'RRRRRRR)((s/usr/lib/python2.7/fpformat.pyRjs6

	


cCsYy;x4tdƒ\}}|Gt||ƒGt||ƒGHqWnttfk
rTnXdS(sInteractive test run.sEnter (x, digs): N(tinputRRtEOFErrortKeyboardInterrupt(R'R((s/usr/lib/python2.7/fpformat.pyttestŠs&(t__doc__twarningsRtret__all__tcompileR	t
ValueErrorRt	TypeErrorRRR#RRR/(((s/usr/lib/python2.7/fpformat.pyt<module>s