[Numpy-discussion] OpenOpt Suite release 0.45
tmp50 at ukr.net
Tue Apr 9 06:45:24 EDT 2013
--- Исходное сообщение ---
От кого: "Robert Kern" <robert.kern at gmail.com>
Дата: 16 марта 2013, 22:15:07
On Sat, Mar 16, 2013 at 6:19 PM, Dmitrey < tmp50 at ukr.net > wrote:
> --- Исходное сообщение ---
> От кого: "Robert Kern" < robert.kern at gmail.com >
> Дата: 16 марта 2013, 19:54:51
> On Sat, Mar 16, 2013 at 10:39 AM, Matthieu Brucher
> < matthieu.brucher at gmail.com > wrote:
>> Even if they have different hashes, they can be stored in the same
>> underlying list before they are retrieved. Then, an actual comparison is
>> done to check if the given key (i.e. object instance, not hash) is the
>> as one of the stored keys.
> Right. And the rule is that if two objects compare equal, then they
> must also hash equal. Unfortunately, it looks like `oofun` objects do
> not obey this property. oofun.__eq__() seems to return a Constraint
> rather than a bool, so oofun objects should simply not be used as
> dictionary keys.
> It is one of several base features FuncDesigner is build on and is used
> extremely often and wide; then whole FuncDesigner would work incorrectly
> while it is used intensively and solves many problems better than its
I understand. It just means that you can't oofun objects as dictionary
keys. Adding a __hash__() method is not enough to make that work.
No, it just means I had mapped, have mapped, map and will map oofun
objects as Python dict keys.
As for the bug, I have found and fixed its source (I used some info from
sorted list of free variables and somew other info from a non-sorted dict
of oofun sizes).
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion