Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Grant Edwards Newsgroups: comp.lang.python Subject: Re: Is signed zero always available? Date: Wed, 22 Jun 2016 14:59:48 +0000 (UTC) Lines: 26 Message-ID: References: <576a925f$0$1597$c3e8da3$5496439d@news.astraweb.com> <1466606088.4117582.645299713.03DA7658@webmail.messagingengine.com> X-Trace: news.uni-berlin.de CFW9xSZfUwBgUqWxp3oS6wrZ4jwM3mTpg6lF5+KqBZmg== Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python,': 0.02; 'compiler': 0.05; 'used.': 0.05; '22,': 0.09; 'integers': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'received:qwest.net': 0.09; 'reliably': 0.09; 'python': 0.10; 'wed,': 0.15; 'assembly,': 0.16; 'distinction': 0.16; 'received:80.91.229.3': 0.16; 'received:io': 0.16; 'received:plane.gmane.org': 0.16; 'received:psf.io': 0.16; 'trap': 0.16; 'wrote:': 0.16; 'detect': 0.18; 'pascal': 0.22; 'signed': 0.24; 'header:User-Agent:1': 0.26; 'header:X-Complaints-To:1': 0.26; 'supported': 0.27; 'define': 0.27; 'not.': 0.27; "i'm": 0.30; 'certain': 0.31; 'int': 0.33; 'instance': 0.35; 'should': 0.36; 'there': 0.36; "wasn't": 0.36; 'to:addr:python-list': 0.36; 'subject:?': 0.36; 'subject:: ': 0.37; 'being': 0.37; 'received:org': 0.37; 'available.': 0.37; 'seem': 0.37; 'version': 0.38; 'to:addr:python.org': 0.40; 'back': 0.62; 'guaranteed': 0.67; 'subject:available': 0.79; 'subject:always': 0.84; 'edwards': 0.91; 'hair': 0.93 X-Injected-Via-Gmane: http://gmane.org/ X-Gmane-NNTP-Posting-Host: 67-130-15-94.dia.static.qwest.net User-Agent: slrn/1.0.2 (Linux) X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: X-Mailman-Original-References: <576a925f$0$1597$c3e8da3$5496439d@news.astraweb.com> <1466606088.4117582.645299713.03DA7658@webmail.messagingengine.com> Xref: csiph.com comp.lang.python:110319 On 2016-06-22, Random832 wrote: > On Wed, Jun 22, 2016, at 10:19, Grant Edwards wrote: > >> Is that guaranteed by Python, or just a side-effect of the >> implementation? Back in the days when Python used native C >> integers I think the latter. > > AIUI, native C integers have never reliably supported signed zero > even with representations that naively seem to have it. There's no > well-defined way to detect it - no int version of copysign, for > instance - and implementations are free to erase the distinction on > every load/store or define one of them to be a trap representation. It's been almost 25 years since I used hardware that supported signed zero integers (CDC 6600). I don't recall there being a C compiler available. We used Pascal and assembly, though I think FORTRAN was what most people used. I don't recall whether the Pascal implementation exposed the existence of -0 to the user or not. I'm pretty certain there wasn't a Python implementation... -- Grant Edwards grant.b.edwards Yow! Loni Anderson's hair at should be LEGALIZED!! gmail.com