Re: [Json] I-JSON Topic #5: Numbers

Carsten Bormann <cabo@tzi.org> Wed, 21 May 2014 15:20 UTC

Return-Path: <cabo@tzi.org>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D0A721A0153 for <json@ietfa.amsl.com>; Wed, 21 May 2014 08:20:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.551
X-Spam-Level:
X-Spam-Status: No, score=-1.551 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, SPF_HELO_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1lhbqivb56G8 for <json@ietfa.amsl.com>; Wed, 21 May 2014 08:20:14 -0700 (PDT)
Received: from informatik.uni-bremen.de (mailhost.informatik.uni-bremen.de [IPv6:2001:638:708:30c9::12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 770951A087D for <json@ietf.org>; Wed, 21 May 2014 08:20:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at informatik.uni-bremen.de
Received: from smtp-fb3.informatik.uni-bremen.de (smtp-fb3.informatik.uni-bremen.de [134.102.224.120]) by informatik.uni-bremen.de (8.14.5/8.14.5) with ESMTP id s4LFJwQ5002995; Wed, 21 May 2014 17:19:58 +0200 (CEST)
Received: from [192.168.217.145] (p5489355A.dip0.t-ipconnect.de [84.137.53.90]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtp-fb3.informatik.uni-bremen.de (Postfix) with ESMTPSA id F37D91010; Wed, 21 May 2014 17:19:57 +0200 (CEST)
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <20140521020731.GG9283@mercury.ccil.org>
Date: Wed, 21 May 2014 17:19:56 +0200
X-Mao-Original-Outgoing-Id: 422378396.117078-fd356e2509e961a4e66b6927881bf91e
Content-Transfer-Encoding: quoted-printable
Message-Id: <0374DE58-FC77-4CCA-B100-186C1A0701D4@tzi.org>
References: <535EB3BF.8080606@cisco.com> <CAHBU6ivjF9ULW0yGSVdJi2D6QgUThuhym_ZhpgLM=cvLu=mAiQ@mail.gmail.com> <CF841AAE.47D86%jhildebr@cisco.com> <CAHBU6itK5HtSTPWSsHsHUPja90emqU86LsgjrBorkqcUDivS2A@mail.gmail.com> <CF87EB9C.48BB0%jhildebr@cisco.com> <537A5BE0.3020406@cisco.com> <CF9FCEC9.4A4E7%jhildebr@cisco.com> <488AE66E-725D-40B3-9FDA-ADA1018BCF65@tzi.org> <CFA0F09E.4A609%jhildebr@cisco.com> <255B9BB34FB7D647A506DC292726F6E115461FFE59@WSMSG3153V.srv.dir.telstra.com> <20140521020731.GG9283@mercury.ccil.org>
To: John Cowan <cowan@mercury.ccil.org>
X-Mailer: Apple Mail (2.1878.2)
Archived-At: http://mailarchive.ietf.org/arch/msg/json/5zmcxLFoskLDH0u9bNLCEpzXk2g
Cc: IETF JSON WG <json@ietf.org>
Subject: Re: [Json] I-JSON Topic #5: Numbers
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <json.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/json>, <mailto:json-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/json/>
List-Post: <mailto:json@ietf.org>
List-Help: <mailto:json-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/json>, <mailto:json-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 May 2014 15:20:19 -0000

On 21 May 2014, at 04:07, John Cowan <cowan@mercury.ccil.org> wrote:

> as an exact value

What is your definition of this term here?

The meaning I’m used to for “exact value” implies you shouldn’t expect a binary64-based implementation to treat 1.1 as an exact value.

(Or, more specifically, expect an implementation to internalize this representation as the identical value that would be implied by interpreting 1.1 as an ISO 6093 NR2 floating point number.
Actually, most implementations I’m aware of will internalize 1.1 as something like 2476979795053773/2251799813685248 and not the exact 2476979795053772.8/2251799813685248 = 11/10.)

> Furthermore, an I-JSON sender MUST NOT expect a
> receiver to treat an integer whose absolute value is greater than
> 9007199254740992 as an exact value.

I’m with you on that one.

Grüße, Carsten