<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to bugs</title><link>https://sourceforge.net/p/fixedpoint/bugs/</link><description>Recent changes to bugs</description><atom:link href="https://sourceforge.net/p/fixedpoint/bugs/feed.rss" rel="self"/><language>en</language><lastBuildDate>Thu, 29 Jan 2004 21:44:34 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/fixedpoint/bugs/feed.rss" rel="self" type="application/rss+xml"/><item><title>Comparisons</title><link>https://sourceforge.net/p/fixedpoint/bugs/6/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;x = FixedPoint("1.1")&lt;br /&gt;
print  x == None&lt;/p&gt;
&lt;p&gt;produces an exception, rather than returning False.&lt;/p&gt;
&lt;p&gt;According to the docs:&lt;/p&gt;
&lt;p&gt;"The operators &amp;lt;, &amp;gt;, ==, &amp;gt;=, &amp;lt;=, and != compare &lt;br /&gt;
the values of two objects. The objects need not &lt;br /&gt;
have the same type. If both are numbers, they are &lt;br /&gt;
converted to a common type. Otherwise, objects of &lt;br /&gt;
different types always compare unequal, and are &lt;br /&gt;
ordered consistently but arbitrarily." &lt;/p&gt;
&lt;p&gt;For FixedPoint this should perhaps read "If both or &lt;br /&gt;
numbers or strings that can be parsed by FixedPoint.&lt;br /&gt;
..." -- otherwise it seems more logical that the &lt;br /&gt;
above snippet should return False, not raise an &lt;br /&gt;
exception (integers work that way).&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Thu, 29 Jan 2004 21:44:34 -0000</pubDate><guid>https://sourceforge.net130bf72ab520275c4e66c27bb9f06e425570cc46</guid></item><item><title>FixedPoint objects cannot be pickled</title><link>https://sourceforge.net/p/fixedpoint/bugs/5/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Python 2.2.1 (#1, Sep  9 2002, 09:26:21) &lt;br /&gt;
[GCC 3.2 (Mandrake Linux 9.0 3.2-1mdk)] on linux-i386&lt;br /&gt;
Type &amp;amp;quot;help&amp;amp;quot;, &amp;amp;quot;copyright&amp;amp;quot;, &amp;amp;quot;credits&amp;amp;quot; or &amp;amp;quot;license&amp;amp;quot; for&lt;br /&gt;
more information.&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt;&amp;amp;gt; from fixedpoint import FixedPoint&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt;&amp;amp;gt; x = FixedPoint(&amp;amp;quot;1.234&amp;amp;quot;)&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt;&amp;amp;gt; print x&lt;br /&gt;
1.23&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt;&amp;amp;gt; import pickle&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt;&amp;amp;gt; f = open(&amp;amp;quot;foo&amp;amp;quot;, 'w')&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt;&amp;amp;gt; pickle.dump(f, x)&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
File &amp;amp;quot;&amp;amp;lt;stdin&amp;amp;gt;&amp;amp;quot;, line 1, in ?&lt;br /&gt;
File &amp;amp;quot;/usr/lib/python2.2/pickle.py&amp;amp;quot;, line 973, in dump&lt;br /&gt;
Pickler(file, bin).dump(object)&lt;br /&gt;
File &amp;amp;quot;/usr/lib/python2.2/pickle.py&amp;amp;quot;, line 110, in&lt;br /&gt;
__init__&lt;br /&gt;
self.write = file.write&lt;br /&gt;
AttributeError: 'FixedPoint' object has no attribute&lt;br /&gt;
'write'&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt;&amp;amp;gt; import cPickle&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt;&amp;amp;gt; cPickle.dump(f, x)&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
File &amp;amp;quot;&amp;amp;lt;stdin&amp;amp;gt;&amp;amp;quot;, line 1, in ?&lt;br /&gt;
TypeError: argument must have 'write' attribute&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt;&amp;amp;gt; &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Duane Voth</dc:creator><pubDate>Wed, 23 Jul 2003 22:22:20 -0000</pubDate><guid>https://sourceforge.nete013718fab72adff8810bc56ba73dae7fe47b206</guid></item><item><title>Wrong internal version number</title><link>https://sourceforge.net/p/fixedpoint/bugs/4/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I just downloaded FixedPoint v0.1.2 (after an amusing&lt;br /&gt;
half hour reading the mail archives), and discovered&lt;br /&gt;
that the internal version number is actually set to:&lt;br /&gt;
__version__ = 0, 1, 0&lt;/p&gt;
&lt;p&gt;This might be something you care about, or it might not :-)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GaryD</dc:creator><pubDate>Wed, 26 Feb 2003 05:25:25 -0000</pubDate><guid>https://sourceforge.net889fa9baa272f8e5232cabe983b56eaea49f9aff</guid></item><item><title>Problem subclassing</title><link>https://sourceforge.net/p/fixedpoint/bugs/3/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The following fails when using the subclass&lt;br /&gt;
(recursion &lt;br /&gt;
problem), but works using the base class. &lt;/p&gt;
&lt;p&gt;It worked with &lt;br /&gt;
the last &amp;amp;quot;pre-Sourceforge&amp;amp;quot; version of FixedPoint, so &lt;br /&gt;
I&lt;br /&gt;
presume this might be a bug in the latest version -- I just can't &lt;br /&gt;
for&lt;br /&gt;
the life of me see what could cause this!&lt;/p&gt;
&lt;p&gt;(Posted &lt;br /&gt;
here at Doug Fort's suggestion -- I initially assumed this was &lt;br /&gt;
something to do with the subclassing).&lt;/p&gt;
&lt;p&gt;Paul &lt;br /&gt;
Mothersdill&lt;/p&gt;
&lt;p&gt;==================================================&lt;br /&gt;
from &lt;br /&gt;
fixedpoint import FixedPoint&lt;/p&gt;
&lt;p&gt;class FP(FixedPoint) &lt;br /&gt;
:&lt;br /&gt;
&amp;amp;quot;&amp;amp;quot;&amp;amp;quot;Subclass of FixedPoint&amp;amp;quot;&amp;amp;quot;&amp;amp;quot;&lt;br /&gt;
def __init__(self, value, &lt;br /&gt;
precision):&lt;br /&gt;
FixedPoint.__init__(self, value, &lt;br /&gt;
precision)&lt;/p&gt;
&lt;p&gt;def _test():&lt;br /&gt;
_y = 378&lt;br /&gt;
_x = FP(793.1 , &lt;br /&gt;
6)&lt;br /&gt;
#_x = FixedPoint(793.1 , 6)&lt;br /&gt;
_z = _y/_x&lt;br /&gt;
print &lt;br /&gt;
type(_y) , ' : ' ,  _y &lt;br /&gt;
print type(_x) , ' : '  , _x &lt;br /&gt;
print type(_z) , ' : ' , _z &lt;/p&gt;
&lt;p&gt;if __name__ == '__main__':&lt;br /&gt;
_test()&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Tue, 15 Oct 2002 11:27:43 -0000</pubDate><guid>https://sourceforge.net4742eed34b4e81a8e4cf79b460723eda58033929</guid></item><item><title>rounding not appropriate</title><link>https://sourceforge.net/p/fixedpoint/bugs/2/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The current implementation uses 'round-half-even':&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt;&amp;amp;gt; FixedPoint(3, 0) / FixedPoint(2, 0)&lt;br /&gt;
FixedPoint('2.', 0)&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt;&amp;amp;gt; FixedPoint(5, 0) / FixedPoint(2, 0)&lt;br /&gt;
FixedPoint('2.', 0)&lt;/p&gt;
&lt;p&gt;The starting point of the discussion on&lt;br /&gt;
comp.lang.python preceding this project was Python's&lt;br /&gt;
lack of a numerical type suitable for business&lt;br /&gt;
applications, and I can't imagine a business app using&lt;br /&gt;
'round-half-even'. According to my experience, the&lt;br /&gt;
&amp;amp;quot;common business practice&amp;amp;quot; uses 'round-half-up', so I&lt;br /&gt;
would recommend this, at least as default. &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Tue, 24 Sep 2002 21:09:26 -0000</pubDate><guid>https://sourceforge.neta74859012dedb0c2544376fa91081640850457e4</guid></item><item><title>comparision to None raises exeption</title><link>https://sourceforge.net/p/fixedpoint/bugs/1/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This was first reported on comp.lang.python by Mark&lt;br /&gt;
McEahern:&lt;br /&gt;
&amp;amp;lt;mark@mceahern.com&amp;amp;gt; wrote:&lt;br /&gt;
&amp;amp;gt; In the FixedPoint module found here:&lt;br /&gt;
&amp;amp;gt;ftp://ftp.python.org/pub/python/contrib-09-Dec-1999/DataStructures/FixedPoint.py.Z&lt;br /&gt;
&amp;amp;gt; there seems to be a bug comparing to None like this:&lt;br /&gt;
&amp;amp;gt;&lt;br /&gt;
&amp;amp;gt;   if f == None:&lt;br /&gt;
&amp;amp;gt;&lt;br /&gt;
&amp;amp;gt; Demo:&lt;br /&gt;
&amp;amp;gt;&lt;br /&gt;
&amp;amp;gt;     $ python&lt;br /&gt;
&amp;amp;gt;     Python 2.2 (#1, Dec 31 2001, 15:21:18)&lt;br /&gt;
&amp;amp;gt;     [GCC 2.95.3-5 (cygwin special)] on cygwin&lt;br /&gt;
&amp;amp;gt;     Type &amp;amp;quot;help&amp;amp;quot;, &amp;amp;quot;copyright&amp;amp;quot;, &amp;amp;quot;credits&amp;amp;quot; or &amp;amp;quot;license&amp;amp;quot;&lt;br /&gt;
for more information.&lt;br /&gt;
&amp;amp;gt;     &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; import FixedPoint&lt;br /&gt;
&amp;amp;gt;     &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; f = FixedPoint.FixedPoint(1.0)&lt;br /&gt;
&amp;amp;gt;     &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; if f == None:&lt;br /&gt;
&amp;amp;gt;     ...     print &amp;amp;quot;that's not true!&amp;amp;quot;&lt;br /&gt;
&amp;amp;gt;     ...&lt;br /&gt;
&amp;amp;gt;     Traceback (most recent call last):&lt;br /&gt;
&amp;amp;gt;       File &amp;amp;quot;&amp;amp;lt;stdin&amp;amp;gt;&amp;amp;quot;, line 1, in ?&lt;br /&gt;
&amp;amp;gt;       File &amp;amp;quot;FixedPoint.py&amp;amp;quot;, line 272, in __cmp__&lt;br /&gt;
&amp;amp;gt;         xn, yn, p = _norm(self, other)&lt;br /&gt;
&amp;amp;gt;       File &amp;amp;quot;FixedPoint.py&amp;amp;quot;, line 415, in _norm&lt;br /&gt;
&amp;amp;gt;         y = FixedPoint(y, x.p)&lt;br /&gt;
&amp;amp;gt;       File &amp;amp;quot;FixedPoint.py&amp;amp;quot;, line 216, in __init__&lt;br /&gt;
&amp;amp;gt;         raise TypeError(&amp;amp;quot;can't convert to FixedPoint:&lt;br /&gt;
&amp;amp;quot; + `value`)&lt;br /&gt;
&amp;amp;gt;     TypeError: can't convert to FixedPoint: None&lt;/p&gt;
&lt;p&gt;Although it's always good practice to use &lt;br /&gt;
if f is None:&lt;br /&gt;
instead of&lt;br /&gt;
if f == None:&lt;br /&gt;
FixedPoint should not raise an exection, because the&lt;br /&gt;
built-in types don't do so:&lt;br /&gt;
Python 2.2.1 (#34, Apr  9 2002, 19:34:33) [MSC 32 bit&lt;br /&gt;
(Intel)] on win32&lt;br /&gt;
Type &amp;amp;quot;help&amp;amp;quot;, &amp;amp;quot;copyright&amp;amp;quot;, &amp;amp;quot;credits&amp;amp;quot; or &amp;amp;quot;license&amp;amp;quot; for&lt;br /&gt;
more information.&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt;&amp;amp;gt; 1 == None&lt;br /&gt;
0&lt;br /&gt;
&amp;amp;gt;&amp;amp;gt;&amp;amp;gt;&lt;/p&gt;
&lt;p&gt;A &amp;amp;quot;fix&amp;amp;quot; could look like:&lt;/p&gt;
&lt;p&gt;def __cmp__(self, other):&lt;br /&gt;
# inserted:&lt;br /&gt;
if other is None:&lt;br /&gt;
return 1&lt;br /&gt;
#---&lt;br /&gt;
xn, yn, p = _norm(self, other)&lt;br /&gt;
return cmp(xn, yn)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Tue, 24 Sep 2002 20:51:21 -0000</pubDate><guid>https://sourceforge.net3dc8e7a3cfa27fc547a527e7bc4e3dafba0e205b</guid></item></channel></rss>