github.com/lianghucheng/zrddz@v0.0.0-20200923083010-c71f680932e2/src/gopkg.in/mgo.v2/bson/decimal_test.go (about) 1 // BSON library for Go 2 // 3 // Copyright (c) 2010-2012 - Gustavo Niemeyer <gustavo@niemeyer.net> 4 // 5 // All rights reserved. 6 // 7 // Redistribution and use in source and binary forms, with or without 8 // modification, are permitted provided that the following conditions are met: 9 // 10 // 1. Redistributions of source code must retain the above copyright notice, this 11 // list of conditions and the following disclaimer. 12 // 2. Redistributions in binary form must reproduce the above copyright notice, 13 // this list of conditions and the following disclaimer in the documentation 14 // and/or other materials provided with the distribution. 15 // 16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 // ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 27 package bson_test 28 29 import ( 30 "encoding/hex" 31 "encoding/json" 32 "fmt" 33 "regexp" 34 "strings" 35 36 "gopkg.in/mgo.v2/bson" 37 38 . "gopkg.in/check.v1" 39 ) 40 41 // -------------------------------------------------------------------------- 42 // Decimal tests 43 44 type decimalTests struct { 45 Valid []struct { 46 Description string `json:"description"` 47 BSON string `json:"bson"` 48 CanonicalBSON string `json:"canonical_bson"` 49 ExtJSON string `json:"extjson"` 50 CanonicalExtJSON string `json:"canonical_extjson"` 51 Lossy bool `json:"lossy"` 52 } `json:"valid"` 53 54 ParseErrors []struct { 55 Description string `json:"description"` 56 String string `json:"string"` 57 } `json:"parseErrors"` 58 } 59 60 func extJSONRepr(s string) string { 61 var value struct { 62 D struct { 63 Repr string `json:"$numberDecimal"` 64 } `json:"d"` 65 } 66 err := json.Unmarshal([]byte(s), &value) 67 if err != nil { 68 panic(err) 69 } 70 return value.D.Repr 71 } 72 73 func (s *S) TestDecimalTests(c *C) { 74 // These also conform to the spec and are used by Go elsewhere. 75 // (e.g. math/big won't parse "Infinity"). 76 goStr := func(s string) string { 77 switch s { 78 case "Infinity": 79 return "Inf" 80 case "-Infinity": 81 return "-Inf" 82 } 83 return s 84 } 85 86 for _, testEntry := range decimalTestsJSON { 87 testFile := testEntry.file 88 89 var tests decimalTests 90 err := json.Unmarshal([]byte(testEntry.json), &tests) 91 c.Assert(err, IsNil) 92 93 for _, test := range tests.Valid { 94 c.Logf("Running %s test: %s", testFile, test.Description) 95 96 test.BSON = strings.ToLower(test.BSON) 97 98 // Unmarshal value from BSON data. 99 bsonData, err := hex.DecodeString(test.BSON) 100 var bsonValue struct{ D interface{} } 101 err = bson.Unmarshal(bsonData, &bsonValue) 102 c.Assert(err, IsNil) 103 dec128, ok := bsonValue.D.(bson.Decimal128) 104 c.Assert(ok, Equals, true) 105 106 // Extract ExtJSON representations (canonical and not). 107 extjRepr := extJSONRepr(test.ExtJSON) 108 cextjRepr := extjRepr 109 if test.CanonicalExtJSON != "" { 110 cextjRepr = extJSONRepr(test.CanonicalExtJSON) 111 } 112 113 wantRepr := goStr(cextjRepr) 114 115 // Generate canonical representation. 116 c.Assert(dec128.String(), Equals, wantRepr) 117 118 // Parse original canonical representation. 119 parsed, err := bson.ParseDecimal128(cextjRepr) 120 c.Assert(err, IsNil) 121 c.Assert(parsed.String(), Equals, wantRepr) 122 123 // Parse non-canonical representation. 124 parsed, err = bson.ParseDecimal128(extjRepr) 125 c.Assert(err, IsNil) 126 c.Assert(parsed.String(), Equals, wantRepr) 127 128 // Parse Go canonical representation (Inf vs. Infinity). 129 parsed, err = bson.ParseDecimal128(wantRepr) 130 c.Assert(err, IsNil) 131 c.Assert(parsed.String(), Equals, wantRepr) 132 133 // Marshal original value back into BSON data. 134 data, err := bson.Marshal(bsonValue) 135 c.Assert(err, IsNil) 136 c.Assert(hex.EncodeToString(data), Equals, test.BSON) 137 138 if test.Lossy { 139 continue 140 } 141 142 // Marshal the parsed canonical representation. 143 var parsedValue struct{ D interface{} } 144 parsedValue.D = parsed 145 data, err = bson.Marshal(parsedValue) 146 c.Assert(err, IsNil) 147 c.Assert(hex.EncodeToString(data), Equals, test.BSON) 148 } 149 150 for _, test := range tests.ParseErrors { 151 c.Logf("Running %s parse error test: %s (string %q)", testFile, test.Description, test.String) 152 153 _, err := bson.ParseDecimal128(test.String) 154 quoted := regexp.QuoteMeta(fmt.Sprintf("%q", test.String)) 155 c.Assert(err, ErrorMatches, `cannot parse `+quoted+` as a decimal128`) 156 } 157 } 158 } 159 160 const decBenchNum = "9.999999999999999999999999999999999E+6144" 161 162 func (s *S) BenchmarkDecimal128String(c *C) { 163 d, err := bson.ParseDecimal128(decBenchNum) 164 c.Assert(err, IsNil) 165 c.Assert(d.String(), Equals, decBenchNum) 166 167 c.ResetTimer() 168 for i := 0; i < c.N; i++ { 169 d.String() 170 } 171 } 172 173 func (s *S) BenchmarkDecimal128Parse(c *C) { 174 var err error 175 c.ResetTimer() 176 for i := 0; i < c.N; i++ { 177 _, err = bson.ParseDecimal128(decBenchNum) 178 } 179 if err != nil { 180 panic(err) 181 } 182 } 183 184 var decimalTestsJSON = []struct{ file, json string }{ 185 {"decimal128-1.json", ` 186 { 187 "description": "Decimal128", 188 "bson_type": "0x13", 189 "test_key": "d", 190 "valid": [ 191 { 192 "description": "Special - Canonical NaN", 193 "bson": "180000001364000000000000000000000000000000007C00", 194 "extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}" 195 }, 196 { 197 "description": "Special - Negative NaN", 198 "bson": "18000000136400000000000000000000000000000000FC00", 199 "extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}", 200 "lossy": true 201 }, 202 { 203 "description": "Special - Negative NaN", 204 "bson": "18000000136400000000000000000000000000000000FC00", 205 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}", 206 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-NaN\"}}", 207 "lossy": true 208 }, 209 { 210 "description": "Special - Canonical SNaN", 211 "bson": "180000001364000000000000000000000000000000007E00", 212 "extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}", 213 "lossy": true 214 }, 215 { 216 "description": "Special - Negative SNaN", 217 "bson": "18000000136400000000000000000000000000000000FE00", 218 "extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}", 219 "lossy": true 220 }, 221 { 222 "description": "Special - NaN with a payload", 223 "bson": "180000001364001200000000000000000000000000007E00", 224 "extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}", 225 "lossy": true 226 }, 227 { 228 "description": "Special - Canonical Positive Infinity", 229 "bson": "180000001364000000000000000000000000000000007800", 230 "extjson": "{\"d\" : {\"$numberDecimal\" : \"Infinity\"}}" 231 }, 232 { 233 "description": "Special - Canonical Negative Infinity", 234 "bson": "18000000136400000000000000000000000000000000F800", 235 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}" 236 }, 237 { 238 "description": "Special - Invalid representation treated as 0", 239 "bson": "180000001364000000000000000000000000000000106C00", 240 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}", 241 "lossy": true 242 }, 243 { 244 "description": "Special - Invalid representation treated as -0", 245 "bson": "18000000136400DCBA9876543210DEADBEEF00000010EC00", 246 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0\"}}", 247 "lossy": true 248 }, 249 { 250 "description": "Special - Invalid representation treated as 0E3", 251 "bson": "18000000136400FFFFFFFFFFFFFFFFFFFFFFFFFFFF116C00", 252 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+3\"}}", 253 "lossy": true 254 }, 255 { 256 "description": "Regular - Adjusted Exponent Limit", 257 "bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3CF22F00", 258 "extjson": "{\"d\": { \"$numberDecimal\": \"0.000001234567890123456789012345678901234\" }}" 259 }, 260 { 261 "description": "Regular - Smallest", 262 "bson": "18000000136400D204000000000000000000000000343000", 263 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.001234\"}}" 264 }, 265 { 266 "description": "Regular - Smallest with Trailing Zeros", 267 "bson": "1800000013640040EF5A07000000000000000000002A3000", 268 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00123400000\"}}" 269 }, 270 { 271 "description": "Regular - 0.1", 272 "bson": "1800000013640001000000000000000000000000003E3000", 273 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1\"}}" 274 }, 275 { 276 "description": "Regular - 0.1234567890123456789012345678901234", 277 "bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3CFC2F00", 278 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1234567890123456789012345678901234\"}}" 279 }, 280 { 281 "description": "Regular - 0", 282 "bson": "180000001364000000000000000000000000000000403000", 283 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 284 }, 285 { 286 "description": "Regular - -0", 287 "bson": "18000000136400000000000000000000000000000040B000", 288 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0\"}}" 289 }, 290 { 291 "description": "Regular - -0.0", 292 "bson": "1800000013640000000000000000000000000000003EB000", 293 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.0\"}}" 294 }, 295 { 296 "description": "Regular - 2", 297 "bson": "180000001364000200000000000000000000000000403000", 298 "extjson": "{\"d\" : {\"$numberDecimal\" : \"2\"}}" 299 }, 300 { 301 "description": "Regular - 2.000", 302 "bson": "18000000136400D0070000000000000000000000003A3000", 303 "extjson": "{\"d\" : {\"$numberDecimal\" : \"2.000\"}}" 304 }, 305 { 306 "description": "Regular - Largest", 307 "bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3C403000", 308 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1234567890123456789012345678901234\"}}" 309 }, 310 { 311 "description": "Scientific - Tiniest", 312 "bson": "18000000136400FFFFFFFF638E8D37C087ADBE09ED010000", 313 "extjson": "{\"d\" : {\"$numberDecimal\" : \"9.999999999999999999999999999999999E-6143\"}}" 314 }, 315 { 316 "description": "Scientific - Tiny", 317 "bson": "180000001364000100000000000000000000000000000000", 318 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E-6176\"}}" 319 }, 320 { 321 "description": "Scientific - Negative Tiny", 322 "bson": "180000001364000100000000000000000000000000008000", 323 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1E-6176\"}}" 324 }, 325 { 326 "description": "Scientific - Adjusted Exponent Limit", 327 "bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3CF02F00", 328 "extjson": "{\"d\": { \"$numberDecimal\": \"1.234567890123456789012345678901234E-7\" }}" 329 }, 330 { 331 "description": "Scientific - Fractional", 332 "bson": "1800000013640064000000000000000000000000002CB000", 333 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.00E-8\"}}" 334 }, 335 { 336 "description": "Scientific - 0 with Exponent", 337 "bson": "180000001364000000000000000000000000000000205F00", 338 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+6000\"}}" 339 }, 340 { 341 "description": "Scientific - 0 with Negative Exponent", 342 "bson": "1800000013640000000000000000000000000000007A2B00", 343 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-611\"}}" 344 }, 345 { 346 "description": "Scientific - No Decimal with Signed Exponent", 347 "bson": "180000001364000100000000000000000000000000463000", 348 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+3\"}}" 349 }, 350 { 351 "description": "Scientific - Trailing Zero", 352 "bson": "180000001364001A04000000000000000000000000423000", 353 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.050E+4\"}}" 354 }, 355 { 356 "description": "Scientific - With Decimal", 357 "bson": "180000001364006900000000000000000000000000423000", 358 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.05E+3\"}}" 359 }, 360 { 361 "description": "Scientific - Full", 362 "bson": "18000000136400FFFFFFFFFFFFFFFFFFFFFFFFFFFF403000", 363 "extjson": "{\"d\" : {\"$numberDecimal\" : \"5192296858534827628530496329220095\"}}" 364 }, 365 { 366 "description": "Scientific - Large", 367 "bson": "18000000136400000000000A5BC138938D44C64D31FE5F00", 368 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000000000E+6144\"}}" 369 }, 370 { 371 "description": "Scientific - Largest", 372 "bson": "18000000136400FFFFFFFF638E8D37C087ADBE09EDFF5F00", 373 "extjson": "{\"d\" : {\"$numberDecimal\" : \"9.999999999999999999999999999999999E+6144\"}}" 374 }, 375 { 376 "description": "Non-Canonical Parsing - Exponent Normalization", 377 "bson": "1800000013640064000000000000000000000000002CB000", 378 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-100E-10\"}}", 379 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.00E-8\"}}" 380 }, 381 { 382 "description": "Non-Canonical Parsing - Unsigned Positive Exponent", 383 "bson": "180000001364000100000000000000000000000000463000", 384 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E3\"}}", 385 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+3\"}}" 386 }, 387 { 388 "description": "Non-Canonical Parsing - Lowercase Exponent Identifier", 389 "bson": "180000001364000100000000000000000000000000463000", 390 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1e+3\"}}", 391 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+3\"}}" 392 }, 393 { 394 "description": "Non-Canonical Parsing - Long Significand with Exponent", 395 "bson": "1800000013640079D9E0F9763ADA429D0200000000583000", 396 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12345689012345789012345E+12\"}}", 397 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.2345689012345789012345E+34\"}}" 398 }, 399 { 400 "description": "Non-Canonical Parsing - Positive Sign", 401 "bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3C403000", 402 "extjson": "{\"d\" : {\"$numberDecimal\" : \"+1234567890123456789012345678901234\"}}", 403 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1234567890123456789012345678901234\"}}" 404 }, 405 { 406 "description": "Non-Canonical Parsing - Long Decimal String", 407 "bson": "180000001364000100000000000000000000000000722800", 408 "extjson": "{\"d\" : {\"$numberDecimal\" : \".000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\"}}", 409 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E-999\"}}" 410 }, 411 { 412 "description": "Non-Canonical Parsing - nan", 413 "bson": "180000001364000000000000000000000000000000007C00", 414 "extjson": "{\"d\" : {\"$numberDecimal\" : \"nan\"}}", 415 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}" 416 }, 417 { 418 "description": "Non-Canonical Parsing - nAn", 419 "bson": "180000001364000000000000000000000000000000007C00", 420 "extjson": "{\"d\" : {\"$numberDecimal\" : \"nAn\"}}", 421 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}" 422 }, 423 { 424 "description": "Non-Canonical Parsing - +infinity", 425 "bson": "180000001364000000000000000000000000000000007800", 426 "extjson": "{\"d\" : {\"$numberDecimal\" : \"+infinity\"}}", 427 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"Infinity\"}}" 428 }, 429 { 430 "description": "Non-Canonical Parsing - infinity", 431 "bson": "180000001364000000000000000000000000000000007800", 432 "extjson": "{\"d\" : {\"$numberDecimal\" : \"infinity\"}}", 433 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"Infinity\"}}" 434 }, 435 { 436 "description": "Non-Canonical Parsing - infiniTY", 437 "bson": "180000001364000000000000000000000000000000007800", 438 "extjson": "{\"d\" : {\"$numberDecimal\" : \"infiniTY\"}}", 439 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"Infinity\"}}" 440 }, 441 { 442 "description": "Non-Canonical Parsing - inf", 443 "bson": "180000001364000000000000000000000000000000007800", 444 "extjson": "{\"d\" : {\"$numberDecimal\" : \"inf\"}}", 445 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"Infinity\"}}" 446 }, 447 { 448 "description": "Non-Canonical Parsing - inF", 449 "bson": "180000001364000000000000000000000000000000007800", 450 "extjson": "{\"d\" : {\"$numberDecimal\" : \"inF\"}}", 451 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"Infinity\"}}" 452 }, 453 { 454 "description": "Non-Canonical Parsing - -infinity", 455 "bson": "18000000136400000000000000000000000000000000F800", 456 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-infinity\"}}", 457 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}" 458 }, 459 { 460 "description": "Non-Canonical Parsing - -infiniTy", 461 "bson": "18000000136400000000000000000000000000000000F800", 462 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-infiniTy\"}}", 463 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}" 464 }, 465 { 466 "description": "Non-Canonical Parsing - -Inf", 467 "bson": "18000000136400000000000000000000000000000000F800", 468 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}", 469 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}" 470 }, 471 { 472 "description": "Non-Canonical Parsing - -inf", 473 "bson": "18000000136400000000000000000000000000000000F800", 474 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-inf\"}}", 475 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}" 476 }, 477 { 478 "description": "Non-Canonical Parsing - -inF", 479 "bson": "18000000136400000000000000000000000000000000F800", 480 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-inF\"}}", 481 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}" 482 }, 483 { 484 "description": "Rounded Subnormal number", 485 "bson": "180000001364000100000000000000000000000000000000", 486 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10E-6177\"}}", 487 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E-6176\"}}" 488 }, 489 { 490 "description": "Clamped", 491 "bson": "180000001364000a00000000000000000000000000fe5f00", 492 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E6112\"}}", 493 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+6112\"}}" 494 }, 495 { 496 "description": "Exact rounding", 497 "bson": "18000000136400000000000a5bc138938d44c64d31cc3700", 498 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"}}", 499 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000000000E+999\"}}" 500 } 501 ] 502 } 503 `}, 504 505 {"decimal128-2.json", ` 506 { 507 "description": "Decimal128", 508 "bson_type": "0x13", 509 "test_key": "d", 510 "valid": [ 511 { 512 "description": "[decq021] Normality", 513 "bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3C40B000", 514 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1234567890123456789012345678901234\"}}" 515 }, 516 { 517 "description": "[decq823] values around [u]int32 edges (zeros done earlier)", 518 "bson": "18000000136400010000800000000000000000000040B000", 519 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-2147483649\"}}" 520 }, 521 { 522 "description": "[decq822] values around [u]int32 edges (zeros done earlier)", 523 "bson": "18000000136400000000800000000000000000000040B000", 524 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-2147483648\"}}" 525 }, 526 { 527 "description": "[decq821] values around [u]int32 edges (zeros done earlier)", 528 "bson": "18000000136400FFFFFF7F0000000000000000000040B000", 529 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-2147483647\"}}" 530 }, 531 { 532 "description": "[decq820] values around [u]int32 edges (zeros done earlier)", 533 "bson": "18000000136400FEFFFF7F0000000000000000000040B000", 534 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-2147483646\"}}" 535 }, 536 { 537 "description": "[decq152] fold-downs (more below)", 538 "bson": "18000000136400393000000000000000000000000040B000", 539 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-12345\"}}" 540 }, 541 { 542 "description": "[decq154] fold-downs (more below)", 543 "bson": "18000000136400D20400000000000000000000000040B000", 544 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1234\"}}" 545 }, 546 { 547 "description": "[decq006] derivative canonical plain strings", 548 "bson": "18000000136400EE0200000000000000000000000040B000", 549 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-750\"}}" 550 }, 551 { 552 "description": "[decq164] fold-downs (more below)", 553 "bson": "1800000013640039300000000000000000000000003CB000", 554 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-123.45\"}}" 555 }, 556 { 557 "description": "[decq156] fold-downs (more below)", 558 "bson": "180000001364007B0000000000000000000000000040B000", 559 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-123\"}}" 560 }, 561 { 562 "description": "[decq008] derivative canonical plain strings", 563 "bson": "18000000136400EE020000000000000000000000003EB000", 564 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-75.0\"}}" 565 }, 566 { 567 "description": "[decq158] fold-downs (more below)", 568 "bson": "180000001364000C0000000000000000000000000040B000", 569 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-12\"}}" 570 }, 571 { 572 "description": "[decq122] Nmax and similar", 573 "bson": "18000000136400FFFFFFFF638E8D37C087ADBE09EDFFDF00", 574 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-9.999999999999999999999999999999999E+6144\"}}" 575 }, 576 { 577 "description": "[decq002] (mostly derived from the Strawman 4 document and examples)", 578 "bson": "18000000136400EE020000000000000000000000003CB000", 579 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-7.50\"}}" 580 }, 581 { 582 "description": "[decq004] derivative canonical plain strings", 583 "bson": "18000000136400EE0200000000000000000000000042B000", 584 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-7.50E+3\"}}" 585 }, 586 { 587 "description": "[decq018] derivative canonical plain strings", 588 "bson": "18000000136400EE020000000000000000000000002EB000", 589 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-7.50E-7\"}}" 590 }, 591 { 592 "description": "[decq125] Nmax and similar", 593 "bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3CFEDF00", 594 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.234567890123456789012345678901234E+6144\"}}" 595 }, 596 { 597 "description": "[decq131] fold-downs (more below)", 598 "bson": "18000000136400000000807F1BCF85B27059C8A43CFEDF00", 599 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.230000000000000000000000000000000E+6144\"}}" 600 }, 601 { 602 "description": "[decq162] fold-downs (more below)", 603 "bson": "180000001364007B000000000000000000000000003CB000", 604 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.23\"}}" 605 }, 606 { 607 "description": "[decq176] Nmin and below", 608 "bson": "18000000136400010000000A5BC138938D44C64D31008000", 609 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.000000000000000000000000000000001E-6143\"}}" 610 }, 611 { 612 "description": "[decq174] Nmin and below", 613 "bson": "18000000136400000000000A5BC138938D44C64D31008000", 614 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.000000000000000000000000000000000E-6143\"}}" 615 }, 616 { 617 "description": "[decq133] fold-downs (more below)", 618 "bson": "18000000136400000000000A5BC138938D44C64D31FEDF00", 619 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.000000000000000000000000000000000E+6144\"}}" 620 }, 621 { 622 "description": "[decq160] fold-downs (more below)", 623 "bson": "18000000136400010000000000000000000000000040B000", 624 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1\"}}" 625 }, 626 { 627 "description": "[decq172] Nmin and below", 628 "bson": "180000001364000100000000000000000000000000428000", 629 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1E-6143\"}}" 630 }, 631 { 632 "description": "[decq010] derivative canonical plain strings", 633 "bson": "18000000136400EE020000000000000000000000003AB000", 634 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.750\"}}" 635 }, 636 { 637 "description": "[decq012] derivative canonical plain strings", 638 "bson": "18000000136400EE0200000000000000000000000038B000", 639 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.0750\"}}" 640 }, 641 { 642 "description": "[decq014] derivative canonical plain strings", 643 "bson": "18000000136400EE0200000000000000000000000034B000", 644 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.000750\"}}" 645 }, 646 { 647 "description": "[decq016] derivative canonical plain strings", 648 "bson": "18000000136400EE0200000000000000000000000030B000", 649 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00000750\"}}" 650 }, 651 { 652 "description": "[decq404] zeros", 653 "bson": "180000001364000000000000000000000000000000000000", 654 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-6176\"}}" 655 }, 656 { 657 "description": "[decq424] negative zeros", 658 "bson": "180000001364000000000000000000000000000000008000", 659 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E-6176\"}}" 660 }, 661 { 662 "description": "[decq407] zeros", 663 "bson": "1800000013640000000000000000000000000000003C3000", 664 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00\"}}" 665 }, 666 { 667 "description": "[decq427] negative zeros", 668 "bson": "1800000013640000000000000000000000000000003CB000", 669 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00\"}}" 670 }, 671 { 672 "description": "[decq409] zeros", 673 "bson": "180000001364000000000000000000000000000000403000", 674 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 675 }, 676 { 677 "description": "[decq428] negative zeros", 678 "bson": "18000000136400000000000000000000000000000040B000", 679 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0\"}}" 680 }, 681 { 682 "description": "[decq700] Selected DPD codes", 683 "bson": "180000001364000000000000000000000000000000403000", 684 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 685 }, 686 { 687 "description": "[decq406] zeros", 688 "bson": "1800000013640000000000000000000000000000003C3000", 689 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00\"}}" 690 }, 691 { 692 "description": "[decq426] negative zeros", 693 "bson": "1800000013640000000000000000000000000000003CB000", 694 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00\"}}" 695 }, 696 { 697 "description": "[decq410] zeros", 698 "bson": "180000001364000000000000000000000000000000463000", 699 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+3\"}}" 700 }, 701 { 702 "description": "[decq431] negative zeros", 703 "bson": "18000000136400000000000000000000000000000046B000", 704 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E+3\"}}" 705 }, 706 { 707 "description": "[decq419] clamped zeros...", 708 "bson": "180000001364000000000000000000000000000000FE5F00", 709 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+6111\"}}" 710 }, 711 { 712 "description": "[decq432] negative zeros", 713 "bson": "180000001364000000000000000000000000000000FEDF00", 714 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E+6111\"}}" 715 }, 716 { 717 "description": "[decq405] zeros", 718 "bson": "180000001364000000000000000000000000000000000000", 719 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-6176\"}}" 720 }, 721 { 722 "description": "[decq425] negative zeros", 723 "bson": "180000001364000000000000000000000000000000008000", 724 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E-6176\"}}" 725 }, 726 { 727 "description": "[decq508] Specials", 728 "bson": "180000001364000000000000000000000000000000007800", 729 "extjson": "{\"d\" : {\"$numberDecimal\" : \"Infinity\"}}" 730 }, 731 { 732 "description": "[decq528] Specials", 733 "bson": "18000000136400000000000000000000000000000000F800", 734 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}" 735 }, 736 { 737 "description": "[decq541] Specials", 738 "bson": "180000001364000000000000000000000000000000007C00", 739 "extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}" 740 }, 741 { 742 "description": "[decq074] Nmin and below", 743 "bson": "18000000136400000000000A5BC138938D44C64D31000000", 744 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000000000E-6143\"}}" 745 }, 746 { 747 "description": "[decq602] fold-down full sequence", 748 "bson": "18000000136400000000000A5BC138938D44C64D31FE5F00", 749 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000000000E+6144\"}}" 750 }, 751 { 752 "description": "[decq604] fold-down full sequence", 753 "bson": "180000001364000000000081EFAC855B416D2DEE04FE5F00", 754 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000000000000000E+6143\"}}" 755 }, 756 { 757 "description": "[decq606] fold-down full sequence", 758 "bson": "1800000013640000000080264B91C02220BE377E00FE5F00", 759 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000000000000000000E+6142\"}}" 760 }, 761 { 762 "description": "[decq608] fold-down full sequence", 763 "bson": "1800000013640000000040EAED7446D09C2C9F0C00FE5F00", 764 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000000E+6141\"}}" 765 }, 766 { 767 "description": "[decq610] fold-down full sequence", 768 "bson": "18000000136400000000A0CA17726DAE0F1E430100FE5F00", 769 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000000000000E+6140\"}}" 770 }, 771 { 772 "description": "[decq612] fold-down full sequence", 773 "bson": "18000000136400000000106102253E5ECE4F200000FE5F00", 774 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000000000000000E+6139\"}}" 775 }, 776 { 777 "description": "[decq614] fold-down full sequence", 778 "bson": "18000000136400000000E83C80D09F3C2E3B030000FE5F00", 779 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000E+6138\"}}" 780 }, 781 { 782 "description": "[decq616] fold-down full sequence", 783 "bson": "18000000136400000000E4D20CC8DCD2B752000000FE5F00", 784 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000000000E+6137\"}}" 785 }, 786 { 787 "description": "[decq618] fold-down full sequence", 788 "bson": "180000001364000000004A48011416954508000000FE5F00", 789 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000000000000E+6136\"}}" 790 }, 791 { 792 "description": "[decq620] fold-down full sequence", 793 "bson": "18000000136400000000A1EDCCCE1BC2D300000000FE5F00", 794 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000E+6135\"}}" 795 }, 796 { 797 "description": "[decq622] fold-down full sequence", 798 "bson": "18000000136400000080F64AE1C7022D1500000000FE5F00", 799 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000000E+6134\"}}" 800 }, 801 { 802 "description": "[decq624] fold-down full sequence", 803 "bson": "18000000136400000040B2BAC9E0191E0200000000FE5F00", 804 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000000000E+6133\"}}" 805 }, 806 { 807 "description": "[decq626] fold-down full sequence", 808 "bson": "180000001364000000A0DEC5ADC935360000000000FE5F00", 809 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000E+6132\"}}" 810 }, 811 { 812 "description": "[decq628] fold-down full sequence", 813 "bson": "18000000136400000010632D5EC76B050000000000FE5F00", 814 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000E+6131\"}}" 815 }, 816 { 817 "description": "[decq630] fold-down full sequence", 818 "bson": "180000001364000000E8890423C78A000000000000FE5F00", 819 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000000E+6130\"}}" 820 }, 821 { 822 "description": "[decq632] fold-down full sequence", 823 "bson": "18000000136400000064A7B3B6E00D000000000000FE5F00", 824 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000E+6129\"}}" 825 }, 826 { 827 "description": "[decq634] fold-down full sequence", 828 "bson": "1800000013640000008A5D78456301000000000000FE5F00", 829 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000E+6128\"}}" 830 }, 831 { 832 "description": "[decq636] fold-down full sequence", 833 "bson": "180000001364000000C16FF2862300000000000000FE5F00", 834 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000E+6127\"}}" 835 }, 836 { 837 "description": "[decq638] fold-down full sequence", 838 "bson": "180000001364000080C6A47E8D0300000000000000FE5F00", 839 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000E+6126\"}}" 840 }, 841 { 842 "description": "[decq640] fold-down full sequence", 843 "bson": "1800000013640000407A10F35A0000000000000000FE5F00", 844 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000E+6125\"}}" 845 }, 846 { 847 "description": "[decq642] fold-down full sequence", 848 "bson": "1800000013640000A0724E18090000000000000000FE5F00", 849 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000E+6124\"}}" 850 }, 851 { 852 "description": "[decq644] fold-down full sequence", 853 "bson": "180000001364000010A5D4E8000000000000000000FE5F00", 854 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000E+6123\"}}" 855 }, 856 { 857 "description": "[decq646] fold-down full sequence", 858 "bson": "1800000013640000E8764817000000000000000000FE5F00", 859 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000E+6122\"}}" 860 }, 861 { 862 "description": "[decq648] fold-down full sequence", 863 "bson": "1800000013640000E40B5402000000000000000000FE5F00", 864 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000E+6121\"}}" 865 }, 866 { 867 "description": "[decq650] fold-down full sequence", 868 "bson": "1800000013640000CA9A3B00000000000000000000FE5F00", 869 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000E+6120\"}}" 870 }, 871 { 872 "description": "[decq652] fold-down full sequence", 873 "bson": "1800000013640000E1F50500000000000000000000FE5F00", 874 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000E+6119\"}}" 875 }, 876 { 877 "description": "[decq654] fold-down full sequence", 878 "bson": "180000001364008096980000000000000000000000FE5F00", 879 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000E+6118\"}}" 880 }, 881 { 882 "description": "[decq656] fold-down full sequence", 883 "bson": "1800000013640040420F0000000000000000000000FE5F00", 884 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000E+6117\"}}" 885 }, 886 { 887 "description": "[decq658] fold-down full sequence", 888 "bson": "18000000136400A086010000000000000000000000FE5F00", 889 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000E+6116\"}}" 890 }, 891 { 892 "description": "[decq660] fold-down full sequence", 893 "bson": "180000001364001027000000000000000000000000FE5F00", 894 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000E+6115\"}}" 895 }, 896 { 897 "description": "[decq662] fold-down full sequence", 898 "bson": "18000000136400E803000000000000000000000000FE5F00", 899 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000E+6114\"}}" 900 }, 901 { 902 "description": "[decq664] fold-down full sequence", 903 "bson": "180000001364006400000000000000000000000000FE5F00", 904 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00E+6113\"}}" 905 }, 906 { 907 "description": "[decq666] fold-down full sequence", 908 "bson": "180000001364000A00000000000000000000000000FE5F00", 909 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+6112\"}}" 910 }, 911 { 912 "description": "[decq060] fold-downs (more below)", 913 "bson": "180000001364000100000000000000000000000000403000", 914 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1\"}}" 915 }, 916 { 917 "description": "[decq670] fold-down full sequence", 918 "bson": "180000001364000100000000000000000000000000FC5F00", 919 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6110\"}}" 920 }, 921 { 922 "description": "[decq668] fold-down full sequence", 923 "bson": "180000001364000100000000000000000000000000FE5F00", 924 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6111\"}}" 925 }, 926 { 927 "description": "[decq072] Nmin and below", 928 "bson": "180000001364000100000000000000000000000000420000", 929 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E-6143\"}}" 930 }, 931 { 932 "description": "[decq076] Nmin and below", 933 "bson": "18000000136400010000000A5BC138938D44C64D31000000", 934 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000000001E-6143\"}}" 935 }, 936 { 937 "description": "[decq036] fold-downs (more below)", 938 "bson": "18000000136400000000807F1BCF85B27059C8A43CFE5F00", 939 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.230000000000000000000000000000000E+6144\"}}" 940 }, 941 { 942 "description": "[decq062] fold-downs (more below)", 943 "bson": "180000001364007B000000000000000000000000003C3000", 944 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.23\"}}" 945 }, 946 { 947 "description": "[decq034] Nmax and similar", 948 "bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3CFE5F00", 949 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.234567890123456789012345678901234E+6144\"}}" 950 }, 951 { 952 "description": "[decq441] exponent lengths", 953 "bson": "180000001364000700000000000000000000000000403000", 954 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7\"}}" 955 }, 956 { 957 "description": "[decq449] exponent lengths", 958 "bson": "1800000013640007000000000000000000000000001E5F00", 959 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+5999\"}}" 960 }, 961 { 962 "description": "[decq447] exponent lengths", 963 "bson": "1800000013640007000000000000000000000000000E3800", 964 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+999\"}}" 965 }, 966 { 967 "description": "[decq445] exponent lengths", 968 "bson": "180000001364000700000000000000000000000000063100", 969 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+99\"}}" 970 }, 971 { 972 "description": "[decq443] exponent lengths", 973 "bson": "180000001364000700000000000000000000000000523000", 974 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+9\"}}" 975 }, 976 { 977 "description": "[decq842] VG testcase", 978 "bson": "180000001364000000FED83F4E7C9FE4E269E38A5BCD1700", 979 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7.049000000000010795488000000000000E-3097\"}}" 980 }, 981 { 982 "description": "[decq841] VG testcase", 983 "bson": "180000001364000000203B9DB5056F000000000000002400", 984 "extjson": "{\"d\" : {\"$numberDecimal\" : \"8.000000000000000000E-1550\"}}" 985 }, 986 { 987 "description": "[decq840] VG testcase", 988 "bson": "180000001364003C17258419D710C42F0000000000002400", 989 "extjson": "{\"d\" : {\"$numberDecimal\" : \"8.81125000000001349436E-1548\"}}" 990 }, 991 { 992 "description": "[decq701] Selected DPD codes", 993 "bson": "180000001364000900000000000000000000000000403000", 994 "extjson": "{\"d\" : {\"$numberDecimal\" : \"9\"}}" 995 }, 996 { 997 "description": "[decq032] Nmax and similar", 998 "bson": "18000000136400FFFFFFFF638E8D37C087ADBE09EDFF5F00", 999 "extjson": "{\"d\" : {\"$numberDecimal\" : \"9.999999999999999999999999999999999E+6144\"}}" 1000 }, 1001 { 1002 "description": "[decq702] Selected DPD codes", 1003 "bson": "180000001364000A00000000000000000000000000403000", 1004 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10\"}}" 1005 }, 1006 { 1007 "description": "[decq057] fold-downs (more below)", 1008 "bson": "180000001364000C00000000000000000000000000403000", 1009 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12\"}}" 1010 }, 1011 { 1012 "description": "[decq703] Selected DPD codes", 1013 "bson": "180000001364001300000000000000000000000000403000", 1014 "extjson": "{\"d\" : {\"$numberDecimal\" : \"19\"}}" 1015 }, 1016 { 1017 "description": "[decq704] Selected DPD codes", 1018 "bson": "180000001364001400000000000000000000000000403000", 1019 "extjson": "{\"d\" : {\"$numberDecimal\" : \"20\"}}" 1020 }, 1021 { 1022 "description": "[decq705] Selected DPD codes", 1023 "bson": "180000001364001D00000000000000000000000000403000", 1024 "extjson": "{\"d\" : {\"$numberDecimal\" : \"29\"}}" 1025 }, 1026 { 1027 "description": "[decq706] Selected DPD codes", 1028 "bson": "180000001364001E00000000000000000000000000403000", 1029 "extjson": "{\"d\" : {\"$numberDecimal\" : \"30\"}}" 1030 }, 1031 { 1032 "description": "[decq707] Selected DPD codes", 1033 "bson": "180000001364002700000000000000000000000000403000", 1034 "extjson": "{\"d\" : {\"$numberDecimal\" : \"39\"}}" 1035 }, 1036 { 1037 "description": "[decq708] Selected DPD codes", 1038 "bson": "180000001364002800000000000000000000000000403000", 1039 "extjson": "{\"d\" : {\"$numberDecimal\" : \"40\"}}" 1040 }, 1041 { 1042 "description": "[decq709] Selected DPD codes", 1043 "bson": "180000001364003100000000000000000000000000403000", 1044 "extjson": "{\"d\" : {\"$numberDecimal\" : \"49\"}}" 1045 }, 1046 { 1047 "description": "[decq710] Selected DPD codes", 1048 "bson": "180000001364003200000000000000000000000000403000", 1049 "extjson": "{\"d\" : {\"$numberDecimal\" : \"50\"}}" 1050 }, 1051 { 1052 "description": "[decq711] Selected DPD codes", 1053 "bson": "180000001364003B00000000000000000000000000403000", 1054 "extjson": "{\"d\" : {\"$numberDecimal\" : \"59\"}}" 1055 }, 1056 { 1057 "description": "[decq712] Selected DPD codes", 1058 "bson": "180000001364003C00000000000000000000000000403000", 1059 "extjson": "{\"d\" : {\"$numberDecimal\" : \"60\"}}" 1060 }, 1061 { 1062 "description": "[decq713] Selected DPD codes", 1063 "bson": "180000001364004500000000000000000000000000403000", 1064 "extjson": "{\"d\" : {\"$numberDecimal\" : \"69\"}}" 1065 }, 1066 { 1067 "description": "[decq714] Selected DPD codes", 1068 "bson": "180000001364004600000000000000000000000000403000", 1069 "extjson": "{\"d\" : {\"$numberDecimal\" : \"70\"}}" 1070 }, 1071 { 1072 "description": "[decq715] Selected DPD codes", 1073 "bson": "180000001364004700000000000000000000000000403000", 1074 "extjson": "{\"d\" : {\"$numberDecimal\" : \"71\"}}" 1075 }, 1076 { 1077 "description": "[decq716] Selected DPD codes", 1078 "bson": "180000001364004800000000000000000000000000403000", 1079 "extjson": "{\"d\" : {\"$numberDecimal\" : \"72\"}}" 1080 }, 1081 { 1082 "description": "[decq717] Selected DPD codes", 1083 "bson": "180000001364004900000000000000000000000000403000", 1084 "extjson": "{\"d\" : {\"$numberDecimal\" : \"73\"}}" 1085 }, 1086 { 1087 "description": "[decq718] Selected DPD codes", 1088 "bson": "180000001364004A00000000000000000000000000403000", 1089 "extjson": "{\"d\" : {\"$numberDecimal\" : \"74\"}}" 1090 }, 1091 { 1092 "description": "[decq719] Selected DPD codes", 1093 "bson": "180000001364004B00000000000000000000000000403000", 1094 "extjson": "{\"d\" : {\"$numberDecimal\" : \"75\"}}" 1095 }, 1096 { 1097 "description": "[decq720] Selected DPD codes", 1098 "bson": "180000001364004C00000000000000000000000000403000", 1099 "extjson": "{\"d\" : {\"$numberDecimal\" : \"76\"}}" 1100 }, 1101 { 1102 "description": "[decq721] Selected DPD codes", 1103 "bson": "180000001364004D00000000000000000000000000403000", 1104 "extjson": "{\"d\" : {\"$numberDecimal\" : \"77\"}}" 1105 }, 1106 { 1107 "description": "[decq722] Selected DPD codes", 1108 "bson": "180000001364004E00000000000000000000000000403000", 1109 "extjson": "{\"d\" : {\"$numberDecimal\" : \"78\"}}" 1110 }, 1111 { 1112 "description": "[decq723] Selected DPD codes", 1113 "bson": "180000001364004F00000000000000000000000000403000", 1114 "extjson": "{\"d\" : {\"$numberDecimal\" : \"79\"}}" 1115 }, 1116 { 1117 "description": "[decq056] fold-downs (more below)", 1118 "bson": "180000001364007B00000000000000000000000000403000", 1119 "extjson": "{\"d\" : {\"$numberDecimal\" : \"123\"}}" 1120 }, 1121 { 1122 "description": "[decq064] fold-downs (more below)", 1123 "bson": "1800000013640039300000000000000000000000003C3000", 1124 "extjson": "{\"d\" : {\"$numberDecimal\" : \"123.45\"}}" 1125 }, 1126 { 1127 "description": "[decq732] Selected DPD codes", 1128 "bson": "180000001364000802000000000000000000000000403000", 1129 "extjson": "{\"d\" : {\"$numberDecimal\" : \"520\"}}" 1130 }, 1131 { 1132 "description": "[decq733] Selected DPD codes", 1133 "bson": "180000001364000902000000000000000000000000403000", 1134 "extjson": "{\"d\" : {\"$numberDecimal\" : \"521\"}}" 1135 }, 1136 { 1137 "description": "[decq740] DPD: one of each of the huffman groups", 1138 "bson": "180000001364000903000000000000000000000000403000", 1139 "extjson": "{\"d\" : {\"$numberDecimal\" : \"777\"}}" 1140 }, 1141 { 1142 "description": "[decq741] DPD: one of each of the huffman groups", 1143 "bson": "180000001364000A03000000000000000000000000403000", 1144 "extjson": "{\"d\" : {\"$numberDecimal\" : \"778\"}}" 1145 }, 1146 { 1147 "description": "[decq742] DPD: one of each of the huffman groups", 1148 "bson": "180000001364001303000000000000000000000000403000", 1149 "extjson": "{\"d\" : {\"$numberDecimal\" : \"787\"}}" 1150 }, 1151 { 1152 "description": "[decq746] DPD: one of each of the huffman groups", 1153 "bson": "180000001364001F03000000000000000000000000403000", 1154 "extjson": "{\"d\" : {\"$numberDecimal\" : \"799\"}}" 1155 }, 1156 { 1157 "description": "[decq743] DPD: one of each of the huffman groups", 1158 "bson": "180000001364006D03000000000000000000000000403000", 1159 "extjson": "{\"d\" : {\"$numberDecimal\" : \"877\"}}" 1160 }, 1161 { 1162 "description": "[decq753] DPD all-highs cases (includes the 24 redundant codes)", 1163 "bson": "180000001364007803000000000000000000000000403000", 1164 "extjson": "{\"d\" : {\"$numberDecimal\" : \"888\"}}" 1165 }, 1166 { 1167 "description": "[decq754] DPD all-highs cases (includes the 24 redundant codes)", 1168 "bson": "180000001364007903000000000000000000000000403000", 1169 "extjson": "{\"d\" : {\"$numberDecimal\" : \"889\"}}" 1170 }, 1171 { 1172 "description": "[decq760] DPD all-highs cases (includes the 24 redundant codes)", 1173 "bson": "180000001364008203000000000000000000000000403000", 1174 "extjson": "{\"d\" : {\"$numberDecimal\" : \"898\"}}" 1175 }, 1176 { 1177 "description": "[decq764] DPD all-highs cases (includes the 24 redundant codes)", 1178 "bson": "180000001364008303000000000000000000000000403000", 1179 "extjson": "{\"d\" : {\"$numberDecimal\" : \"899\"}}" 1180 }, 1181 { 1182 "description": "[decq745] DPD: one of each of the huffman groups", 1183 "bson": "18000000136400D303000000000000000000000000403000", 1184 "extjson": "{\"d\" : {\"$numberDecimal\" : \"979\"}}" 1185 }, 1186 { 1187 "description": "[decq770] DPD all-highs cases (includes the 24 redundant codes)", 1188 "bson": "18000000136400DC03000000000000000000000000403000", 1189 "extjson": "{\"d\" : {\"$numberDecimal\" : \"988\"}}" 1190 }, 1191 { 1192 "description": "[decq774] DPD all-highs cases (includes the 24 redundant codes)", 1193 "bson": "18000000136400DD03000000000000000000000000403000", 1194 "extjson": "{\"d\" : {\"$numberDecimal\" : \"989\"}}" 1195 }, 1196 { 1197 "description": "[decq730] Selected DPD codes", 1198 "bson": "18000000136400E203000000000000000000000000403000", 1199 "extjson": "{\"d\" : {\"$numberDecimal\" : \"994\"}}" 1200 }, 1201 { 1202 "description": "[decq731] Selected DPD codes", 1203 "bson": "18000000136400E303000000000000000000000000403000", 1204 "extjson": "{\"d\" : {\"$numberDecimal\" : \"995\"}}" 1205 }, 1206 { 1207 "description": "[decq744] DPD: one of each of the huffman groups", 1208 "bson": "18000000136400E503000000000000000000000000403000", 1209 "extjson": "{\"d\" : {\"$numberDecimal\" : \"997\"}}" 1210 }, 1211 { 1212 "description": "[decq780] DPD all-highs cases (includes the 24 redundant codes)", 1213 "bson": "18000000136400E603000000000000000000000000403000", 1214 "extjson": "{\"d\" : {\"$numberDecimal\" : \"998\"}}" 1215 }, 1216 { 1217 "description": "[decq787] DPD all-highs cases (includes the 24 redundant codes)", 1218 "bson": "18000000136400E703000000000000000000000000403000", 1219 "extjson": "{\"d\" : {\"$numberDecimal\" : \"999\"}}" 1220 }, 1221 { 1222 "description": "[decq053] fold-downs (more below)", 1223 "bson": "18000000136400D204000000000000000000000000403000", 1224 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1234\"}}" 1225 }, 1226 { 1227 "description": "[decq052] fold-downs (more below)", 1228 "bson": "180000001364003930000000000000000000000000403000", 1229 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12345\"}}" 1230 }, 1231 { 1232 "description": "[decq792] Miscellaneous (testers' queries, etc.)", 1233 "bson": "180000001364003075000000000000000000000000403000", 1234 "extjson": "{\"d\" : {\"$numberDecimal\" : \"30000\"}}" 1235 }, 1236 { 1237 "description": "[decq793] Miscellaneous (testers' queries, etc.)", 1238 "bson": "1800000013640090940D0000000000000000000000403000", 1239 "extjson": "{\"d\" : {\"$numberDecimal\" : \"890000\"}}" 1240 }, 1241 { 1242 "description": "[decq824] values around [u]int32 edges (zeros done earlier)", 1243 "bson": "18000000136400FEFFFF7F00000000000000000000403000", 1244 "extjson": "{\"d\" : {\"$numberDecimal\" : \"2147483646\"}}" 1245 }, 1246 { 1247 "description": "[decq825] values around [u]int32 edges (zeros done earlier)", 1248 "bson": "18000000136400FFFFFF7F00000000000000000000403000", 1249 "extjson": "{\"d\" : {\"$numberDecimal\" : \"2147483647\"}}" 1250 }, 1251 { 1252 "description": "[decq826] values around [u]int32 edges (zeros done earlier)", 1253 "bson": "180000001364000000008000000000000000000000403000", 1254 "extjson": "{\"d\" : {\"$numberDecimal\" : \"2147483648\"}}" 1255 }, 1256 { 1257 "description": "[decq827] values around [u]int32 edges (zeros done earlier)", 1258 "bson": "180000001364000100008000000000000000000000403000", 1259 "extjson": "{\"d\" : {\"$numberDecimal\" : \"2147483649\"}}" 1260 }, 1261 { 1262 "description": "[decq828] values around [u]int32 edges (zeros done earlier)", 1263 "bson": "18000000136400FEFFFFFF00000000000000000000403000", 1264 "extjson": "{\"d\" : {\"$numberDecimal\" : \"4294967294\"}}" 1265 }, 1266 { 1267 "description": "[decq829] values around [u]int32 edges (zeros done earlier)", 1268 "bson": "18000000136400FFFFFFFF00000000000000000000403000", 1269 "extjson": "{\"d\" : {\"$numberDecimal\" : \"4294967295\"}}" 1270 }, 1271 { 1272 "description": "[decq830] values around [u]int32 edges (zeros done earlier)", 1273 "bson": "180000001364000000000001000000000000000000403000", 1274 "extjson": "{\"d\" : {\"$numberDecimal\" : \"4294967296\"}}" 1275 }, 1276 { 1277 "description": "[decq831] values around [u]int32 edges (zeros done earlier)", 1278 "bson": "180000001364000100000001000000000000000000403000", 1279 "extjson": "{\"d\" : {\"$numberDecimal\" : \"4294967297\"}}" 1280 }, 1281 { 1282 "description": "[decq022] Normality", 1283 "bson": "18000000136400C7711CC7B548F377DC80A131C836403000", 1284 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1111111111111111111111111111111111\"}}" 1285 }, 1286 { 1287 "description": "[decq020] Normality", 1288 "bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3C403000", 1289 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1234567890123456789012345678901234\"}}" 1290 }, 1291 { 1292 "description": "[decq550] Specials", 1293 "bson": "18000000136400FFFFFFFF638E8D37C087ADBE09ED413000", 1294 "extjson": "{\"d\" : {\"$numberDecimal\" : \"9999999999999999999999999999999999\"}}" 1295 } 1296 ] 1297 } 1298 `}, 1299 1300 {"decimal128-3.json", ` 1301 { 1302 "description": "Decimal128", 1303 "bson_type": "0x13", 1304 "test_key": "d", 1305 "valid": [ 1306 { 1307 "description": "[basx066] strings without E cannot generate E in result", 1308 "bson": "18000000136400185C0ACE0000000000000000000038B000", 1309 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-00345678.5432\"}}", 1310 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-345678.5432\"}}" 1311 }, 1312 { 1313 "description": "[basx065] strings without E cannot generate E in result", 1314 "bson": "18000000136400185C0ACE0000000000000000000038B000", 1315 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0345678.5432\"}}", 1316 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-345678.5432\"}}" 1317 }, 1318 { 1319 "description": "[basx064] strings without E cannot generate E in result", 1320 "bson": "18000000136400185C0ACE0000000000000000000038B000", 1321 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-345678.5432\"}}" 1322 }, 1323 { 1324 "description": "[basx041] strings without E cannot generate E in result", 1325 "bson": "180000001364004C0000000000000000000000000040B000", 1326 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-76\"}}" 1327 }, 1328 { 1329 "description": "[basx027] conform to rules and exponent will be in permitted range).", 1330 "bson": "180000001364000F270000000000000000000000003AB000", 1331 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-9.999\"}}" 1332 }, 1333 { 1334 "description": "[basx026] conform to rules and exponent will be in permitted range).", 1335 "bson": "180000001364009F230000000000000000000000003AB000", 1336 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-9.119\"}}" 1337 }, 1338 { 1339 "description": "[basx025] conform to rules and exponent will be in permitted range).", 1340 "bson": "180000001364008F030000000000000000000000003CB000", 1341 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-9.11\"}}" 1342 }, 1343 { 1344 "description": "[basx024] conform to rules and exponent will be in permitted range).", 1345 "bson": "180000001364005B000000000000000000000000003EB000", 1346 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-9.1\"}}" 1347 }, 1348 { 1349 "description": "[dqbsr531] negatives (Rounded)", 1350 "bson": "1800000013640099761CC7B548F377DC80A131C836FEAF00", 1351 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.1111111111111111111111111111123450\"}}", 1352 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.111111111111111111111111111112345\"}}" 1353 }, 1354 { 1355 "description": "[basx022] conform to rules and exponent will be in permitted range).", 1356 "bson": "180000001364000A000000000000000000000000003EB000", 1357 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.0\"}}" 1358 }, 1359 { 1360 "description": "[basx021] conform to rules and exponent will be in permitted range).", 1361 "bson": "18000000136400010000000000000000000000000040B000", 1362 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1\"}}" 1363 }, 1364 { 1365 "description": "[basx601] Zeros", 1366 "bson": "1800000013640000000000000000000000000000002E3000", 1367 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000000000\"}}", 1368 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-9\"}}" 1369 }, 1370 { 1371 "description": "[basx622] Zeros", 1372 "bson": "1800000013640000000000000000000000000000002EB000", 1373 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.000000000\"}}", 1374 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E-9\"}}" 1375 }, 1376 { 1377 "description": "[basx602] Zeros", 1378 "bson": "180000001364000000000000000000000000000000303000", 1379 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00000000\"}}", 1380 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-8\"}}" 1381 }, 1382 { 1383 "description": "[basx621] Zeros", 1384 "bson": "18000000136400000000000000000000000000000030B000", 1385 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00000000\"}}", 1386 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E-8\"}}" 1387 }, 1388 { 1389 "description": "[basx603] Zeros", 1390 "bson": "180000001364000000000000000000000000000000323000", 1391 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0000000\"}}", 1392 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-7\"}}" 1393 }, 1394 { 1395 "description": "[basx620] Zeros", 1396 "bson": "18000000136400000000000000000000000000000032B000", 1397 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.0000000\"}}", 1398 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E-7\"}}" 1399 }, 1400 { 1401 "description": "[basx604] Zeros", 1402 "bson": "180000001364000000000000000000000000000000343000", 1403 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000000\"}}" 1404 }, 1405 { 1406 "description": "[basx619] Zeros", 1407 "bson": "18000000136400000000000000000000000000000034B000", 1408 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.000000\"}}" 1409 }, 1410 { 1411 "description": "[basx605] Zeros", 1412 "bson": "180000001364000000000000000000000000000000363000", 1413 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00000\"}}" 1414 }, 1415 { 1416 "description": "[basx618] Zeros", 1417 "bson": "18000000136400000000000000000000000000000036B000", 1418 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00000\"}}" 1419 }, 1420 { 1421 "description": "[basx680] Zeros", 1422 "bson": "180000001364000000000000000000000000000000403000", 1423 "extjson": "{\"d\" : {\"$numberDecimal\" : \"000000.\"}}", 1424 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 1425 }, 1426 { 1427 "description": "[basx606] Zeros", 1428 "bson": "180000001364000000000000000000000000000000383000", 1429 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0000\"}}" 1430 }, 1431 { 1432 "description": "[basx617] Zeros", 1433 "bson": "18000000136400000000000000000000000000000038B000", 1434 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.0000\"}}" 1435 }, 1436 { 1437 "description": "[basx681] Zeros", 1438 "bson": "180000001364000000000000000000000000000000403000", 1439 "extjson": "{\"d\" : {\"$numberDecimal\" : \"00000.\"}}", 1440 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 1441 }, 1442 { 1443 "description": "[basx686] Zeros", 1444 "bson": "180000001364000000000000000000000000000000403000", 1445 "extjson": "{\"d\" : {\"$numberDecimal\" : \"+00000.\"}}", 1446 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 1447 }, 1448 { 1449 "description": "[basx687] Zeros", 1450 "bson": "18000000136400000000000000000000000000000040B000", 1451 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-00000.\"}}", 1452 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0\"}}" 1453 }, 1454 { 1455 "description": "[basx019] conform to rules and exponent will be in permitted range).", 1456 "bson": "1800000013640000000000000000000000000000003CB000", 1457 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-00.00\"}}", 1458 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00\"}}" 1459 }, 1460 { 1461 "description": "[basx607] Zeros", 1462 "bson": "1800000013640000000000000000000000000000003A3000", 1463 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000\"}}" 1464 }, 1465 { 1466 "description": "[basx616] Zeros", 1467 "bson": "1800000013640000000000000000000000000000003AB000", 1468 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.000\"}}" 1469 }, 1470 { 1471 "description": "[basx682] Zeros", 1472 "bson": "180000001364000000000000000000000000000000403000", 1473 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0000.\"}}", 1474 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 1475 }, 1476 { 1477 "description": "[basx155] Numbers with E", 1478 "bson": "1800000013640000000000000000000000000000003A3000", 1479 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000e+0\"}}", 1480 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000\"}}" 1481 }, 1482 { 1483 "description": "[basx130] Numbers with E", 1484 "bson": "180000001364000000000000000000000000000000383000", 1485 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000E-1\"}}", 1486 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0000\"}}" 1487 }, 1488 { 1489 "description": "[basx290] some more negative zeros [systematic tests below]", 1490 "bson": "18000000136400000000000000000000000000000038B000", 1491 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.000E-1\"}}", 1492 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.0000\"}}" 1493 }, 1494 { 1495 "description": "[basx131] Numbers with E", 1496 "bson": "180000001364000000000000000000000000000000363000", 1497 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000E-2\"}}", 1498 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00000\"}}" 1499 }, 1500 { 1501 "description": "[basx291] some more negative zeros [systematic tests below]", 1502 "bson": "18000000136400000000000000000000000000000036B000", 1503 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.000E-2\"}}", 1504 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00000\"}}" 1505 }, 1506 { 1507 "description": "[basx132] Numbers with E", 1508 "bson": "180000001364000000000000000000000000000000343000", 1509 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000E-3\"}}", 1510 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000000\"}}" 1511 }, 1512 { 1513 "description": "[basx292] some more negative zeros [systematic tests below]", 1514 "bson": "18000000136400000000000000000000000000000034B000", 1515 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.000E-3\"}}", 1516 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.000000\"}}" 1517 }, 1518 { 1519 "description": "[basx133] Numbers with E", 1520 "bson": "180000001364000000000000000000000000000000323000", 1521 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000E-4\"}}", 1522 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-7\"}}" 1523 }, 1524 { 1525 "description": "[basx293] some more negative zeros [systematic tests below]", 1526 "bson": "18000000136400000000000000000000000000000032B000", 1527 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.000E-4\"}}", 1528 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E-7\"}}" 1529 }, 1530 { 1531 "description": "[basx608] Zeros", 1532 "bson": "1800000013640000000000000000000000000000003C3000", 1533 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00\"}}" 1534 }, 1535 { 1536 "description": "[basx615] Zeros", 1537 "bson": "1800000013640000000000000000000000000000003CB000", 1538 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00\"}}" 1539 }, 1540 { 1541 "description": "[basx683] Zeros", 1542 "bson": "180000001364000000000000000000000000000000403000", 1543 "extjson": "{\"d\" : {\"$numberDecimal\" : \"000.\"}}", 1544 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 1545 }, 1546 { 1547 "description": "[basx630] Zeros", 1548 "bson": "1800000013640000000000000000000000000000003C3000", 1549 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E+0\"}}", 1550 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00\"}}" 1551 }, 1552 { 1553 "description": "[basx670] Zeros", 1554 "bson": "1800000013640000000000000000000000000000003C3000", 1555 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E-0\"}}", 1556 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00\"}}" 1557 }, 1558 { 1559 "description": "[basx631] Zeros", 1560 "bson": "1800000013640000000000000000000000000000003E3000", 1561 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E+1\"}}", 1562 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0\"}}" 1563 }, 1564 { 1565 "description": "[basx671] Zeros", 1566 "bson": "1800000013640000000000000000000000000000003A3000", 1567 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E-1\"}}", 1568 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000\"}}" 1569 }, 1570 { 1571 "description": "[basx134] Numbers with E", 1572 "bson": "180000001364000000000000000000000000000000383000", 1573 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E-2\"}}", 1574 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0000\"}}" 1575 }, 1576 { 1577 "description": "[basx294] some more negative zeros [systematic tests below]", 1578 "bson": "18000000136400000000000000000000000000000038B000", 1579 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00E-2\"}}", 1580 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.0000\"}}" 1581 }, 1582 { 1583 "description": "[basx632] Zeros", 1584 "bson": "180000001364000000000000000000000000000000403000", 1585 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E+2\"}}", 1586 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 1587 }, 1588 { 1589 "description": "[basx672] Zeros", 1590 "bson": "180000001364000000000000000000000000000000383000", 1591 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E-2\"}}", 1592 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0000\"}}" 1593 }, 1594 { 1595 "description": "[basx135] Numbers with E", 1596 "bson": "180000001364000000000000000000000000000000363000", 1597 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E-3\"}}", 1598 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00000\"}}" 1599 }, 1600 { 1601 "description": "[basx295] some more negative zeros [systematic tests below]", 1602 "bson": "18000000136400000000000000000000000000000036B000", 1603 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00E-3\"}}", 1604 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00000\"}}" 1605 }, 1606 { 1607 "description": "[basx633] Zeros", 1608 "bson": "180000001364000000000000000000000000000000423000", 1609 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E+3\"}}", 1610 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+1\"}}" 1611 }, 1612 { 1613 "description": "[basx673] Zeros", 1614 "bson": "180000001364000000000000000000000000000000363000", 1615 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E-3\"}}", 1616 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00000\"}}" 1617 }, 1618 { 1619 "description": "[basx136] Numbers with E", 1620 "bson": "180000001364000000000000000000000000000000343000", 1621 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E-4\"}}", 1622 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000000\"}}" 1623 }, 1624 { 1625 "description": "[basx674] Zeros", 1626 "bson": "180000001364000000000000000000000000000000343000", 1627 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E-4\"}}", 1628 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000000\"}}" 1629 }, 1630 { 1631 "description": "[basx634] Zeros", 1632 "bson": "180000001364000000000000000000000000000000443000", 1633 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E+4\"}}", 1634 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+2\"}}" 1635 }, 1636 { 1637 "description": "[basx137] Numbers with E", 1638 "bson": "180000001364000000000000000000000000000000323000", 1639 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E-5\"}}", 1640 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-7\"}}" 1641 }, 1642 { 1643 "description": "[basx635] Zeros", 1644 "bson": "180000001364000000000000000000000000000000463000", 1645 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E+5\"}}", 1646 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+3\"}}" 1647 }, 1648 { 1649 "description": "[basx675] Zeros", 1650 "bson": "180000001364000000000000000000000000000000323000", 1651 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E-5\"}}", 1652 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-7\"}}" 1653 }, 1654 { 1655 "description": "[basx636] Zeros", 1656 "bson": "180000001364000000000000000000000000000000483000", 1657 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E+6\"}}", 1658 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+4\"}}" 1659 }, 1660 { 1661 "description": "[basx676] Zeros", 1662 "bson": "180000001364000000000000000000000000000000303000", 1663 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E-6\"}}", 1664 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-8\"}}" 1665 }, 1666 { 1667 "description": "[basx637] Zeros", 1668 "bson": "1800000013640000000000000000000000000000004A3000", 1669 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E+7\"}}", 1670 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+5\"}}" 1671 }, 1672 { 1673 "description": "[basx677] Zeros", 1674 "bson": "1800000013640000000000000000000000000000002E3000", 1675 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E-7\"}}", 1676 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-9\"}}" 1677 }, 1678 { 1679 "description": "[basx638] Zeros", 1680 "bson": "1800000013640000000000000000000000000000004C3000", 1681 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E+8\"}}", 1682 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+6\"}}" 1683 }, 1684 { 1685 "description": "[basx678] Zeros", 1686 "bson": "1800000013640000000000000000000000000000002C3000", 1687 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E-8\"}}", 1688 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-10\"}}" 1689 }, 1690 { 1691 "description": "[basx149] Numbers with E", 1692 "bson": "180000001364000000000000000000000000000000523000", 1693 "extjson": "{\"d\" : {\"$numberDecimal\" : \"000E+9\"}}", 1694 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+9\"}}" 1695 }, 1696 { 1697 "description": "[basx639] Zeros", 1698 "bson": "1800000013640000000000000000000000000000004E3000", 1699 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E+9\"}}", 1700 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+7\"}}" 1701 }, 1702 { 1703 "description": "[basx679] Zeros", 1704 "bson": "1800000013640000000000000000000000000000002A3000", 1705 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00E-9\"}}", 1706 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-11\"}}" 1707 }, 1708 { 1709 "description": "[basx063] strings without E cannot generate E in result", 1710 "bson": "18000000136400185C0ACE00000000000000000000383000", 1711 "extjson": "{\"d\" : {\"$numberDecimal\" : \"+00345678.5432\"}}", 1712 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"345678.5432\"}}" 1713 }, 1714 { 1715 "description": "[basx018] conform to rules and exponent will be in permitted range).", 1716 "bson": "1800000013640000000000000000000000000000003EB000", 1717 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.0\"}}" 1718 }, 1719 { 1720 "description": "[basx609] Zeros", 1721 "bson": "1800000013640000000000000000000000000000003E3000", 1722 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0\"}}" 1723 }, 1724 { 1725 "description": "[basx614] Zeros", 1726 "bson": "1800000013640000000000000000000000000000003EB000", 1727 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.0\"}}" 1728 }, 1729 { 1730 "description": "[basx684] Zeros", 1731 "bson": "180000001364000000000000000000000000000000403000", 1732 "extjson": "{\"d\" : {\"$numberDecimal\" : \"00.\"}}", 1733 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 1734 }, 1735 { 1736 "description": "[basx640] Zeros", 1737 "bson": "1800000013640000000000000000000000000000003E3000", 1738 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E+0\"}}", 1739 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0\"}}" 1740 }, 1741 { 1742 "description": "[basx660] Zeros", 1743 "bson": "1800000013640000000000000000000000000000003E3000", 1744 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E-0\"}}", 1745 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0\"}}" 1746 }, 1747 { 1748 "description": "[basx641] Zeros", 1749 "bson": "180000001364000000000000000000000000000000403000", 1750 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E+1\"}}", 1751 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 1752 }, 1753 { 1754 "description": "[basx661] Zeros", 1755 "bson": "1800000013640000000000000000000000000000003C3000", 1756 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E-1\"}}", 1757 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00\"}}" 1758 }, 1759 { 1760 "description": "[basx296] some more negative zeros [systematic tests below]", 1761 "bson": "1800000013640000000000000000000000000000003AB000", 1762 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.0E-2\"}}", 1763 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.000\"}}" 1764 }, 1765 { 1766 "description": "[basx642] Zeros", 1767 "bson": "180000001364000000000000000000000000000000423000", 1768 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E+2\"}}", 1769 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+1\"}}" 1770 }, 1771 { 1772 "description": "[basx662] Zeros", 1773 "bson": "1800000013640000000000000000000000000000003A3000", 1774 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E-2\"}}", 1775 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000\"}}" 1776 }, 1777 { 1778 "description": "[basx297] some more negative zeros [systematic tests below]", 1779 "bson": "18000000136400000000000000000000000000000038B000", 1780 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.0E-3\"}}", 1781 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.0000\"}}" 1782 }, 1783 { 1784 "description": "[basx643] Zeros", 1785 "bson": "180000001364000000000000000000000000000000443000", 1786 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E+3\"}}", 1787 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+2\"}}" 1788 }, 1789 { 1790 "description": "[basx663] Zeros", 1791 "bson": "180000001364000000000000000000000000000000383000", 1792 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E-3\"}}", 1793 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0000\"}}" 1794 }, 1795 { 1796 "description": "[basx644] Zeros", 1797 "bson": "180000001364000000000000000000000000000000463000", 1798 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E+4\"}}", 1799 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+3\"}}" 1800 }, 1801 { 1802 "description": "[basx664] Zeros", 1803 "bson": "180000001364000000000000000000000000000000363000", 1804 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E-4\"}}", 1805 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00000\"}}" 1806 }, 1807 { 1808 "description": "[basx645] Zeros", 1809 "bson": "180000001364000000000000000000000000000000483000", 1810 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E+5\"}}", 1811 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+4\"}}" 1812 }, 1813 { 1814 "description": "[basx665] Zeros", 1815 "bson": "180000001364000000000000000000000000000000343000", 1816 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E-5\"}}", 1817 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000000\"}}" 1818 }, 1819 { 1820 "description": "[basx646] Zeros", 1821 "bson": "1800000013640000000000000000000000000000004A3000", 1822 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E+6\"}}", 1823 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+5\"}}" 1824 }, 1825 { 1826 "description": "[basx666] Zeros", 1827 "bson": "180000001364000000000000000000000000000000323000", 1828 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E-6\"}}", 1829 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-7\"}}" 1830 }, 1831 { 1832 "description": "[basx647] Zeros", 1833 "bson": "1800000013640000000000000000000000000000004C3000", 1834 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E+7\"}}", 1835 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+6\"}}" 1836 }, 1837 { 1838 "description": "[basx667] Zeros", 1839 "bson": "180000001364000000000000000000000000000000303000", 1840 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E-7\"}}", 1841 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-8\"}}" 1842 }, 1843 { 1844 "description": "[basx648] Zeros", 1845 "bson": "1800000013640000000000000000000000000000004E3000", 1846 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E+8\"}}", 1847 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+7\"}}" 1848 }, 1849 { 1850 "description": "[basx668] Zeros", 1851 "bson": "1800000013640000000000000000000000000000002E3000", 1852 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E-8\"}}", 1853 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-9\"}}" 1854 }, 1855 { 1856 "description": "[basx160] Numbers with E", 1857 "bson": "180000001364000000000000000000000000000000523000", 1858 "extjson": "{\"d\" : {\"$numberDecimal\" : \"00E+9\"}}", 1859 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+9\"}}" 1860 }, 1861 { 1862 "description": "[basx161] Numbers with E", 1863 "bson": "1800000013640000000000000000000000000000002E3000", 1864 "extjson": "{\"d\" : {\"$numberDecimal\" : \"00E-9\"}}", 1865 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-9\"}}" 1866 }, 1867 { 1868 "description": "[basx649] Zeros", 1869 "bson": "180000001364000000000000000000000000000000503000", 1870 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E+9\"}}", 1871 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+8\"}}" 1872 }, 1873 { 1874 "description": "[basx669] Zeros", 1875 "bson": "1800000013640000000000000000000000000000002C3000", 1876 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0E-9\"}}", 1877 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-10\"}}" 1878 }, 1879 { 1880 "description": "[basx062] strings without E cannot generate E in result", 1881 "bson": "18000000136400185C0ACE00000000000000000000383000", 1882 "extjson": "{\"d\" : {\"$numberDecimal\" : \"+0345678.5432\"}}", 1883 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"345678.5432\"}}" 1884 }, 1885 { 1886 "description": "[basx001] conform to rules and exponent will be in permitted range).", 1887 "bson": "180000001364000000000000000000000000000000403000", 1888 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 1889 }, 1890 { 1891 "description": "[basx017] conform to rules and exponent will be in permitted range).", 1892 "bson": "18000000136400000000000000000000000000000040B000", 1893 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0\"}}" 1894 }, 1895 { 1896 "description": "[basx611] Zeros", 1897 "bson": "180000001364000000000000000000000000000000403000", 1898 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.\"}}", 1899 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 1900 }, 1901 { 1902 "description": "[basx613] Zeros", 1903 "bson": "18000000136400000000000000000000000000000040B000", 1904 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.\"}}", 1905 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0\"}}" 1906 }, 1907 { 1908 "description": "[basx685] Zeros", 1909 "bson": "180000001364000000000000000000000000000000403000", 1910 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.\"}}", 1911 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 1912 }, 1913 { 1914 "description": "[basx688] Zeros", 1915 "bson": "180000001364000000000000000000000000000000403000", 1916 "extjson": "{\"d\" : {\"$numberDecimal\" : \"+0.\"}}", 1917 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 1918 }, 1919 { 1920 "description": "[basx689] Zeros", 1921 "bson": "18000000136400000000000000000000000000000040B000", 1922 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.\"}}", 1923 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0\"}}" 1924 }, 1925 { 1926 "description": "[basx650] Zeros", 1927 "bson": "180000001364000000000000000000000000000000403000", 1928 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+0\"}}", 1929 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}" 1930 }, 1931 { 1932 "description": "[basx651] Zeros", 1933 "bson": "180000001364000000000000000000000000000000423000", 1934 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+1\"}}" 1935 }, 1936 { 1937 "description": "[basx298] some more negative zeros [systematic tests below]", 1938 "bson": "1800000013640000000000000000000000000000003CB000", 1939 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E-2\"}}", 1940 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00\"}}" 1941 }, 1942 { 1943 "description": "[basx652] Zeros", 1944 "bson": "180000001364000000000000000000000000000000443000", 1945 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+2\"}}" 1946 }, 1947 { 1948 "description": "[basx299] some more negative zeros [systematic tests below]", 1949 "bson": "1800000013640000000000000000000000000000003AB000", 1950 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E-3\"}}", 1951 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.000\"}}" 1952 }, 1953 { 1954 "description": "[basx653] Zeros", 1955 "bson": "180000001364000000000000000000000000000000463000", 1956 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+3\"}}" 1957 }, 1958 { 1959 "description": "[basx654] Zeros", 1960 "bson": "180000001364000000000000000000000000000000483000", 1961 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+4\"}}" 1962 }, 1963 { 1964 "description": "[basx655] Zeros", 1965 "bson": "1800000013640000000000000000000000000000004A3000", 1966 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+5\"}}" 1967 }, 1968 { 1969 "description": "[basx656] Zeros", 1970 "bson": "1800000013640000000000000000000000000000004C3000", 1971 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+6\"}}" 1972 }, 1973 { 1974 "description": "[basx657] Zeros", 1975 "bson": "1800000013640000000000000000000000000000004E3000", 1976 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+7\"}}" 1977 }, 1978 { 1979 "description": "[basx658] Zeros", 1980 "bson": "180000001364000000000000000000000000000000503000", 1981 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+8\"}}" 1982 }, 1983 { 1984 "description": "[basx138] Numbers with E", 1985 "bson": "180000001364000000000000000000000000000000523000", 1986 "extjson": "{\"d\" : {\"$numberDecimal\" : \"+0E+9\"}}", 1987 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+9\"}}" 1988 }, 1989 { 1990 "description": "[basx139] Numbers with E", 1991 "bson": "18000000136400000000000000000000000000000052B000", 1992 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E+9\"}}" 1993 }, 1994 { 1995 "description": "[basx144] Numbers with E", 1996 "bson": "180000001364000000000000000000000000000000523000", 1997 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+9\"}}" 1998 }, 1999 { 2000 "description": "[basx154] Numbers with E", 2001 "bson": "180000001364000000000000000000000000000000523000", 2002 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E9\"}}", 2003 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+9\"}}" 2004 }, 2005 { 2006 "description": "[basx659] Zeros", 2007 "bson": "180000001364000000000000000000000000000000523000", 2008 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+9\"}}" 2009 }, 2010 { 2011 "description": "[basx042] strings without E cannot generate E in result", 2012 "bson": "18000000136400FC040000000000000000000000003C3000", 2013 "extjson": "{\"d\" : {\"$numberDecimal\" : \"+12.76\"}}", 2014 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"12.76\"}}" 2015 }, 2016 { 2017 "description": "[basx143] Numbers with E", 2018 "bson": "180000001364000100000000000000000000000000523000", 2019 "extjson": "{\"d\" : {\"$numberDecimal\" : \"+1E+009\"}}", 2020 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+9\"}}" 2021 }, 2022 { 2023 "description": "[basx061] strings without E cannot generate E in result", 2024 "bson": "18000000136400185C0ACE00000000000000000000383000", 2025 "extjson": "{\"d\" : {\"$numberDecimal\" : \"+345678.5432\"}}", 2026 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"345678.5432\"}}" 2027 }, 2028 { 2029 "description": "[basx036] conform to rules and exponent will be in permitted range).", 2030 "bson": "1800000013640015CD5B0700000000000000000000203000", 2031 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0000000123456789\"}}", 2032 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.23456789E-8\"}}" 2033 }, 2034 { 2035 "description": "[basx035] conform to rules and exponent will be in permitted range).", 2036 "bson": "1800000013640015CD5B0700000000000000000000223000", 2037 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000000123456789\"}}", 2038 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.23456789E-7\"}}" 2039 }, 2040 { 2041 "description": "[basx034] conform to rules and exponent will be in permitted range).", 2042 "bson": "1800000013640015CD5B0700000000000000000000243000", 2043 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00000123456789\"}}" 2044 }, 2045 { 2046 "description": "[basx053] strings without E cannot generate E in result", 2047 "bson": "180000001364003200000000000000000000000000323000", 2048 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0000050\"}}" 2049 }, 2050 { 2051 "description": "[basx033] conform to rules and exponent will be in permitted range).", 2052 "bson": "1800000013640015CD5B0700000000000000000000263000", 2053 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0000123456789\"}}" 2054 }, 2055 { 2056 "description": "[basx016] conform to rules and exponent will be in permitted range).", 2057 "bson": "180000001364000C000000000000000000000000003A3000", 2058 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.012\"}}" 2059 }, 2060 { 2061 "description": "[basx015] conform to rules and exponent will be in permitted range).", 2062 "bson": "180000001364007B000000000000000000000000003A3000", 2063 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.123\"}}" 2064 }, 2065 { 2066 "description": "[basx037] conform to rules and exponent will be in permitted range).", 2067 "bson": "1800000013640078DF0D8648700000000000000000223000", 2068 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.123456789012344\"}}" 2069 }, 2070 { 2071 "description": "[basx038] conform to rules and exponent will be in permitted range).", 2072 "bson": "1800000013640079DF0D8648700000000000000000223000", 2073 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.123456789012345\"}}" 2074 }, 2075 { 2076 "description": "[basx250] Numbers with E", 2077 "bson": "18000000136400F104000000000000000000000000383000", 2078 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265\"}}" 2079 }, 2080 { 2081 "description": "[basx257] Numbers with E", 2082 "bson": "18000000136400F104000000000000000000000000383000", 2083 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265E-0\"}}", 2084 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265\"}}" 2085 }, 2086 { 2087 "description": "[basx256] Numbers with E", 2088 "bson": "18000000136400F104000000000000000000000000363000", 2089 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265E-1\"}}", 2090 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.01265\"}}" 2091 }, 2092 { 2093 "description": "[basx258] Numbers with E", 2094 "bson": "18000000136400F1040000000000000000000000003A3000", 2095 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265E+1\"}}", 2096 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265\"}}" 2097 }, 2098 { 2099 "description": "[basx251] Numbers with E", 2100 "bson": "18000000136400F104000000000000000000000000103000", 2101 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265E-20\"}}", 2102 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E-21\"}}" 2103 }, 2104 { 2105 "description": "[basx263] Numbers with E", 2106 "bson": "18000000136400F104000000000000000000000000603000", 2107 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265E+20\"}}", 2108 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+19\"}}" 2109 }, 2110 { 2111 "description": "[basx255] Numbers with E", 2112 "bson": "18000000136400F104000000000000000000000000343000", 2113 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265E-2\"}}", 2114 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.001265\"}}" 2115 }, 2116 { 2117 "description": "[basx259] Numbers with E", 2118 "bson": "18000000136400F1040000000000000000000000003C3000", 2119 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265E+2\"}}", 2120 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65\"}}" 2121 }, 2122 { 2123 "description": "[basx254] Numbers with E", 2124 "bson": "18000000136400F104000000000000000000000000323000", 2125 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265E-3\"}}", 2126 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0001265\"}}" 2127 }, 2128 { 2129 "description": "[basx260] Numbers with E", 2130 "bson": "18000000136400F1040000000000000000000000003E3000", 2131 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265E+3\"}}", 2132 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5\"}}" 2133 }, 2134 { 2135 "description": "[basx253] Numbers with E", 2136 "bson": "18000000136400F104000000000000000000000000303000", 2137 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265E-4\"}}", 2138 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00001265\"}}" 2139 }, 2140 { 2141 "description": "[basx261] Numbers with E", 2142 "bson": "18000000136400F104000000000000000000000000403000", 2143 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265E+4\"}}", 2144 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1265\"}}" 2145 }, 2146 { 2147 "description": "[basx252] Numbers with E", 2148 "bson": "18000000136400F104000000000000000000000000283000", 2149 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265E-8\"}}", 2150 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E-9\"}}" 2151 }, 2152 { 2153 "description": "[basx262] Numbers with E", 2154 "bson": "18000000136400F104000000000000000000000000483000", 2155 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265E+8\"}}", 2156 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+7\"}}" 2157 }, 2158 { 2159 "description": "[basx159] Numbers with E", 2160 "bson": "1800000013640049000000000000000000000000002E3000", 2161 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.73e-7\"}}", 2162 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7.3E-8\"}}" 2163 }, 2164 { 2165 "description": "[basx004] conform to rules and exponent will be in permitted range).", 2166 "bson": "1800000013640064000000000000000000000000003C3000", 2167 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00\"}}" 2168 }, 2169 { 2170 "description": "[basx003] conform to rules and exponent will be in permitted range).", 2171 "bson": "180000001364000A000000000000000000000000003E3000", 2172 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0\"}}" 2173 }, 2174 { 2175 "description": "[basx002] conform to rules and exponent will be in permitted range).", 2176 "bson": "180000001364000100000000000000000000000000403000", 2177 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1\"}}" 2178 }, 2179 { 2180 "description": "[basx148] Numbers with E", 2181 "bson": "180000001364000100000000000000000000000000523000", 2182 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+009\"}}", 2183 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+9\"}}" 2184 }, 2185 { 2186 "description": "[basx153] Numbers with E", 2187 "bson": "180000001364000100000000000000000000000000523000", 2188 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E009\"}}", 2189 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+9\"}}" 2190 }, 2191 { 2192 "description": "[basx141] Numbers with E", 2193 "bson": "180000001364000100000000000000000000000000523000", 2194 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1e+09\"}}", 2195 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+9\"}}" 2196 }, 2197 { 2198 "description": "[basx146] Numbers with E", 2199 "bson": "180000001364000100000000000000000000000000523000", 2200 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+09\"}}", 2201 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+9\"}}" 2202 }, 2203 { 2204 "description": "[basx151] Numbers with E", 2205 "bson": "180000001364000100000000000000000000000000523000", 2206 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1e09\"}}", 2207 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+9\"}}" 2208 }, 2209 { 2210 "description": "[basx142] Numbers with E", 2211 "bson": "180000001364000100000000000000000000000000F43000", 2212 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+90\"}}" 2213 }, 2214 { 2215 "description": "[basx147] Numbers with E", 2216 "bson": "180000001364000100000000000000000000000000F43000", 2217 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1e+90\"}}", 2218 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+90\"}}" 2219 }, 2220 { 2221 "description": "[basx152] Numbers with E", 2222 "bson": "180000001364000100000000000000000000000000F43000", 2223 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E90\"}}", 2224 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+90\"}}" 2225 }, 2226 { 2227 "description": "[basx140] Numbers with E", 2228 "bson": "180000001364000100000000000000000000000000523000", 2229 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+9\"}}" 2230 }, 2231 { 2232 "description": "[basx150] Numbers with E", 2233 "bson": "180000001364000100000000000000000000000000523000", 2234 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E9\"}}", 2235 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+9\"}}" 2236 }, 2237 { 2238 "description": "[basx014] conform to rules and exponent will be in permitted range).", 2239 "bson": "18000000136400D2040000000000000000000000003A3000", 2240 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.234\"}}" 2241 }, 2242 { 2243 "description": "[basx170] Numbers with E", 2244 "bson": "18000000136400F1040000000000000000000000003A3000", 2245 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265\"}}" 2246 }, 2247 { 2248 "description": "[basx177] Numbers with E", 2249 "bson": "18000000136400F1040000000000000000000000003A3000", 2250 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E-0\"}}", 2251 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265\"}}" 2252 }, 2253 { 2254 "description": "[basx176] Numbers with E", 2255 "bson": "18000000136400F104000000000000000000000000383000", 2256 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E-1\"}}", 2257 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265\"}}" 2258 }, 2259 { 2260 "description": "[basx178] Numbers with E", 2261 "bson": "18000000136400F1040000000000000000000000003C3000", 2262 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+1\"}}", 2263 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65\"}}" 2264 }, 2265 { 2266 "description": "[basx171] Numbers with E", 2267 "bson": "18000000136400F104000000000000000000000000123000", 2268 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E-20\"}}" 2269 }, 2270 { 2271 "description": "[basx183] Numbers with E", 2272 "bson": "18000000136400F104000000000000000000000000623000", 2273 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+20\"}}" 2274 }, 2275 { 2276 "description": "[basx175] Numbers with E", 2277 "bson": "18000000136400F104000000000000000000000000363000", 2278 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E-2\"}}", 2279 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.01265\"}}" 2280 }, 2281 { 2282 "description": "[basx179] Numbers with E", 2283 "bson": "18000000136400F1040000000000000000000000003E3000", 2284 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+2\"}}", 2285 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5\"}}" 2286 }, 2287 { 2288 "description": "[basx174] Numbers with E", 2289 "bson": "18000000136400F104000000000000000000000000343000", 2290 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E-3\"}}", 2291 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.001265\"}}" 2292 }, 2293 { 2294 "description": "[basx180] Numbers with E", 2295 "bson": "18000000136400F104000000000000000000000000403000", 2296 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+3\"}}", 2297 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1265\"}}" 2298 }, 2299 { 2300 "description": "[basx173] Numbers with E", 2301 "bson": "18000000136400F104000000000000000000000000323000", 2302 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E-4\"}}", 2303 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0001265\"}}" 2304 }, 2305 { 2306 "description": "[basx181] Numbers with E", 2307 "bson": "18000000136400F104000000000000000000000000423000", 2308 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+4\"}}" 2309 }, 2310 { 2311 "description": "[basx172] Numbers with E", 2312 "bson": "18000000136400F1040000000000000000000000002A3000", 2313 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E-8\"}}" 2314 }, 2315 { 2316 "description": "[basx182] Numbers with E", 2317 "bson": "18000000136400F1040000000000000000000000004A3000", 2318 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+8\"}}" 2319 }, 2320 { 2321 "description": "[basx157] Numbers with E", 2322 "bson": "180000001364000400000000000000000000000000523000", 2323 "extjson": "{\"d\" : {\"$numberDecimal\" : \"4E+9\"}}" 2324 }, 2325 { 2326 "description": "[basx067] examples", 2327 "bson": "180000001364000500000000000000000000000000343000", 2328 "extjson": "{\"d\" : {\"$numberDecimal\" : \"5E-6\"}}", 2329 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000005\"}}" 2330 }, 2331 { 2332 "description": "[basx069] examples", 2333 "bson": "180000001364000500000000000000000000000000323000", 2334 "extjson": "{\"d\" : {\"$numberDecimal\" : \"5E-7\"}}" 2335 }, 2336 { 2337 "description": "[basx385] Engineering notation tests", 2338 "bson": "180000001364000700000000000000000000000000403000", 2339 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E0\"}}", 2340 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7\"}}" 2341 }, 2342 { 2343 "description": "[basx365] Engineering notation tests", 2344 "bson": "180000001364000700000000000000000000000000543000", 2345 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E10\"}}", 2346 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+10\"}}" 2347 }, 2348 { 2349 "description": "[basx405] Engineering notation tests", 2350 "bson": "1800000013640007000000000000000000000000002C3000", 2351 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E-10\"}}" 2352 }, 2353 { 2354 "description": "[basx363] Engineering notation tests", 2355 "bson": "180000001364000700000000000000000000000000563000", 2356 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E11\"}}", 2357 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+11\"}}" 2358 }, 2359 { 2360 "description": "[basx407] Engineering notation tests", 2361 "bson": "1800000013640007000000000000000000000000002A3000", 2362 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E-11\"}}" 2363 }, 2364 { 2365 "description": "[basx361] Engineering notation tests", 2366 "bson": "180000001364000700000000000000000000000000583000", 2367 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E12\"}}", 2368 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+12\"}}" 2369 }, 2370 { 2371 "description": "[basx409] Engineering notation tests", 2372 "bson": "180000001364000700000000000000000000000000283000", 2373 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E-12\"}}" 2374 }, 2375 { 2376 "description": "[basx411] Engineering notation tests", 2377 "bson": "180000001364000700000000000000000000000000263000", 2378 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E-13\"}}" 2379 }, 2380 { 2381 "description": "[basx383] Engineering notation tests", 2382 "bson": "180000001364000700000000000000000000000000423000", 2383 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E1\"}}", 2384 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+1\"}}" 2385 }, 2386 { 2387 "description": "[basx387] Engineering notation tests", 2388 "bson": "1800000013640007000000000000000000000000003E3000", 2389 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E-1\"}}", 2390 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.7\"}}" 2391 }, 2392 { 2393 "description": "[basx381] Engineering notation tests", 2394 "bson": "180000001364000700000000000000000000000000443000", 2395 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E2\"}}", 2396 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+2\"}}" 2397 }, 2398 { 2399 "description": "[basx389] Engineering notation tests", 2400 "bson": "1800000013640007000000000000000000000000003C3000", 2401 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E-2\"}}", 2402 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.07\"}}" 2403 }, 2404 { 2405 "description": "[basx379] Engineering notation tests", 2406 "bson": "180000001364000700000000000000000000000000463000", 2407 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E3\"}}", 2408 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+3\"}}" 2409 }, 2410 { 2411 "description": "[basx391] Engineering notation tests", 2412 "bson": "1800000013640007000000000000000000000000003A3000", 2413 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E-3\"}}", 2414 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.007\"}}" 2415 }, 2416 { 2417 "description": "[basx377] Engineering notation tests", 2418 "bson": "180000001364000700000000000000000000000000483000", 2419 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E4\"}}", 2420 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+4\"}}" 2421 }, 2422 { 2423 "description": "[basx393] Engineering notation tests", 2424 "bson": "180000001364000700000000000000000000000000383000", 2425 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E-4\"}}", 2426 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0007\"}}" 2427 }, 2428 { 2429 "description": "[basx375] Engineering notation tests", 2430 "bson": "1800000013640007000000000000000000000000004A3000", 2431 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E5\"}}", 2432 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+5\"}}" 2433 }, 2434 { 2435 "description": "[basx395] Engineering notation tests", 2436 "bson": "180000001364000700000000000000000000000000363000", 2437 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E-5\"}}", 2438 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00007\"}}" 2439 }, 2440 { 2441 "description": "[basx373] Engineering notation tests", 2442 "bson": "1800000013640007000000000000000000000000004C3000", 2443 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E6\"}}", 2444 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+6\"}}" 2445 }, 2446 { 2447 "description": "[basx397] Engineering notation tests", 2448 "bson": "180000001364000700000000000000000000000000343000", 2449 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E-6\"}}", 2450 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000007\"}}" 2451 }, 2452 { 2453 "description": "[basx371] Engineering notation tests", 2454 "bson": "1800000013640007000000000000000000000000004E3000", 2455 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E7\"}}", 2456 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+7\"}}" 2457 }, 2458 { 2459 "description": "[basx399] Engineering notation tests", 2460 "bson": "180000001364000700000000000000000000000000323000", 2461 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E-7\"}}" 2462 }, 2463 { 2464 "description": "[basx369] Engineering notation tests", 2465 "bson": "180000001364000700000000000000000000000000503000", 2466 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E8\"}}", 2467 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+8\"}}" 2468 }, 2469 { 2470 "description": "[basx401] Engineering notation tests", 2471 "bson": "180000001364000700000000000000000000000000303000", 2472 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E-8\"}}" 2473 }, 2474 { 2475 "description": "[basx367] Engineering notation tests", 2476 "bson": "180000001364000700000000000000000000000000523000", 2477 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E9\"}}", 2478 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+9\"}}" 2479 }, 2480 { 2481 "description": "[basx403] Engineering notation tests", 2482 "bson": "1800000013640007000000000000000000000000002E3000", 2483 "extjson": "{\"d\" : {\"$numberDecimal\" : \"7E-9\"}}" 2484 }, 2485 { 2486 "description": "[basx007] conform to rules and exponent will be in permitted range).", 2487 "bson": "1800000013640064000000000000000000000000003E3000", 2488 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10.0\"}}" 2489 }, 2490 { 2491 "description": "[basx005] conform to rules and exponent will be in permitted range).", 2492 "bson": "180000001364000A00000000000000000000000000403000", 2493 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10\"}}" 2494 }, 2495 { 2496 "description": "[basx165] Numbers with E", 2497 "bson": "180000001364000A00000000000000000000000000523000", 2498 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10E+009\"}}", 2499 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+10\"}}" 2500 }, 2501 { 2502 "description": "[basx163] Numbers with E", 2503 "bson": "180000001364000A00000000000000000000000000523000", 2504 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10E+09\"}}", 2505 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+10\"}}" 2506 }, 2507 { 2508 "description": "[basx325] Engineering notation tests", 2509 "bson": "180000001364000A00000000000000000000000000403000", 2510 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e0\"}}", 2511 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"10\"}}" 2512 }, 2513 { 2514 "description": "[basx305] Engineering notation tests", 2515 "bson": "180000001364000A00000000000000000000000000543000", 2516 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e10\"}}", 2517 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+11\"}}" 2518 }, 2519 { 2520 "description": "[basx345] Engineering notation tests", 2521 "bson": "180000001364000A000000000000000000000000002C3000", 2522 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e-10\"}}", 2523 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E-9\"}}" 2524 }, 2525 { 2526 "description": "[basx303] Engineering notation tests", 2527 "bson": "180000001364000A00000000000000000000000000563000", 2528 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e11\"}}", 2529 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+12\"}}" 2530 }, 2531 { 2532 "description": "[basx347] Engineering notation tests", 2533 "bson": "180000001364000A000000000000000000000000002A3000", 2534 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e-11\"}}", 2535 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E-10\"}}" 2536 }, 2537 { 2538 "description": "[basx301] Engineering notation tests", 2539 "bson": "180000001364000A00000000000000000000000000583000", 2540 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e12\"}}", 2541 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+13\"}}" 2542 }, 2543 { 2544 "description": "[basx349] Engineering notation tests", 2545 "bson": "180000001364000A00000000000000000000000000283000", 2546 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e-12\"}}", 2547 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E-11\"}}" 2548 }, 2549 { 2550 "description": "[basx351] Engineering notation tests", 2551 "bson": "180000001364000A00000000000000000000000000263000", 2552 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e-13\"}}", 2553 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E-12\"}}" 2554 }, 2555 { 2556 "description": "[basx323] Engineering notation tests", 2557 "bson": "180000001364000A00000000000000000000000000423000", 2558 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e1\"}}", 2559 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+2\"}}" 2560 }, 2561 { 2562 "description": "[basx327] Engineering notation tests", 2563 "bson": "180000001364000A000000000000000000000000003E3000", 2564 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e-1\"}}", 2565 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0\"}}" 2566 }, 2567 { 2568 "description": "[basx321] Engineering notation tests", 2569 "bson": "180000001364000A00000000000000000000000000443000", 2570 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e2\"}}", 2571 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+3\"}}" 2572 }, 2573 { 2574 "description": "[basx329] Engineering notation tests", 2575 "bson": "180000001364000A000000000000000000000000003C3000", 2576 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e-2\"}}", 2577 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.10\"}}" 2578 }, 2579 { 2580 "description": "[basx319] Engineering notation tests", 2581 "bson": "180000001364000A00000000000000000000000000463000", 2582 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e3\"}}", 2583 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+4\"}}" 2584 }, 2585 { 2586 "description": "[basx331] Engineering notation tests", 2587 "bson": "180000001364000A000000000000000000000000003A3000", 2588 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e-3\"}}", 2589 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.010\"}}" 2590 }, 2591 { 2592 "description": "[basx317] Engineering notation tests", 2593 "bson": "180000001364000A00000000000000000000000000483000", 2594 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e4\"}}", 2595 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+5\"}}" 2596 }, 2597 { 2598 "description": "[basx333] Engineering notation tests", 2599 "bson": "180000001364000A00000000000000000000000000383000", 2600 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e-4\"}}", 2601 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0010\"}}" 2602 }, 2603 { 2604 "description": "[basx315] Engineering notation tests", 2605 "bson": "180000001364000A000000000000000000000000004A3000", 2606 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e5\"}}", 2607 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+6\"}}" 2608 }, 2609 { 2610 "description": "[basx335] Engineering notation tests", 2611 "bson": "180000001364000A00000000000000000000000000363000", 2612 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e-5\"}}", 2613 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00010\"}}" 2614 }, 2615 { 2616 "description": "[basx313] Engineering notation tests", 2617 "bson": "180000001364000A000000000000000000000000004C3000", 2618 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e6\"}}", 2619 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+7\"}}" 2620 }, 2621 { 2622 "description": "[basx337] Engineering notation tests", 2623 "bson": "180000001364000A00000000000000000000000000343000", 2624 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e-6\"}}", 2625 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000010\"}}" 2626 }, 2627 { 2628 "description": "[basx311] Engineering notation tests", 2629 "bson": "180000001364000A000000000000000000000000004E3000", 2630 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e7\"}}", 2631 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+8\"}}" 2632 }, 2633 { 2634 "description": "[basx339] Engineering notation tests", 2635 "bson": "180000001364000A00000000000000000000000000323000", 2636 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e-7\"}}", 2637 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0000010\"}}" 2638 }, 2639 { 2640 "description": "[basx309] Engineering notation tests", 2641 "bson": "180000001364000A00000000000000000000000000503000", 2642 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e8\"}}", 2643 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+9\"}}" 2644 }, 2645 { 2646 "description": "[basx341] Engineering notation tests", 2647 "bson": "180000001364000A00000000000000000000000000303000", 2648 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e-8\"}}", 2649 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E-7\"}}" 2650 }, 2651 { 2652 "description": "[basx164] Numbers with E", 2653 "bson": "180000001364000A00000000000000000000000000F43000", 2654 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e+90\"}}", 2655 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+91\"}}" 2656 }, 2657 { 2658 "description": "[basx162] Numbers with E", 2659 "bson": "180000001364000A00000000000000000000000000523000", 2660 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10E+9\"}}", 2661 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+10\"}}" 2662 }, 2663 { 2664 "description": "[basx307] Engineering notation tests", 2665 "bson": "180000001364000A00000000000000000000000000523000", 2666 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e9\"}}", 2667 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+10\"}}" 2668 }, 2669 { 2670 "description": "[basx343] Engineering notation tests", 2671 "bson": "180000001364000A000000000000000000000000002E3000", 2672 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10e-9\"}}", 2673 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E-8\"}}" 2674 }, 2675 { 2676 "description": "[basx008] conform to rules and exponent will be in permitted range).", 2677 "bson": "1800000013640065000000000000000000000000003E3000", 2678 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10.1\"}}" 2679 }, 2680 { 2681 "description": "[basx009] conform to rules and exponent will be in permitted range).", 2682 "bson": "1800000013640068000000000000000000000000003E3000", 2683 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10.4\"}}" 2684 }, 2685 { 2686 "description": "[basx010] conform to rules and exponent will be in permitted range).", 2687 "bson": "1800000013640069000000000000000000000000003E3000", 2688 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10.5\"}}" 2689 }, 2690 { 2691 "description": "[basx011] conform to rules and exponent will be in permitted range).", 2692 "bson": "180000001364006A000000000000000000000000003E3000", 2693 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10.6\"}}" 2694 }, 2695 { 2696 "description": "[basx012] conform to rules and exponent will be in permitted range).", 2697 "bson": "180000001364006D000000000000000000000000003E3000", 2698 "extjson": "{\"d\" : {\"$numberDecimal\" : \"10.9\"}}" 2699 }, 2700 { 2701 "description": "[basx013] conform to rules and exponent will be in permitted range).", 2702 "bson": "180000001364006E000000000000000000000000003E3000", 2703 "extjson": "{\"d\" : {\"$numberDecimal\" : \"11.0\"}}" 2704 }, 2705 { 2706 "description": "[basx040] strings without E cannot generate E in result", 2707 "bson": "180000001364000C00000000000000000000000000403000", 2708 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12\"}}" 2709 }, 2710 { 2711 "description": "[basx190] Numbers with E", 2712 "bson": "18000000136400F1040000000000000000000000003C3000", 2713 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65\"}}" 2714 }, 2715 { 2716 "description": "[basx197] Numbers with E", 2717 "bson": "18000000136400F1040000000000000000000000003C3000", 2718 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65E-0\"}}", 2719 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65\"}}" 2720 }, 2721 { 2722 "description": "[basx196] Numbers with E", 2723 "bson": "18000000136400F1040000000000000000000000003A3000", 2724 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65E-1\"}}", 2725 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265\"}}" 2726 }, 2727 { 2728 "description": "[basx198] Numbers with E", 2729 "bson": "18000000136400F1040000000000000000000000003E3000", 2730 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65E+1\"}}", 2731 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5\"}}" 2732 }, 2733 { 2734 "description": "[basx191] Numbers with E", 2735 "bson": "18000000136400F104000000000000000000000000143000", 2736 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65E-20\"}}", 2737 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E-19\"}}" 2738 }, 2739 { 2740 "description": "[basx203] Numbers with E", 2741 "bson": "18000000136400F104000000000000000000000000643000", 2742 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65E+20\"}}", 2743 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+21\"}}" 2744 }, 2745 { 2746 "description": "[basx195] Numbers with E", 2747 "bson": "18000000136400F104000000000000000000000000383000", 2748 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65E-2\"}}", 2749 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265\"}}" 2750 }, 2751 { 2752 "description": "[basx199] Numbers with E", 2753 "bson": "18000000136400F104000000000000000000000000403000", 2754 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65E+2\"}}", 2755 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1265\"}}" 2756 }, 2757 { 2758 "description": "[basx194] Numbers with E", 2759 "bson": "18000000136400F104000000000000000000000000363000", 2760 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65E-3\"}}", 2761 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.01265\"}}" 2762 }, 2763 { 2764 "description": "[basx200] Numbers with E", 2765 "bson": "18000000136400F104000000000000000000000000423000", 2766 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65E+3\"}}", 2767 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+4\"}}" 2768 }, 2769 { 2770 "description": "[basx193] Numbers with E", 2771 "bson": "18000000136400F104000000000000000000000000343000", 2772 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65E-4\"}}", 2773 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.001265\"}}" 2774 }, 2775 { 2776 "description": "[basx201] Numbers with E", 2777 "bson": "18000000136400F104000000000000000000000000443000", 2778 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65E+4\"}}", 2779 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+5\"}}" 2780 }, 2781 { 2782 "description": "[basx192] Numbers with E", 2783 "bson": "18000000136400F1040000000000000000000000002C3000", 2784 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65E-8\"}}", 2785 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E-7\"}}" 2786 }, 2787 { 2788 "description": "[basx202] Numbers with E", 2789 "bson": "18000000136400F1040000000000000000000000004C3000", 2790 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65E+8\"}}", 2791 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+9\"}}" 2792 }, 2793 { 2794 "description": "[basx044] strings without E cannot generate E in result", 2795 "bson": "18000000136400FC040000000000000000000000003C3000", 2796 "extjson": "{\"d\" : {\"$numberDecimal\" : \"012.76\"}}", 2797 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"12.76\"}}" 2798 }, 2799 { 2800 "description": "[basx042] strings without E cannot generate E in result", 2801 "bson": "18000000136400FC040000000000000000000000003C3000", 2802 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12.76\"}}" 2803 }, 2804 { 2805 "description": "[basx046] strings without E cannot generate E in result", 2806 "bson": "180000001364001100000000000000000000000000403000", 2807 "extjson": "{\"d\" : {\"$numberDecimal\" : \"17.\"}}", 2808 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"17\"}}" 2809 }, 2810 { 2811 "description": "[basx049] strings without E cannot generate E in result", 2812 "bson": "180000001364002C00000000000000000000000000403000", 2813 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0044\"}}", 2814 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"44\"}}" 2815 }, 2816 { 2817 "description": "[basx048] strings without E cannot generate E in result", 2818 "bson": "180000001364002C00000000000000000000000000403000", 2819 "extjson": "{\"d\" : {\"$numberDecimal\" : \"044\"}}", 2820 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"44\"}}" 2821 }, 2822 { 2823 "description": "[basx158] Numbers with E", 2824 "bson": "180000001364002C00000000000000000000000000523000", 2825 "extjson": "{\"d\" : {\"$numberDecimal\" : \"44E+9\"}}", 2826 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"4.4E+10\"}}" 2827 }, 2828 { 2829 "description": "[basx068] examples", 2830 "bson": "180000001364003200000000000000000000000000323000", 2831 "extjson": "{\"d\" : {\"$numberDecimal\" : \"50E-7\"}}", 2832 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0000050\"}}" 2833 }, 2834 { 2835 "description": "[basx169] Numbers with E", 2836 "bson": "180000001364006400000000000000000000000000523000", 2837 "extjson": "{\"d\" : {\"$numberDecimal\" : \"100e+009\"}}", 2838 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00E+11\"}}" 2839 }, 2840 { 2841 "description": "[basx167] Numbers with E", 2842 "bson": "180000001364006400000000000000000000000000523000", 2843 "extjson": "{\"d\" : {\"$numberDecimal\" : \"100e+09\"}}", 2844 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00E+11\"}}" 2845 }, 2846 { 2847 "description": "[basx168] Numbers with E", 2848 "bson": "180000001364006400000000000000000000000000F43000", 2849 "extjson": "{\"d\" : {\"$numberDecimal\" : \"100E+90\"}}", 2850 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00E+92\"}}" 2851 }, 2852 { 2853 "description": "[basx166] Numbers with E", 2854 "bson": "180000001364006400000000000000000000000000523000", 2855 "extjson": "{\"d\" : {\"$numberDecimal\" : \"100e+9\"}}", 2856 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00E+11\"}}" 2857 }, 2858 { 2859 "description": "[basx210] Numbers with E", 2860 "bson": "18000000136400F1040000000000000000000000003E3000", 2861 "extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5\"}}" 2862 }, 2863 { 2864 "description": "[basx217] Numbers with E", 2865 "bson": "18000000136400F1040000000000000000000000003E3000", 2866 "extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5E-0\"}}", 2867 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5\"}}" 2868 }, 2869 { 2870 "description": "[basx216] Numbers with E", 2871 "bson": "18000000136400F1040000000000000000000000003C3000", 2872 "extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5E-1\"}}", 2873 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65\"}}" 2874 }, 2875 { 2876 "description": "[basx218] Numbers with E", 2877 "bson": "18000000136400F104000000000000000000000000403000", 2878 "extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5E+1\"}}", 2879 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1265\"}}" 2880 }, 2881 { 2882 "description": "[basx211] Numbers with E", 2883 "bson": "18000000136400F104000000000000000000000000163000", 2884 "extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5E-20\"}}", 2885 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E-18\"}}" 2886 }, 2887 { 2888 "description": "[basx223] Numbers with E", 2889 "bson": "18000000136400F104000000000000000000000000663000", 2890 "extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5E+20\"}}", 2891 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+22\"}}" 2892 }, 2893 { 2894 "description": "[basx215] Numbers with E", 2895 "bson": "18000000136400F1040000000000000000000000003A3000", 2896 "extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5E-2\"}}", 2897 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265\"}}" 2898 }, 2899 { 2900 "description": "[basx219] Numbers with E", 2901 "bson": "18000000136400F104000000000000000000000000423000", 2902 "extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5E+2\"}}", 2903 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+4\"}}" 2904 }, 2905 { 2906 "description": "[basx214] Numbers with E", 2907 "bson": "18000000136400F104000000000000000000000000383000", 2908 "extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5E-3\"}}", 2909 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265\"}}" 2910 }, 2911 { 2912 "description": "[basx220] Numbers with E", 2913 "bson": "18000000136400F104000000000000000000000000443000", 2914 "extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5E+3\"}}", 2915 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+5\"}}" 2916 }, 2917 { 2918 "description": "[basx213] Numbers with E", 2919 "bson": "18000000136400F104000000000000000000000000363000", 2920 "extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5E-4\"}}", 2921 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.01265\"}}" 2922 }, 2923 { 2924 "description": "[basx221] Numbers with E", 2925 "bson": "18000000136400F104000000000000000000000000463000", 2926 "extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5E+4\"}}", 2927 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+6\"}}" 2928 }, 2929 { 2930 "description": "[basx212] Numbers with E", 2931 "bson": "18000000136400F1040000000000000000000000002E3000", 2932 "extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5E-8\"}}", 2933 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000001265\"}}" 2934 }, 2935 { 2936 "description": "[basx222] Numbers with E", 2937 "bson": "18000000136400F1040000000000000000000000004E3000", 2938 "extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5E+8\"}}", 2939 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+10\"}}" 2940 }, 2941 { 2942 "description": "[basx006] conform to rules and exponent will be in permitted range).", 2943 "bson": "18000000136400E803000000000000000000000000403000", 2944 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1000\"}}" 2945 }, 2946 { 2947 "description": "[basx230] Numbers with E", 2948 "bson": "18000000136400F104000000000000000000000000403000", 2949 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1265\"}}" 2950 }, 2951 { 2952 "description": "[basx237] Numbers with E", 2953 "bson": "18000000136400F104000000000000000000000000403000", 2954 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1265E-0\"}}", 2955 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1265\"}}" 2956 }, 2957 { 2958 "description": "[basx236] Numbers with E", 2959 "bson": "18000000136400F1040000000000000000000000003E3000", 2960 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1265E-1\"}}", 2961 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"126.5\"}}" 2962 }, 2963 { 2964 "description": "[basx238] Numbers with E", 2965 "bson": "18000000136400F104000000000000000000000000423000", 2966 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1265E+1\"}}", 2967 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+4\"}}" 2968 }, 2969 { 2970 "description": "[basx231] Numbers with E", 2971 "bson": "18000000136400F104000000000000000000000000183000", 2972 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1265E-20\"}}", 2973 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E-17\"}}" 2974 }, 2975 { 2976 "description": "[basx243] Numbers with E", 2977 "bson": "18000000136400F104000000000000000000000000683000", 2978 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1265E+20\"}}", 2979 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+23\"}}" 2980 }, 2981 { 2982 "description": "[basx235] Numbers with E", 2983 "bson": "18000000136400F1040000000000000000000000003C3000", 2984 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1265E-2\"}}", 2985 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"12.65\"}}" 2986 }, 2987 { 2988 "description": "[basx239] Numbers with E", 2989 "bson": "18000000136400F104000000000000000000000000443000", 2990 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1265E+2\"}}", 2991 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+5\"}}" 2992 }, 2993 { 2994 "description": "[basx234] Numbers with E", 2995 "bson": "18000000136400F1040000000000000000000000003A3000", 2996 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1265E-3\"}}", 2997 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265\"}}" 2998 }, 2999 { 3000 "description": "[basx240] Numbers with E", 3001 "bson": "18000000136400F104000000000000000000000000463000", 3002 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1265E+3\"}}", 3003 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+6\"}}" 3004 }, 3005 { 3006 "description": "[basx233] Numbers with E", 3007 "bson": "18000000136400F104000000000000000000000000383000", 3008 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1265E-4\"}}", 3009 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1265\"}}" 3010 }, 3011 { 3012 "description": "[basx241] Numbers with E", 3013 "bson": "18000000136400F104000000000000000000000000483000", 3014 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1265E+4\"}}", 3015 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+7\"}}" 3016 }, 3017 { 3018 "description": "[basx232] Numbers with E", 3019 "bson": "18000000136400F104000000000000000000000000303000", 3020 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1265E-8\"}}", 3021 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00001265\"}}" 3022 }, 3023 { 3024 "description": "[basx242] Numbers with E", 3025 "bson": "18000000136400F104000000000000000000000000503000", 3026 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1265E+8\"}}", 3027 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.265E+11\"}}" 3028 }, 3029 { 3030 "description": "[basx060] strings without E cannot generate E in result", 3031 "bson": "18000000136400185C0ACE00000000000000000000383000", 3032 "extjson": "{\"d\" : {\"$numberDecimal\" : \"345678.5432\"}}" 3033 }, 3034 { 3035 "description": "[basx059] strings without E cannot generate E in result", 3036 "bson": "18000000136400F198670C08000000000000000000363000", 3037 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0345678.54321\"}}", 3038 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"345678.54321\"}}" 3039 }, 3040 { 3041 "description": "[basx058] strings without E cannot generate E in result", 3042 "bson": "180000001364006AF90B7C50000000000000000000343000", 3043 "extjson": "{\"d\" : {\"$numberDecimal\" : \"345678.543210\"}}" 3044 }, 3045 { 3046 "description": "[basx057] strings without E cannot generate E in result", 3047 "bson": "180000001364006A19562522020000000000000000343000", 3048 "extjson": "{\"d\" : {\"$numberDecimal\" : \"2345678.543210\"}}" 3049 }, 3050 { 3051 "description": "[basx056] strings without E cannot generate E in result", 3052 "bson": "180000001364006AB9C8733A0B0000000000000000343000", 3053 "extjson": "{\"d\" : {\"$numberDecimal\" : \"12345678.543210\"}}" 3054 }, 3055 { 3056 "description": "[basx031] conform to rules and exponent will be in permitted range).", 3057 "bson": "1800000013640040AF0D8648700000000000000000343000", 3058 "extjson": "{\"d\" : {\"$numberDecimal\" : \"123456789.000000\"}}" 3059 }, 3060 { 3061 "description": "[basx030] conform to rules and exponent will be in permitted range).", 3062 "bson": "1800000013640080910F8648700000000000000000343000", 3063 "extjson": "{\"d\" : {\"$numberDecimal\" : \"123456789.123456\"}}" 3064 }, 3065 { 3066 "description": "[basx032] conform to rules and exponent will be in permitted range).", 3067 "bson": "1800000013640080910F8648700000000000000000403000", 3068 "extjson": "{\"d\" : {\"$numberDecimal\" : \"123456789123456\"}}" 3069 } 3070 ] 3071 } 3072 `}, 3073 3074 {"decimal128-4.json", ` 3075 { 3076 "description": "Decimal128", 3077 "bson_type": "0x13", 3078 "test_key": "d", 3079 "valid": [ 3080 { 3081 "description": "[basx023] conform to rules and exponent will be in permitted range).", 3082 "bson": "1800000013640001000000000000000000000000003EB000", 3083 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.1\"}}" 3084 }, 3085 3086 { 3087 "description": "[basx045] strings without E cannot generate E in result", 3088 "bson": "1800000013640003000000000000000000000000003A3000", 3089 "extjson": "{\"d\" : {\"$numberDecimal\" : \"+0.003\"}}", 3090 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.003\"}}" 3091 }, 3092 { 3093 "description": "[basx610] Zeros", 3094 "bson": "1800000013640000000000000000000000000000003E3000", 3095 "extjson": "{\"d\" : {\"$numberDecimal\" : \".0\"}}", 3096 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0\"}}" 3097 }, 3098 { 3099 "description": "[basx612] Zeros", 3100 "bson": "1800000013640000000000000000000000000000003EB000", 3101 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-.0\"}}", 3102 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.0\"}}" 3103 }, 3104 { 3105 "description": "[basx043] strings without E cannot generate E in result", 3106 "bson": "18000000136400FC040000000000000000000000003C3000", 3107 "extjson": "{\"d\" : {\"$numberDecimal\" : \"+12.76\"}}", 3108 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"12.76\"}}" 3109 }, 3110 { 3111 "description": "[basx055] strings without E cannot generate E in result", 3112 "bson": "180000001364000500000000000000000000000000303000", 3113 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00000005\"}}", 3114 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"5E-8\"}}" 3115 }, 3116 { 3117 "description": "[basx054] strings without E cannot generate E in result", 3118 "bson": "180000001364000500000000000000000000000000323000", 3119 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0000005\"}}", 3120 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"5E-7\"}}" 3121 }, 3122 { 3123 "description": "[basx052] strings without E cannot generate E in result", 3124 "bson": "180000001364000500000000000000000000000000343000", 3125 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000005\"}}" 3126 }, 3127 { 3128 "description": "[basx051] strings without E cannot generate E in result", 3129 "bson": "180000001364000500000000000000000000000000363000", 3130 "extjson": "{\"d\" : {\"$numberDecimal\" : \"00.00005\"}}", 3131 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00005\"}}" 3132 }, 3133 { 3134 "description": "[basx050] strings without E cannot generate E in result", 3135 "bson": "180000001364000500000000000000000000000000383000", 3136 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0005\"}}" 3137 }, 3138 { 3139 "description": "[basx047] strings without E cannot generate E in result", 3140 "bson": "1800000013640005000000000000000000000000003E3000", 3141 "extjson": "{\"d\" : {\"$numberDecimal\" : \".5\"}}", 3142 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.5\"}}" 3143 }, 3144 { 3145 "description": "[dqbsr431] check rounding modes heeded (Rounded)", 3146 "bson": "1800000013640099761CC7B548F377DC80A131C836FE2F00", 3147 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.1111111111111111111111111111123450\"}}", 3148 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.111111111111111111111111111112345\"}}" 3149 }, 3150 { 3151 "description": "OK2", 3152 "bson": "18000000136400000000000A5BC138938D44C64D31FC2F00", 3153 "extjson": "{\"d\" : {\"$numberDecimal\" : \".100000000000000000000000000000000000000000000000000000000000\"}}", 3154 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1000000000000000000000000000000000\"}}" 3155 } 3156 ], 3157 "parseErrors": [ 3158 { 3159 "description": "[basx564] Near-specials (Conversion_syntax)", 3160 "string": "Infi" 3161 }, 3162 { 3163 "description": "[basx565] Near-specials (Conversion_syntax)", 3164 "string": "Infin" 3165 }, 3166 { 3167 "description": "[basx566] Near-specials (Conversion_syntax)", 3168 "string": "Infini" 3169 }, 3170 { 3171 "description": "[basx567] Near-specials (Conversion_syntax)", 3172 "string": "Infinit" 3173 }, 3174 { 3175 "description": "[basx568] Near-specials (Conversion_syntax)", 3176 "string": "-Infinit" 3177 }, 3178 { 3179 "description": "[basx590] some baddies with dots and Es and dots and specials (Conversion_syntax)", 3180 "string": ".Infinity" 3181 }, 3182 { 3183 "description": "[basx562] Near-specials (Conversion_syntax)", 3184 "string": "NaNq" 3185 }, 3186 { 3187 "description": "[basx563] Near-specials (Conversion_syntax)", 3188 "string": "NaNs" 3189 }, 3190 { 3191 "description": "[dqbas939] overflow results at different rounding modes (Overflow & Inexact & Rounded)", 3192 "string": "-7e10000" 3193 }, 3194 { 3195 "description": "[dqbsr534] negatives (Rounded & Inexact)", 3196 "string": "-1.11111111111111111111111111111234650" 3197 }, 3198 { 3199 "description": "[dqbsr535] negatives (Rounded & Inexact)", 3200 "string": "-1.11111111111111111111111111111234551" 3201 }, 3202 { 3203 "description": "[dqbsr533] negatives (Rounded & Inexact)", 3204 "string": "-1.11111111111111111111111111111234550" 3205 }, 3206 { 3207 "description": "[dqbsr532] negatives (Rounded & Inexact)", 3208 "string": "-1.11111111111111111111111111111234549" 3209 }, 3210 { 3211 "description": "[dqbsr432] check rounding modes heeded (Rounded & Inexact)", 3212 "string": "1.11111111111111111111111111111234549" 3213 }, 3214 { 3215 "description": "[dqbsr433] check rounding modes heeded (Rounded & Inexact)", 3216 "string": "1.11111111111111111111111111111234550" 3217 }, 3218 { 3219 "description": "[dqbsr435] check rounding modes heeded (Rounded & Inexact)", 3220 "string": "1.11111111111111111111111111111234551" 3221 }, 3222 { 3223 "description": "[dqbsr434] check rounding modes heeded (Rounded & Inexact)", 3224 "string": "1.11111111111111111111111111111234650" 3225 }, 3226 { 3227 "description": "[dqbas938] overflow results at different rounding modes (Overflow & Inexact & Rounded)", 3228 "string": "7e10000" 3229 }, 3230 { 3231 "description": "Inexact rounding#1", 3232 "string": "100000000000000000000000000000000000000000000000000000000001" 3233 }, 3234 { 3235 "description": "Inexact rounding#2", 3236 "string": "1E-6177" 3237 } 3238 ] 3239 } 3240 `}, 3241 3242 {"decimal128-5.json", ` 3243 { 3244 "description": "Decimal128", 3245 "bson_type": "0x13", 3246 "test_key": "d", 3247 "valid": [ 3248 { 3249 "description": "[decq035] fold-downs (more below) (Clamped)", 3250 "bson": "18000000136400000000807F1BCF85B27059C8A43CFE5F00", 3251 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.23E+6144\"}}", 3252 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.230000000000000000000000000000000E+6144\"}}" 3253 }, 3254 { 3255 "description": "[decq037] fold-downs (more below) (Clamped)", 3256 "bson": "18000000136400000000000A5BC138938D44C64D31FE5F00", 3257 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6144\"}}", 3258 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000000000E+6144\"}}" 3259 }, 3260 { 3261 "description": "[decq077] Nmin and below (Subnormal)", 3262 "bson": "180000001364000000000081EFAC855B416D2DEE04000000", 3263 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.100000000000000000000000000000000E-6143\"}}", 3264 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000000000000000E-6144\"}}" 3265 }, 3266 { 3267 "description": "[decq078] Nmin and below (Subnormal)", 3268 "bson": "180000001364000000000081EFAC855B416D2DEE04000000", 3269 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000000000000000E-6144\"}}" 3270 }, 3271 { 3272 "description": "[decq079] Nmin and below (Subnormal)", 3273 "bson": "180000001364000A00000000000000000000000000000000", 3274 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000000000000000000000000000000010E-6143\"}}", 3275 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E-6175\"}}" 3276 }, 3277 { 3278 "description": "[decq080] Nmin and below (Subnormal)", 3279 "bson": "180000001364000A00000000000000000000000000000000", 3280 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E-6175\"}}" 3281 }, 3282 { 3283 "description": "[decq081] Nmin and below (Subnormal)", 3284 "bson": "180000001364000100000000000000000000000000020000", 3285 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00000000000000000000000000000001E-6143\"}}", 3286 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E-6175\"}}" 3287 }, 3288 { 3289 "description": "[decq082] Nmin and below (Subnormal)", 3290 "bson": "180000001364000100000000000000000000000000020000", 3291 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E-6175\"}}" 3292 }, 3293 { 3294 "description": "[decq083] Nmin and below (Subnormal)", 3295 "bson": "180000001364000100000000000000000000000000000000", 3296 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000000000000000000000000000000001E-6143\"}}", 3297 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E-6176\"}}" 3298 }, 3299 { 3300 "description": "[decq084] Nmin and below (Subnormal)", 3301 "bson": "180000001364000100000000000000000000000000000000", 3302 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E-6176\"}}" 3303 }, 3304 { 3305 "description": "[decq090] underflows cannot be tested for simple copies, check edge cases (Subnormal)", 3306 "bson": "180000001364000100000000000000000000000000000000", 3307 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1e-6176\"}}", 3308 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E-6176\"}}" 3309 }, 3310 { 3311 "description": "[decq100] underflows cannot be tested for simple copies, check edge cases (Subnormal)", 3312 "bson": "18000000136400FFFFFFFF095BC138938D44C64D31000000", 3313 "extjson": "{\"d\" : {\"$numberDecimal\" : \"999999999999999999999999999999999e-6176\"}}", 3314 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"9.99999999999999999999999999999999E-6144\"}}" 3315 }, 3316 { 3317 "description": "[decq130] fold-downs (more below) (Clamped)", 3318 "bson": "18000000136400000000807F1BCF85B27059C8A43CFEDF00", 3319 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.23E+6144\"}}", 3320 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.230000000000000000000000000000000E+6144\"}}" 3321 }, 3322 { 3323 "description": "[decq132] fold-downs (more below) (Clamped)", 3324 "bson": "18000000136400000000000A5BC138938D44C64D31FEDF00", 3325 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1E+6144\"}}", 3326 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.000000000000000000000000000000000E+6144\"}}" 3327 }, 3328 { 3329 "description": "[decq177] Nmin and below (Subnormal)", 3330 "bson": "180000001364000000000081EFAC855B416D2DEE04008000", 3331 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.100000000000000000000000000000000E-6143\"}}", 3332 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.00000000000000000000000000000000E-6144\"}}" 3333 }, 3334 { 3335 "description": "[decq178] Nmin and below (Subnormal)", 3336 "bson": "180000001364000000000081EFAC855B416D2DEE04008000", 3337 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.00000000000000000000000000000000E-6144\"}}" 3338 }, 3339 { 3340 "description": "[decq179] Nmin and below (Subnormal)", 3341 "bson": "180000001364000A00000000000000000000000000008000", 3342 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.000000000000000000000000000000010E-6143\"}}", 3343 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.0E-6175\"}}" 3344 }, 3345 { 3346 "description": "[decq180] Nmin and below (Subnormal)", 3347 "bson": "180000001364000A00000000000000000000000000008000", 3348 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.0E-6175\"}}" 3349 }, 3350 { 3351 "description": "[decq181] Nmin and below (Subnormal)", 3352 "bson": "180000001364000100000000000000000000000000028000", 3353 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00000000000000000000000000000001E-6143\"}}", 3354 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1E-6175\"}}" 3355 }, 3356 { 3357 "description": "[decq182] Nmin and below (Subnormal)", 3358 "bson": "180000001364000100000000000000000000000000028000", 3359 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1E-6175\"}}" 3360 }, 3361 { 3362 "description": "[decq183] Nmin and below (Subnormal)", 3363 "bson": "180000001364000100000000000000000000000000008000", 3364 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.000000000000000000000000000000001E-6143\"}}", 3365 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1E-6176\"}}" 3366 }, 3367 { 3368 "description": "[decq184] Nmin and below (Subnormal)", 3369 "bson": "180000001364000100000000000000000000000000008000", 3370 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1E-6176\"}}" 3371 }, 3372 { 3373 "description": "[decq190] underflow edge cases (Subnormal)", 3374 "bson": "180000001364000100000000000000000000000000008000", 3375 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-1e-6176\"}}", 3376 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1E-6176\"}}" 3377 }, 3378 { 3379 "description": "[decq200] underflow edge cases (Subnormal)", 3380 "bson": "18000000136400FFFFFFFF095BC138938D44C64D31008000", 3381 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-999999999999999999999999999999999e-6176\"}}", 3382 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-9.99999999999999999999999999999999E-6144\"}}" 3383 }, 3384 { 3385 "description": "[decq400] zeros (Clamped)", 3386 "bson": "180000001364000000000000000000000000000000000000", 3387 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-8000\"}}", 3388 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-6176\"}}" 3389 }, 3390 { 3391 "description": "[decq401] zeros (Clamped)", 3392 "bson": "180000001364000000000000000000000000000000000000", 3393 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-6177\"}}", 3394 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-6176\"}}" 3395 }, 3396 { 3397 "description": "[decq414] clamped zeros... (Clamped)", 3398 "bson": "180000001364000000000000000000000000000000FE5F00", 3399 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+6112\"}}", 3400 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+6111\"}}" 3401 }, 3402 { 3403 "description": "[decq416] clamped zeros... (Clamped)", 3404 "bson": "180000001364000000000000000000000000000000FE5F00", 3405 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+6144\"}}", 3406 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+6111\"}}" 3407 }, 3408 { 3409 "description": "[decq418] clamped zeros... (Clamped)", 3410 "bson": "180000001364000000000000000000000000000000FE5F00", 3411 "extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+8000\"}}", 3412 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+6111\"}}" 3413 }, 3414 { 3415 "description": "[decq420] negative zeros (Clamped)", 3416 "bson": "180000001364000000000000000000000000000000008000", 3417 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E-8000\"}}", 3418 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E-6176\"}}" 3419 }, 3420 { 3421 "description": "[decq421] negative zeros (Clamped)", 3422 "bson": "180000001364000000000000000000000000000000008000", 3423 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E-6177\"}}", 3424 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E-6176\"}}" 3425 }, 3426 { 3427 "description": "[decq434] clamped zeros... (Clamped)", 3428 "bson": "180000001364000000000000000000000000000000FEDF00", 3429 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E+6112\"}}", 3430 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E+6111\"}}" 3431 }, 3432 { 3433 "description": "[decq436] clamped zeros... (Clamped)", 3434 "bson": "180000001364000000000000000000000000000000FEDF00", 3435 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E+6144\"}}", 3436 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E+6111\"}}" 3437 }, 3438 { 3439 "description": "[decq438] clamped zeros... (Clamped)", 3440 "bson": "180000001364000000000000000000000000000000FEDF00", 3441 "extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E+8000\"}}", 3442 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E+6111\"}}" 3443 }, 3444 { 3445 "description": "[decq601] fold-down full sequence (Clamped)", 3446 "bson": "18000000136400000000000A5BC138938D44C64D31FE5F00", 3447 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6144\"}}", 3448 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000000000E+6144\"}}" 3449 }, 3450 { 3451 "description": "[decq603] fold-down full sequence (Clamped)", 3452 "bson": "180000001364000000000081EFAC855B416D2DEE04FE5F00", 3453 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6143\"}}", 3454 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000000000000000E+6143\"}}" 3455 }, 3456 { 3457 "description": "[decq605] fold-down full sequence (Clamped)", 3458 "bson": "1800000013640000000080264B91C02220BE377E00FE5F00", 3459 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6142\"}}", 3460 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000000000000000000E+6142\"}}" 3461 }, 3462 { 3463 "description": "[decq607] fold-down full sequence (Clamped)", 3464 "bson": "1800000013640000000040EAED7446D09C2C9F0C00FE5F00", 3465 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6141\"}}", 3466 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000000E+6141\"}}" 3467 }, 3468 { 3469 "description": "[decq609] fold-down full sequence (Clamped)", 3470 "bson": "18000000136400000000A0CA17726DAE0F1E430100FE5F00", 3471 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6140\"}}", 3472 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000000000000E+6140\"}}" 3473 }, 3474 { 3475 "description": "[decq611] fold-down full sequence (Clamped)", 3476 "bson": "18000000136400000000106102253E5ECE4F200000FE5F00", 3477 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6139\"}}", 3478 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000000000000000E+6139\"}}" 3479 }, 3480 { 3481 "description": "[decq613] fold-down full sequence (Clamped)", 3482 "bson": "18000000136400000000E83C80D09F3C2E3B030000FE5F00", 3483 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6138\"}}", 3484 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000E+6138\"}}" 3485 }, 3486 { 3487 "description": "[decq615] fold-down full sequence (Clamped)", 3488 "bson": "18000000136400000000E4D20CC8DCD2B752000000FE5F00", 3489 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6137\"}}", 3490 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000000000E+6137\"}}" 3491 }, 3492 { 3493 "description": "[decq617] fold-down full sequence (Clamped)", 3494 "bson": "180000001364000000004A48011416954508000000FE5F00", 3495 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6136\"}}", 3496 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000000000000E+6136\"}}" 3497 }, 3498 { 3499 "description": "[decq619] fold-down full sequence (Clamped)", 3500 "bson": "18000000136400000000A1EDCCCE1BC2D300000000FE5F00", 3501 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6135\"}}", 3502 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000E+6135\"}}" 3503 }, 3504 { 3505 "description": "[decq621] fold-down full sequence (Clamped)", 3506 "bson": "18000000136400000080F64AE1C7022D1500000000FE5F00", 3507 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6134\"}}", 3508 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000000E+6134\"}}" 3509 }, 3510 { 3511 "description": "[decq623] fold-down full sequence (Clamped)", 3512 "bson": "18000000136400000040B2BAC9E0191E0200000000FE5F00", 3513 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6133\"}}", 3514 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000000000E+6133\"}}" 3515 }, 3516 { 3517 "description": "[decq625] fold-down full sequence (Clamped)", 3518 "bson": "180000001364000000A0DEC5ADC935360000000000FE5F00", 3519 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6132\"}}", 3520 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000E+6132\"}}" 3521 }, 3522 { 3523 "description": "[decq627] fold-down full sequence (Clamped)", 3524 "bson": "18000000136400000010632D5EC76B050000000000FE5F00", 3525 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6131\"}}", 3526 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000E+6131\"}}" 3527 }, 3528 { 3529 "description": "[decq629] fold-down full sequence (Clamped)", 3530 "bson": "180000001364000000E8890423C78A000000000000FE5F00", 3531 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6130\"}}", 3532 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000000E+6130\"}}" 3533 }, 3534 { 3535 "description": "[decq631] fold-down full sequence (Clamped)", 3536 "bson": "18000000136400000064A7B3B6E00D000000000000FE5F00", 3537 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6129\"}}", 3538 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000E+6129\"}}" 3539 }, 3540 { 3541 "description": "[decq633] fold-down full sequence (Clamped)", 3542 "bson": "1800000013640000008A5D78456301000000000000FE5F00", 3543 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6128\"}}", 3544 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000E+6128\"}}" 3545 }, 3546 { 3547 "description": "[decq635] fold-down full sequence (Clamped)", 3548 "bson": "180000001364000000C16FF2862300000000000000FE5F00", 3549 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6127\"}}", 3550 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000E+6127\"}}" 3551 }, 3552 { 3553 "description": "[decq637] fold-down full sequence (Clamped)", 3554 "bson": "180000001364000080C6A47E8D0300000000000000FE5F00", 3555 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6126\"}}", 3556 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000E+6126\"}}" 3557 }, 3558 { 3559 "description": "[decq639] fold-down full sequence (Clamped)", 3560 "bson": "1800000013640000407A10F35A0000000000000000FE5F00", 3561 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6125\"}}", 3562 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000E+6125\"}}" 3563 }, 3564 { 3565 "description": "[decq641] fold-down full sequence (Clamped)", 3566 "bson": "1800000013640000A0724E18090000000000000000FE5F00", 3567 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6124\"}}", 3568 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000E+6124\"}}" 3569 }, 3570 { 3571 "description": "[decq643] fold-down full sequence (Clamped)", 3572 "bson": "180000001364000010A5D4E8000000000000000000FE5F00", 3573 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6123\"}}", 3574 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000E+6123\"}}" 3575 }, 3576 { 3577 "description": "[decq645] fold-down full sequence (Clamped)", 3578 "bson": "1800000013640000E8764817000000000000000000FE5F00", 3579 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6122\"}}", 3580 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000E+6122\"}}" 3581 }, 3582 { 3583 "description": "[decq647] fold-down full sequence (Clamped)", 3584 "bson": "1800000013640000E40B5402000000000000000000FE5F00", 3585 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6121\"}}", 3586 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000E+6121\"}}" 3587 }, 3588 { 3589 "description": "[decq649] fold-down full sequence (Clamped)", 3590 "bson": "1800000013640000CA9A3B00000000000000000000FE5F00", 3591 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6120\"}}", 3592 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000E+6120\"}}" 3593 }, 3594 { 3595 "description": "[decq651] fold-down full sequence (Clamped)", 3596 "bson": "1800000013640000E1F50500000000000000000000FE5F00", 3597 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6119\"}}", 3598 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000E+6119\"}}" 3599 }, 3600 { 3601 "description": "[decq653] fold-down full sequence (Clamped)", 3602 "bson": "180000001364008096980000000000000000000000FE5F00", 3603 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6118\"}}", 3604 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000E+6118\"}}" 3605 }, 3606 { 3607 "description": "[decq655] fold-down full sequence (Clamped)", 3608 "bson": "1800000013640040420F0000000000000000000000FE5F00", 3609 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6117\"}}", 3610 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000E+6117\"}}" 3611 }, 3612 { 3613 "description": "[decq657] fold-down full sequence (Clamped)", 3614 "bson": "18000000136400A086010000000000000000000000FE5F00", 3615 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6116\"}}", 3616 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000E+6116\"}}" 3617 }, 3618 { 3619 "description": "[decq659] fold-down full sequence (Clamped)", 3620 "bson": "180000001364001027000000000000000000000000FE5F00", 3621 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6115\"}}", 3622 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000E+6115\"}}" 3623 }, 3624 { 3625 "description": "[decq661] fold-down full sequence (Clamped)", 3626 "bson": "18000000136400E803000000000000000000000000FE5F00", 3627 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6114\"}}", 3628 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000E+6114\"}}" 3629 }, 3630 { 3631 "description": "[decq663] fold-down full sequence (Clamped)", 3632 "bson": "180000001364006400000000000000000000000000FE5F00", 3633 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6113\"}}", 3634 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00E+6113\"}}" 3635 }, 3636 { 3637 "description": "[decq665] fold-down full sequence (Clamped)", 3638 "bson": "180000001364000A00000000000000000000000000FE5F00", 3639 "extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6112\"}}", 3640 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+6112\"}}" 3641 } 3642 ] 3643 } 3644 `}, 3645 3646 {"decimal128-6.json", ` 3647 { 3648 "description": "Decimal128", 3649 "bson_type": "0x13", 3650 "test_key": "d", 3651 "parseErrors": [ 3652 { 3653 "description": "Incomplete Exponent", 3654 "string": "1e" 3655 }, 3656 { 3657 "description": "Exponent at the beginning", 3658 "string": "E01" 3659 }, 3660 { 3661 "description": "Just a decimal place", 3662 "string": "." 3663 }, 3664 { 3665 "description": "2 decimal places", 3666 "string": "..3" 3667 }, 3668 { 3669 "description": "2 decimal places", 3670 "string": ".13.3" 3671 }, 3672 { 3673 "description": "2 decimal places", 3674 "string": "1..3" 3675 }, 3676 { 3677 "description": "2 decimal places", 3678 "string": "1.3.4" 3679 }, 3680 { 3681 "description": "2 decimal places", 3682 "string": "1.34." 3683 }, 3684 { 3685 "description": "Decimal with no digits", 3686 "string": ".e" 3687 }, 3688 { 3689 "description": "2 signs", 3690 "string": "+-32.4" 3691 }, 3692 { 3693 "description": "2 signs", 3694 "string": "-+32.4" 3695 }, 3696 { 3697 "description": "2 negative signs", 3698 "string": "--32.4" 3699 }, 3700 { 3701 "description": "2 negative signs", 3702 "string": "-32.-4" 3703 }, 3704 { 3705 "description": "End in negative sign", 3706 "string": "32.0-" 3707 }, 3708 { 3709 "description": "2 negative signs", 3710 "string": "32.4E--21" 3711 }, 3712 { 3713 "description": "2 negative signs", 3714 "string": "32.4E-2-1" 3715 }, 3716 { 3717 "description": "2 signs", 3718 "string": "32.4E+-21" 3719 }, 3720 { 3721 "description": "Empty string", 3722 "string": "" 3723 }, 3724 { 3725 "description": "leading white space positive number", 3726 "string": " 1" 3727 }, 3728 { 3729 "description": "leading white space negative number", 3730 "string": " -1" 3731 }, 3732 { 3733 "description": "trailing white space", 3734 "string": "1 " 3735 }, 3736 { 3737 "description": "Invalid", 3738 "string": "E" 3739 }, 3740 { 3741 "description": "Invalid", 3742 "string": "invalid" 3743 }, 3744 { 3745 "description": "Invalid", 3746 "string": "i" 3747 }, 3748 { 3749 "description": "Invalid", 3750 "string": "in" 3751 }, 3752 { 3753 "description": "Invalid", 3754 "string": "-in" 3755 }, 3756 { 3757 "description": "Invalid", 3758 "string": "Na" 3759 }, 3760 { 3761 "description": "Invalid", 3762 "string": "-Na" 3763 }, 3764 { 3765 "description": "Invalid", 3766 "string": "1.23abc" 3767 }, 3768 { 3769 "description": "Invalid", 3770 "string": "1.23abcE+02" 3771 }, 3772 { 3773 "description": "Invalid", 3774 "string": "1.23E+0aabs2" 3775 } 3776 ] 3777 } 3778 `}, 3779 3780 {"decimal128-7.json", ` 3781 { 3782 "description": "Decimal128", 3783 "bson_type": "0x13", 3784 "test_key": "d", 3785 "parseErrors": [ 3786 { 3787 "description": "[basx572] Near-specials (Conversion_syntax)", 3788 "string": "-9Inf" 3789 }, 3790 { 3791 "description": "[basx516] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3792 "string": "-1-" 3793 }, 3794 { 3795 "description": "[basx533] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3796 "string": "0000.." 3797 }, 3798 { 3799 "description": "[basx534] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3800 "string": ".0000." 3801 }, 3802 { 3803 "description": "[basx535] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3804 "string": "00..00" 3805 }, 3806 { 3807 "description": "[basx569] Near-specials (Conversion_syntax)", 3808 "string": "0Inf" 3809 }, 3810 { 3811 "description": "[basx571] Near-specials (Conversion_syntax)", 3812 "string": "-0Inf" 3813 }, 3814 { 3815 "description": "[basx575] Near-specials (Conversion_syntax)", 3816 "string": "0sNaN" 3817 }, 3818 { 3819 "description": "[basx503] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3820 "string": "++1" 3821 }, 3822 { 3823 "description": "[basx504] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3824 "string": "--1" 3825 }, 3826 { 3827 "description": "[basx505] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3828 "string": "-+1" 3829 }, 3830 { 3831 "description": "[basx506] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3832 "string": "+-1" 3833 }, 3834 { 3835 "description": "[basx510] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3836 "string": " +1" 3837 }, 3838 { 3839 "description": "[basx513] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3840 "string": " + 1" 3841 }, 3842 { 3843 "description": "[basx514] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3844 "string": " - 1" 3845 }, 3846 { 3847 "description": "[basx501] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3848 "string": "." 3849 }, 3850 { 3851 "description": "[basx502] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3852 "string": ".." 3853 }, 3854 { 3855 "description": "[basx519] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3856 "string": "" 3857 }, 3858 { 3859 "description": "[basx525] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3860 "string": "e100" 3861 }, 3862 { 3863 "description": "[basx549] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3864 "string": "e+1" 3865 }, 3866 { 3867 "description": "[basx577] some baddies with dots and Es and dots and specials (Conversion_syntax)", 3868 "string": ".e+1" 3869 }, 3870 { 3871 "description": "[basx578] some baddies with dots and Es and dots and specials (Conversion_syntax)", 3872 "string": "+.e+1" 3873 }, 3874 { 3875 "description": "[basx581] some baddies with dots and Es and dots and specials (Conversion_syntax)", 3876 "string": "E+1" 3877 }, 3878 { 3879 "description": "[basx582] some baddies with dots and Es and dots and specials (Conversion_syntax)", 3880 "string": ".E+1" 3881 }, 3882 { 3883 "description": "[basx583] some baddies with dots and Es and dots and specials (Conversion_syntax)", 3884 "string": "+.E+1" 3885 }, 3886 { 3887 "description": "[basx579] some baddies with dots and Es and dots and specials (Conversion_syntax)", 3888 "string": "-.e+" 3889 }, 3890 { 3891 "description": "[basx580] some baddies with dots and Es and dots and specials (Conversion_syntax)", 3892 "string": "-.e" 3893 }, 3894 { 3895 "description": "[basx584] some baddies with dots and Es and dots and specials (Conversion_syntax)", 3896 "string": "-.E+" 3897 }, 3898 { 3899 "description": "[basx585] some baddies with dots and Es and dots and specials (Conversion_syntax)", 3900 "string": "-.E" 3901 }, 3902 { 3903 "description": "[basx589] some baddies with dots and Es and dots and specials (Conversion_syntax)", 3904 "string": "+.Inf" 3905 }, 3906 { 3907 "description": "[basx586] some baddies with dots and Es and dots and specials (Conversion_syntax)", 3908 "string": ".NaN" 3909 }, 3910 { 3911 "description": "[basx587] some baddies with dots and Es and dots and specials (Conversion_syntax)", 3912 "string": "-.NaN" 3913 }, 3914 { 3915 "description": "[basx545] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3916 "string": "ONE" 3917 }, 3918 { 3919 "description": "[basx561] Near-specials (Conversion_syntax)", 3920 "string": "qNaN" 3921 }, 3922 { 3923 "description": "[basx573] Near-specials (Conversion_syntax)", 3924 "string": "-sNa" 3925 }, 3926 { 3927 "description": "[basx588] some baddies with dots and Es and dots and specials (Conversion_syntax)", 3928 "string": "+.sNaN" 3929 }, 3930 { 3931 "description": "[basx544] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3932 "string": "ten" 3933 }, 3934 { 3935 "description": "[basx527] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3936 "string": "u0b65" 3937 }, 3938 { 3939 "description": "[basx526] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3940 "string": "u0e5a" 3941 }, 3942 { 3943 "description": "[basx515] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3944 "string": "x" 3945 }, 3946 { 3947 "description": "[basx574] Near-specials (Conversion_syntax)", 3948 "string": "xNaN" 3949 }, 3950 { 3951 "description": "[basx530] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3952 "string": ".123.5" 3953 }, 3954 { 3955 "description": "[basx500] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3956 "string": "1..2" 3957 }, 3958 { 3959 "description": "[basx542] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3960 "string": "1e1.0" 3961 }, 3962 { 3963 "description": "[basx553] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3964 "string": "1E+1.2.3" 3965 }, 3966 { 3967 "description": "[basx543] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3968 "string": "1e123e" 3969 }, 3970 { 3971 "description": "[basx552] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3972 "string": "1E+1.2" 3973 }, 3974 { 3975 "description": "[basx546] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3976 "string": "1e.1" 3977 }, 3978 { 3979 "description": "[basx547] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3980 "string": "1e1." 3981 }, 3982 { 3983 "description": "[basx554] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3984 "string": "1E++1" 3985 }, 3986 { 3987 "description": "[basx555] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3988 "string": "1E--1" 3989 }, 3990 { 3991 "description": "[basx556] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3992 "string": "1E+-1" 3993 }, 3994 { 3995 "description": "[basx557] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 3996 "string": "1E-+1" 3997 }, 3998 { 3999 "description": "[basx558] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4000 "string": "1E'1" 4001 }, 4002 { 4003 "description": "[basx559] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4004 "string": "1E\"1" 4005 }, 4006 { 4007 "description": "[basx520] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4008 "string": "1e-" 4009 }, 4010 { 4011 "description": "[basx560] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4012 "string": "1E" 4013 }, 4014 { 4015 "description": "[basx548] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4016 "string": "1ee" 4017 }, 4018 { 4019 "description": "[basx551] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4020 "string": "1.2.1" 4021 }, 4022 { 4023 "description": "[basx550] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4024 "string": "1.23.4" 4025 }, 4026 { 4027 "description": "[basx529] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4028 "string": "1.34.5" 4029 }, 4030 { 4031 "description": "[basx531] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4032 "string": "01.35." 4033 }, 4034 { 4035 "description": "[basx532] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4036 "string": "01.35-" 4037 }, 4038 { 4039 "description": "[basx518] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4040 "string": "3+" 4041 }, 4042 { 4043 "description": "[basx521] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4044 "string": "7e99999a" 4045 }, 4046 { 4047 "description": "[basx570] Near-specials (Conversion_syntax)", 4048 "string": "9Inf" 4049 }, 4050 { 4051 "description": "[basx512] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4052 "string": "12 " 4053 }, 4054 { 4055 "description": "[basx517] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4056 "string": "12-" 4057 }, 4058 { 4059 "description": "[basx507] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4060 "string": "12e" 4061 }, 4062 { 4063 "description": "[basx508] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4064 "string": "12e++" 4065 }, 4066 { 4067 "description": "[basx509] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4068 "string": "12f4" 4069 }, 4070 { 4071 "description": "[basx536] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4072 "string": "111e*123" 4073 }, 4074 { 4075 "description": "[basx537] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4076 "string": "111e123-" 4077 }, 4078 { 4079 "description": "[basx540] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4080 "string": "111e1*23" 4081 }, 4082 { 4083 "description": "[basx538] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4084 "string": "111e+12+" 4085 }, 4086 { 4087 "description": "[basx539] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4088 "string": "111e1-3-" 4089 }, 4090 { 4091 "description": "[basx541] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4092 "string": "111E1e+3" 4093 }, 4094 { 4095 "description": "[basx528] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4096 "string": "123,65" 4097 }, 4098 { 4099 "description": "[basx523] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4100 "string": "7e12356789012x" 4101 }, 4102 { 4103 "description": "[basx522] The 'baddies' tests from DiagBigDecimal, plus some new ones (Conversion_syntax)", 4104 "string": "7e123567890x" 4105 } 4106 ] 4107 } 4108 `}, 4109 }