Multi-dimensional list initialization
Mark Lawrence
breamoreboy at yahoo.co.uk
Fri Nov 9 02:27:35 EST 2012
On 09/11/2012 06:37, Steven D'Aprano wrote:
> On Fri, 09 Nov 2012 17:07:09 +1100, Chris Angelico wrote:
>
>> On Fri, Nov 9, 2012 at 12:39 PM, Mark Lawrence <breamoreboy at yahoo.co.uk>
>> wrote:
>>> On 07/11/2012 01:55, Steven D'Aprano wrote:
>>>>
>>>>
>>>> Who knows? Who cares? Nobody does:
>>>>
>>>> n -= n
>>>>
>>>>
>>> But I've seen this scattered through code:
>>>
>>> x := x - x - x
>>
>> Can you enlighten us as to how this is better than either:
>> x := -x
>> or
>> x := 0 - x
>> ? I'm not seeing it.
>
> I'm hoping that Mark intended it as an example of crappy code he has
> spotted in some other language rather than a counter-example of something
> you would do.
Correct, CORAL 66 and pointed out to me by a colleague when another team
member had resigned.
>
> To be pedantic... there may very well be some (rare) cases where you
> actually do want x -= x rather than just x = 0. Consider the case where x
> could be an INF or NAN. Then x -= x should give x = NAN rather than zero.
> That may be desirable in some cases.
Interesting what comes up when we get chatting here. I hope we don't
get punished for going off topic :)
>
> At the very least, the compiler should NOT optimize away x = x - x to
> x = 0 if x could be a float, complex or Decimal.
>
X was an int so almost certainly optimised away by the SDL compiler on
VMS of 1986 or 1987.
--
Cheers.
Mark Lawrence.
More information about the Python-list
mailing list