diff options
author | pommicket <pommicket@gmail.com> | 2025-09-09 11:52:36 -0400 |
---|---|---|
committer | pommicket <pommicket@gmail.com> | 2025-09-09 11:52:36 -0400 |
commit | aefecd6b6a923643bf6ee6e519804d9688803516 (patch) | |
tree | b0380483c0900763c77b80b67386f59b4730e2f3 /site/spec.html | |
parent | fd62eaa814609835c87df5f24633760552ce64ea (diff) |
Reduce integer limit to 2^53-1
Diffstat (limited to 'site/spec.html')
-rw-r--r-- | site/spec.html | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/site/spec.html b/site/spec.html index f3178fd..805dcd1 100644 --- a/site/spec.html +++ b/site/spec.html @@ -470,23 +470,29 @@ and for my.nephews.car.id is String (no schema key matches, so the default of St <li><code>String</code> — accepts any value</li> <li><code>None</code> — accepts an unset value (special—see below)</li> <li><code>Empty</code> — accepts an empty value</li> - <li><code>Bool</code> — accepts <code>true</code>, <code>on</code>, <code>yes</code>, - <code>false</code>, <code>off</code>, <code>no</code> (case- and white space- sensitive).</li> - <li><code>UInt</code> — accepts any unsigned integer strictly less than 2<sup>63</sup>, + <li> + <code>Bool</code> — accepts <code>true</code>, <code>on</code>, <code>yes</code>, + <code>false</code>, <code>off</code>, <code>no</code> (case- and white space- sensitive). + </li> + <li> + <code>UInt</code> — accepts any unsigned integer strictly less than 2<sup>53</sup>, written in decimal or <code>0x</code> or <code>0X</code>-prefixed hexadecimal. A leading <code>+</code> is permitted, but <code>-0</code> is not. Leading zeroes are not permitted for decimal integers. White space around the integer is not permitted. - Only 63 bits are allowed to support languages (Java) with no 64-bit unsigned integers.</li> - <li><code>Int</code> — accepts any (two’s complement) signed integer whose absolute value - is strictly less than 2<sup>63</sup> - (NB: <code>INT64_MIN</code>/−2<sup>63</sup> is not allowed), - written in decimal or <code>0x</code> or <code>0X</code>-prefixed hexadecimal. + Only 53 bits are allowed to support languages (JavaScript) with + a double type, but no 64-bit integer type. + </li> + <li> + <code>Int</code> — accepts any signed integer whose absolute value + is strictly less than 2<sup>53</sup>, written in decimal or + <code>0x</code> or <code>0X</code>-prefixed hexadecimal. Leading zeroes are not permitted for decimal integers. White space around the integer is not permitted. - A leading <code>+</code> (or, of course, <code>-</code>) is permitted.</li> - <li><code>Float</code> — - A floating-point number, written in ordinary decimal + A leading <code>+</code> (or, of course, <code>-</code>) is permitted. + </li> + <li> + <code>Float</code> — A floating-point number, written in ordinary decimal (e.g. <code>-1.234</code>, <code>7.</code>, <code>265</code>) or in scientific notation (e.g. <code>3e5</code>, <code>3.E-5</code>, <code>-3.7e+5</code>). Excessive leading zeroes are not permitted (<code>0.0</code> is allowed, but not <code>00.0</code>). @@ -633,7 +639,7 @@ and for my.nephews.car.id is String (no schema key matches, so the default of St <code>get_int(conf: Configuration, key: String) -> Optional<Int></code><br> <code>get_int_or_default(conf: Configuration, key: String, default: Int) -> Int</code><br> Get value associated with <code>key</code>, - if any exists, and parse it as a signed 64-bit integer, + if any exists, and parse it as a signed integer, following the <code>Int</code> schema type described above (returning <code>default</code> if the key doesn’t exist). Returns an error if the key exists but its value is not a valid signed 64-bit integer. @@ -642,7 +648,7 @@ and for my.nephews.car.id is String (no schema key matches, so the default of St <code>get_uint(conf: Configuration, key: String) -> Optional<UInt></code><br> <code>get_uint_or_default(conf: Configuration, key: String, default: UInt) -> UInt</code><br> Get value associated with <code>key</code>, if any exists, - and parse it as an unsigned 63-bit [sic] integer, + and parse it as an unsigned integer, following the <code>UInt</code> schema type described above (returning <code>default</code> if the key doesn’t exist). Returns an error if the key exists but its value is not a valid unsigned 63-bit integer. |