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

"Manger, James" <James.H.Manger@team.telstra.com> Tue, 27 May 2014 23:32 UTC

Return-Path: <James.H.Manger@team.telstra.com>
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 859371A07C0 for <json@ietfa.amsl.com>; Tue, 27 May 2014 16:32:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.202
X-Spam-Level:
X-Spam-Status: No, score=-0.202 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, RCVD_IN_DNSWL_NONE=-0.0001, RELAY_IS_203=0.994] 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 MY8amHMPZRaC for <json@ietfa.amsl.com>; Tue, 27 May 2014 16:32:02 -0700 (PDT)
Received: from ipxcvo.tcif.telstra.com.au (ipxcvo.tcif.telstra.com.au [203.35.135.208]) by ietfa.amsl.com (Postfix) with ESMTP id D76231A07AB for <json@ietf.org>; Tue, 27 May 2014 16:32:01 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.98,923,1392123600"; d="scan'208";a="15178757"
Received: from unknown (HELO ipccvi.tcif.telstra.com.au) ([10.97.217.208]) by ipocvi.tcif.telstra.com.au with ESMTP; 28 May 2014 09:20:05 +1000
X-IronPort-AV: E=McAfee;i="5600,1067,7451"; a="225017219"
Received: from wsmsg3757.srv.dir.telstra.com ([172.49.40.85]) by ipccvi.tcif.telstra.com.au with ESMTP; 28 May 2014 09:31:56 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by wsmsg3757.srv.dir.telstra.com ([172.49.40.85]) with mapi; Wed, 28 May 2014 09:31:56 +1000
From: "Manger, James" <James.H.Manger@team.telstra.com>
To: Carsten Bormann <cabo@tzi.org>, Matt Miller <mamille2@cisco.com>
Date: Wed, 28 May 2014 09:31:54 +1000
Thread-Topic: [Json] I-JSON Topic #5: Numbers
Thread-Index: Ac954FVy/l+DzaijQn+nfufEZlJo4QAI0SVA
Message-ID: <255B9BB34FB7D647A506DC292726F6E11546508621@WSMSG3153V.srv.dir.telstra.com>
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> <CFA21B5C.4A721%jhildebr@cisco.com> <255B9BB34FB7D647A506DC292726F6E1154629E87D@WSMSG3153V.srv.dir.telstra.com> <CAHBU6isO7oooeN8rH8emx-xuOrs2yzBUrhyJNYYAyzK2-QfF0w@mail.gmail.com> <CAK3OfOih-YO-ncbSc3dVv_O7uHfjRxCDjUpzHmkFG5Dj7kb-xg@mail.gmail.com> <5384C118.4060402@cisco.com> <14DB352D-3D0C-458A-90BE-38BCA8CC98DD@tzi.org> <CAHBU6isjZjfoga_g9efiK1L=Pf40ZQXg8War+k9JDM13quHPOQ@mail.gmail.com> <DF223160-A135-4B8E-A895-53A4BF63AA1E@tzi.org> <5384D0C2.7030407@cisco.com> <62E6DC51-2D3D-4C55-89D8-19810347A9FB@tzi.org>
In-Reply-To: <62E6DC51-2D3D-4C55-89D8-19810347A9FB@tzi.org>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US, en-AU
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/json/WKhjonlm5kWt1Y3dfTh6ciJW_pY
Cc: Nico Williams <nico@cryptonector.com>, Tim Bray <tbray@textuality.com>, 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: Tue, 27 May 2014 23:32:03 -0000

+1 to Carsten's text.

-----
   Software which implements IEEE 754-2008 binary64 (double precision)
   numbers [IEEE754] is generally available and widely used.
   Implementations which generate I-JSON messages MUST NOT assume that
   receiving implementations can process numeric values with greater
   magnitude or precision than provided by those numbers.  I-JSON
   messages SHOULD NOT include numbers which express greater magnitude
   or precision than an IEEE 754 double precision number provides, for
   example 1E400 or 3.141592653589793238462643383279.
   ➧ In particular, an I-JSON sender MUST NOT expect a receiver to treat
   an integer whose absolute value is greater than 9007199254740992 (i.e., 
   that is outside the range [-2**53, 2**53], where ** stands for exponentiation)
   as an exact value.

This then leads well into the next paragraph:

   For applications such as cryptography, where much larger numbers are
   reasonably required, it is RECOMMENDED to encode them in JSON string
   values.  This requires that the receiving program understand the
   intended semantic of the value.

Maybe s/where…are/where exact interchange of…is/ in there for even more clarity.

Grüße, Carsten