Nick Coghlan <ncoghlan <at> gmail.com> writes: > >On Wed, Jul 14, 2010 at 11:50 PM, Petre Galan <Petre.Galan <at> gmail.com wrote: >> No. The right interface is PyNumber_Long. The purpose of the PyNumber_Index >> (and nb_index slot) is as index in slicing. > > Allowing other objects to say "I'm a real integer, treat me as one" is > exactly what the nb_index slot is for (see PEP 357). The use as an > index in slicing was just the primary initial use case and the one > that was chosen as the name for the new slot because nb_int was > already taken for the lossy transformation. Indexing is not (and never > has been) intended to be the only use case. > PyNumber_Long is the right interface as it's the right way to do it. PyNumber_Index allows me to compute a value as index in slicing, value that may be different that the integer behaviour of object. PyNumber_Index is serving it's purpose as index in slicing, beyond that it's getting abused. As for related discussions, float should not implement nb_int slot but be resolved in int's constructor. Petre
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4