<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 12/13/2013 11:02 AM, Dario Bertini
wrote:<br>
</div>
<blockquote
cite="mid:CAFdyfB2xoU9JsTYZtHxrF9XOYQMSdJ87Fpq9z7J7JN9ki3ow=w@mail.gmail.com"
type="cite">
<blockquote type="cite" style="font-weight: bold; font-style:
italic; color: #000099;">
<blockquote type="cite" style="font-weight: bold; font-style:
italic; color: #000099;">
<blockquote type="cite" style="font-weight: bold; font-style:
italic; color: #000099;">
<blockquote type="cite" style="font-weight: bold;
font-style: italic; color: #000099;">
<pre wrap="">mean([1e30, 1, 3, -1e30]) # Floating point
</pre>
</blockquote>
</blockquote>
</blockquote>
<pre wrap=""><span class="moz-txt-citetags">> </span>0.0
<span class="moz-txt-citetags">></span>
<span class="moz-txt-citetags">> </span>Lo standard floating point e' una brutta bestia, e capita di vedere errori
<span class="moz-txt-citetags">> </span>logici a riguardo commessi anche da persone che programmano da anni. Per
<span class="moz-txt-citetags">> </span>questo motivo, visto che alcune funzioni statistiche (come ad esempio la
<span class="moz-txt-citetags">> </span>media) vengono usate praticamente da tutti, si e' deciso di introdurre
<span class="moz-txt-citetags">> </span>(Python 3.4) nella libreria standard [1] il modulo statistics:
<span class="moz-txt-citetags">></span>
</pre>
</blockquote>
<pre wrap="">Amen, questo però non pare essere un problema con i float
</pre>
<blockquote type="cite" style="font-weight: bold; font-style:
italic; color: #000099;">
<blockquote type="cite" style="font-weight: bold; font-style:
italic; color: #000099;">
<blockquote type="cite" style="font-weight: bold; font-style:
italic; color: #000099;">
<pre wrap=""><span class="moz-txt-citetags">>>> </span>print(mean([Decimal("1e30"), 1, 3, Decimal("-1e30")]))
</pre>
</blockquote>
</blockquote>
</blockquote>
<pre wrap="">0E+3</pre>
</blockquote>
Si, per questo non ho parlato di float ma di standard floating point
in generale. Il modulo decimal e' basato sullo standard floating
point, come si envince dalla doc:<br>
<br>
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<a href="http://docs.python.org/3/library/decimal.html">http://docs.python.org/3/library/decimal.html</a><br>
<br>
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
Decimal "is based on a floating-point model which was designed with
people in mind....<br>
<pre class="moz-signature" cols="72">--
Marco Buttu
INAF-Osservatorio Astronomico di Cagliari
Via della Scienza n. 5, 09047 Selargius (CA)
Phone: 070 711 80 217
Email: <a class="moz-txt-link-abbreviated" href="mailto:mbuttu@oa-cagliari.inaf.it">mbuttu@oa-cagliari.inaf.it</a></pre>
</body>
</html>