bson 4.7.1 → 4.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (159) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +2 -1
  4. data/README.md +6 -2
  5. data/ext/bson/bson-endian.h +1 -1
  6. data/ext/bson/bson-native.h +15 -5
  7. data/ext/bson/bytebuf.c +1 -1
  8. data/ext/bson/endian.c +1 -1
  9. data/ext/bson/init.c +26 -3
  10. data/ext/bson/read.c +127 -33
  11. data/ext/bson/util.c +41 -1
  12. data/ext/bson/write.c +18 -14
  13. data/lib/bson.rb +4 -1
  14. data/lib/bson/active_support.rb +1 -1
  15. data/lib/bson/array.rb +34 -5
  16. data/lib/bson/binary.rb +42 -4
  17. data/lib/bson/boolean.rb +12 -3
  18. data/lib/bson/code.rb +16 -2
  19. data/lib/bson/code_with_scope.rb +32 -5
  20. data/lib/bson/config.rb +1 -1
  21. data/lib/bson/date.rb +1 -1
  22. data/lib/bson/date_time.rb +1 -1
  23. data/lib/bson/db_pointer.rb +110 -0
  24. data/lib/bson/decimal128.rb +16 -2
  25. data/lib/bson/decimal128/builder.rb +1 -1
  26. data/lib/bson/document.rb +1 -1
  27. data/lib/bson/environment.rb +2 -1
  28. data/lib/bson/error.rb +21 -0
  29. data/lib/bson/ext_json.rb +375 -0
  30. data/lib/bson/false_class.rb +1 -1
  31. data/lib/bson/float.rb +48 -2
  32. data/lib/bson/hash.rb +36 -5
  33. data/lib/bson/int32.rb +22 -2
  34. data/lib/bson/int64.rb +29 -4
  35. data/lib/bson/integer.rb +35 -1
  36. data/lib/bson/json.rb +1 -1
  37. data/lib/bson/max_key.rb +13 -1
  38. data/lib/bson/min_key.rb +13 -1
  39. data/lib/bson/nil_class.rb +4 -2
  40. data/lib/bson/object.rb +28 -1
  41. data/lib/bson/object_id.rb +16 -2
  42. data/lib/bson/open_struct.rb +1 -1
  43. data/lib/bson/regexp.rb +20 -3
  44. data/lib/bson/registry.rb +1 -1
  45. data/lib/bson/specialized.rb +4 -2
  46. data/lib/bson/string.rb +4 -2
  47. data/lib/bson/symbol.rb +93 -4
  48. data/lib/bson/time.rb +63 -4
  49. data/lib/bson/time_with_zone.rb +1 -1
  50. data/lib/bson/timestamp.rb +16 -2
  51. data/lib/bson/true_class.rb +1 -1
  52. data/lib/bson/undefined.rb +12 -1
  53. data/lib/bson/version.rb +2 -2
  54. data/spec/bson/array_spec.rb +1 -1
  55. data/spec/bson/binary_spec.rb +34 -4
  56. data/spec/bson/binary_uuid_spec.rb +1 -1
  57. data/spec/bson/boolean_spec.rb +1 -1
  58. data/spec/bson/code_spec.rb +1 -1
  59. data/spec/bson/code_with_scope_spec.rb +1 -1
  60. data/spec/bson/date_spec.rb +1 -1
  61. data/spec/bson/date_time_spec.rb +1 -1
  62. data/spec/bson/decimal128_spec.rb +1 -1
  63. data/spec/bson/document_spec.rb +1 -1
  64. data/spec/bson/ext_json_parse_spec.rb +308 -0
  65. data/spec/bson/false_class_spec.rb +1 -1
  66. data/spec/bson/float_spec.rb +37 -1
  67. data/spec/bson/hash_spec.rb +71 -1
  68. data/spec/bson/int32_spec.rb +21 -1
  69. data/spec/bson/int64_spec.rb +39 -1
  70. data/spec/bson/integer_spec.rb +27 -1
  71. data/spec/bson/json_spec.rb +1 -1
  72. data/spec/bson/max_key_spec.rb +1 -1
  73. data/spec/bson/min_key_spec.rb +1 -1
  74. data/spec/bson/nil_class_spec.rb +1 -1
  75. data/spec/bson/object_id_spec.rb +1 -1
  76. data/spec/bson/object_spec.rb +1 -1
  77. data/spec/bson/open_struct_spec.rb +1 -1
  78. data/spec/bson/raw_spec.rb +22 -1
  79. data/spec/bson/regexp_spec.rb +1 -1
  80. data/spec/bson/registry_spec.rb +1 -1
  81. data/spec/bson/string_spec.rb +1 -1
  82. data/spec/bson/symbol_raw_spec.rb +45 -0
  83. data/spec/bson/symbol_spec.rb +61 -1
  84. data/spec/bson/time_spec.rb +205 -2
  85. data/spec/bson/time_with_zone_spec.rb +1 -1
  86. data/spec/bson/timestamp_spec.rb +1 -1
  87. data/spec/bson/true_class_spec.rb +1 -1
  88. data/spec/bson/undefined_spec.rb +1 -1
  89. data/spec/bson_spec.rb +1 -1
  90. data/spec/{support → runners}/common_driver.rb +1 -1
  91. data/spec/runners/corpus.rb +185 -0
  92. data/spec/{support/corpus.rb → runners/corpus_legacy.rb} +41 -59
  93. data/spec/spec_helper.rb +10 -3
  94. data/spec/{bson/driver_bson_spec.rb → spec_tests/common_driver_spec.rb} +1 -0
  95. data/spec/{bson/corpus_spec.rb → spec_tests/corpus_legacy_spec.rb} +4 -4
  96. data/spec/spec_tests/corpus_spec.rb +124 -0
  97. data/spec/spec_tests/data/corpus/README.md +15 -0
  98. data/spec/spec_tests/data/corpus/array.json +49 -0
  99. data/spec/spec_tests/data/corpus/binary.json +85 -0
  100. data/spec/spec_tests/data/corpus/boolean.json +27 -0
  101. data/spec/spec_tests/data/corpus/code.json +67 -0
  102. data/spec/spec_tests/data/corpus/code_w_scope.json +78 -0
  103. data/spec/spec_tests/data/corpus/datetime.json +42 -0
  104. data/spec/spec_tests/data/corpus/dbpointer.json +56 -0
  105. data/spec/spec_tests/data/corpus/dbref.json +31 -0
  106. data/spec/spec_tests/data/corpus/decimal128-1.json +317 -0
  107. data/spec/spec_tests/data/corpus/decimal128-2.json +793 -0
  108. data/spec/spec_tests/data/corpus/decimal128-3.json +1771 -0
  109. data/spec/spec_tests/data/corpus/decimal128-4.json +117 -0
  110. data/spec/spec_tests/data/corpus/decimal128-5.json +402 -0
  111. data/spec/spec_tests/data/corpus/decimal128-6.json +119 -0
  112. data/spec/spec_tests/data/corpus/decimal128-7.json +323 -0
  113. data/spec/spec_tests/data/corpus/document.json +36 -0
  114. data/spec/spec_tests/data/corpus/double.json +87 -0
  115. data/spec/spec_tests/data/corpus/int32.json +43 -0
  116. data/spec/spec_tests/data/corpus/int64.json +43 -0
  117. data/spec/spec_tests/data/corpus/maxkey.json +12 -0
  118. data/spec/spec_tests/data/corpus/minkey.json +12 -0
  119. data/spec/spec_tests/data/corpus/multi-type-deprecated.json +15 -0
  120. data/spec/spec_tests/data/corpus/multi-type.json +11 -0
  121. data/spec/spec_tests/data/corpus/null.json +12 -0
  122. data/spec/spec_tests/data/corpus/oid.json +28 -0
  123. data/spec/spec_tests/data/corpus/regex.json +65 -0
  124. data/spec/spec_tests/data/corpus/string.json +72 -0
  125. data/spec/spec_tests/data/corpus/symbol.json +80 -0
  126. data/spec/spec_tests/data/corpus/timestamp.json +24 -0
  127. data/spec/spec_tests/data/corpus/top.json +236 -0
  128. data/spec/spec_tests/data/corpus/undefined.json +15 -0
  129. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/array.json +0 -0
  130. data/spec/{support/corpus-tests/failures → spec_tests/data/corpus_legacy}/binary.json +0 -0
  131. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/boolean.json +0 -0
  132. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/code.json +1 -1
  133. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/code_w_scope.json +1 -1
  134. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/document.json +1 -1
  135. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/double.json +1 -1
  136. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/failures/datetime.json +0 -0
  137. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/failures/dbpointer.json +0 -0
  138. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/failures/int64.json +0 -0
  139. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/failures/symbol.json +0 -0
  140. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/int32.json +1 -1
  141. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/maxkey.json +1 -1
  142. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/minkey.json +1 -1
  143. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/null.json +1 -1
  144. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/oid.json +0 -0
  145. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/regex.json +1 -1
  146. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/string.json +0 -0
  147. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/timestamp.json +1 -1
  148. data/spec/{support/corpus-tests → spec_tests/data/corpus_legacy}/top.json +0 -0
  149. data/spec/{support/corpus-tests/failures → spec_tests/data/corpus_legacy}/undefined.json +0 -0
  150. data/spec/{support/driver-spec-tests → spec_tests/data}/decimal128/decimal128-1.json +0 -0
  151. data/spec/{support/driver-spec-tests → spec_tests/data}/decimal128/decimal128-2.json +0 -0
  152. data/spec/{support/driver-spec-tests → spec_tests/data}/decimal128/decimal128-3.json +0 -0
  153. data/spec/{support/driver-spec-tests → spec_tests/data}/decimal128/decimal128-4.json +0 -0
  154. data/spec/{support/driver-spec-tests → spec_tests/data}/decimal128/decimal128-5.json +0 -0
  155. data/spec/{support/driver-spec-tests → spec_tests/data}/decimal128/decimal128-6.json +0 -0
  156. data/spec/{support/driver-spec-tests → spec_tests/data}/decimal128/decimal128-7.json +0 -0
  157. data/spec/support/shared_examples.rb +1 -1
  158. metadata +176 -102
  159. metadata.gz.sig +0 -0
@@ -0,0 +1,42 @@
1
+ {
2
+ "description": "DateTime",
3
+ "bson_type": "0x09",
4
+ "test_key": "a",
5
+ "valid": [
6
+ {
7
+ "description": "epoch",
8
+ "canonical_bson": "10000000096100000000000000000000",
9
+ "relaxed_extjson": "{\"a\" : {\"$date\" : \"1970-01-01T00:00:00Z\"}}",
10
+ "canonical_extjson": "{\"a\" : {\"$date\" : {\"$numberLong\" : \"0\"}}}"
11
+ },
12
+ {
13
+ "description": "positive ms",
14
+ "canonical_bson": "10000000096100C5D8D6CC3B01000000",
15
+ "relaxed_extjson": "{\"a\" : {\"$date\" : \"2012-12-24T12:15:30.501Z\"}}",
16
+ "canonical_extjson": "{\"a\" : {\"$date\" : {\"$numberLong\" : \"1356351330501\"}}}"
17
+ },
18
+ {
19
+ "description": "negative",
20
+ "canonical_bson": "10000000096100C33CE7B9BDFFFFFF00",
21
+ "relaxed_extjson": "{\"a\" : {\"$date\" : {\"$numberLong\" : \"-284643869501\"}}}",
22
+ "canonical_extjson": "{\"a\" : {\"$date\" : {\"$numberLong\" : \"-284643869501\"}}}"
23
+ },
24
+ {
25
+ "description" : "Y10K",
26
+ "canonical_bson" : "1000000009610000DC1FD277E6000000",
27
+ "canonical_extjson" : "{\"a\":{\"$date\":{\"$numberLong\":\"253402300800000\"}}}"
28
+ },
29
+ {
30
+ "description": "leading zero ms",
31
+ "canonical_bson": "10000000096100D1D6D6CC3B01000000",
32
+ "relaxed_extjson": "{\"a\" : {\"$date\" : \"2012-12-24T12:15:30.001Z\"}}",
33
+ "canonical_extjson": "{\"a\" : {\"$date\" : {\"$numberLong\" : \"1356351330001\"}}}"
34
+ }
35
+ ],
36
+ "decodeErrors": [
37
+ {
38
+ "description": "datetime field truncated",
39
+ "bson": "0C0000000961001234567800"
40
+ }
41
+ ]
42
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "description": "DBPointer type (deprecated)",
3
+ "bson_type": "0x0C",
4
+ "deprecated": true,
5
+ "test_key": "a",
6
+ "valid": [
7
+ {
8
+ "description": "DBpointer",
9
+ "canonical_bson": "1A0000000C610002000000620056E1FC72E0C917E9C471416100",
10
+ "canonical_extjson": "{\"a\": {\"$dbPointer\": {\"$ref\": \"b\", \"$id\": {\"$oid\": \"56e1fc72e0c917e9c4714161\"}}}}",
11
+ "converted_bson": "2a00000003610022000000022472656600020000006200072469640056e1fc72e0c917e9c47141610000",
12
+ "converted_extjson": "{\"a\": {\"$ref\": \"b\", \"$id\": {\"$oid\": \"56e1fc72e0c917e9c4714161\"}}}"
13
+ },
14
+ {
15
+ "description": "DBpointer with opposite key order",
16
+ "canonical_bson": "1A0000000C610002000000620056E1FC72E0C917E9C471416100",
17
+ "canonical_extjson": "{\"a\": {\"$dbPointer\": {\"$ref\": \"b\", \"$id\": {\"$oid\": \"56e1fc72e0c917e9c4714161\"}}}}",
18
+ "degenerate_extjson": "{\"a\": {\"$dbPointer\": {\"$id\": {\"$oid\": \"56e1fc72e0c917e9c4714161\"}, \"$ref\": \"b\"}}}",
19
+ "converted_bson": "2a00000003610022000000022472656600020000006200072469640056e1fc72e0c917e9c47141610000",
20
+ "converted_extjson": "{\"a\": {\"$ref\": \"b\", \"$id\": {\"$oid\": \"56e1fc72e0c917e9c4714161\"}}}"
21
+ },
22
+ {
23
+ "description": "With two-byte UTF-8",
24
+ "canonical_bson": "1B0000000C610003000000C3A90056E1FC72E0C917E9C471416100",
25
+ "canonical_extjson": "{\"a\": {\"$dbPointer\": {\"$ref\": \"é\", \"$id\": {\"$oid\": \"56e1fc72e0c917e9c4714161\"}}}}",
26
+ "converted_bson": "2B0000000361002300000002247265660003000000C3A900072469640056E1FC72E0C917E9C47141610000",
27
+ "converted_extjson": "{\"a\": {\"$ref\": \"é\", \"$id\": {\"$oid\": \"56e1fc72e0c917e9c4714161\"}}}"
28
+ }
29
+ ],
30
+ "decodeErrors": [
31
+ {
32
+ "description": "String with negative length",
33
+ "bson": "1A0000000C6100FFFFFFFF620056E1FC72E0C917E9C471416100"
34
+ },
35
+ {
36
+ "description": "String with zero length",
37
+ "bson": "1A0000000C610000000000620056E1FC72E0C917E9C471416100"
38
+ },
39
+ {
40
+ "description": "String not null terminated",
41
+ "bson": "1A0000000C610002000000626256E1FC72E0C917E9C471416100"
42
+ },
43
+ {
44
+ "description": "short OID (less than minimum length for field)",
45
+ "bson": "160000000C61000300000061620056E1FC72E0C91700"
46
+ },
47
+ {
48
+ "description": "short OID (greater than minimum, but truncated)",
49
+ "bson": "1A0000000C61000300000061620056E1FC72E0C917E9C4716100"
50
+ },
51
+ {
52
+ "description": "String with bad UTF-8",
53
+ "bson": "1A0000000C610002000000E90056E1FC72E0C917E9C471416100"
54
+ }
55
+ ]
56
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "description": "DBRef",
3
+ "bson_type": "0x03",
4
+ "valid": [
5
+ {
6
+ "description": "DBRef",
7
+ "canonical_bson": "37000000036462726566002b0000000224726566000b000000636f6c6c656374696f6e00072469640058921b3e6e32ab156a22b59e0000",
8
+ "canonical_extjson": "{\"dbref\": {\"$ref\": \"collection\", \"$id\": {\"$oid\": \"58921b3e6e32ab156a22b59e\"}}}"
9
+ },
10
+ {
11
+ "description": "DBRef with database",
12
+ "canonical_bson": "4300000003646272656600370000000224726566000b000000636f6c6c656374696f6e00072469640058921b3e6e32ab156a22b59e0224646200030000006462000000",
13
+ "canonical_extjson": "{\"dbref\": {\"$ref\": \"collection\", \"$id\": {\"$oid\": \"58921b3e6e32ab156a22b59e\"}, \"$db\": \"db\"}}"
14
+ },
15
+ {
16
+ "description": "DBRef with database and additional fields",
17
+ "canonical_bson": "48000000036462726566003c0000000224726566000b000000636f6c6c656374696f6e0010246964002a00000002246462000300000064620002666f6f0004000000626172000000",
18
+ "canonical_extjson": "{\"dbref\": {\"$ref\": \"collection\", \"$id\": {\"$numberInt\": \"42\"}, \"$db\": \"db\", \"foo\": \"bar\"}}"
19
+ },
20
+ {
21
+ "description": "DBRef with additional fields",
22
+ "canonical_bson": "4400000003646272656600380000000224726566000b000000636f6c6c656374696f6e00072469640058921b3e6e32ab156a22b59e02666f6f0004000000626172000000",
23
+ "canonical_extjson": "{\"dbref\": {\"$ref\": \"collection\", \"$id\": {\"$oid\": \"58921b3e6e32ab156a22b59e\"}, \"foo\": \"bar\"}}"
24
+ },
25
+ {
26
+ "description": "Document with key names similar to those of a DBRef",
27
+ "canonical_bson": "3e0000000224726566000c0000006e6f742d612d646272656600072469640058921b3e6e32ab156a22b59e022462616e616e6100050000007065656c0000",
28
+ "canonical_extjson": "{\"$ref\": \"not-a-dbref\", \"$id\": {\"$oid\": \"58921b3e6e32ab156a22b59e\"}, \"$banana\": \"peel\"}"
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,317 @@
1
+ {
2
+ "description": "Decimal128",
3
+ "bson_type": "0x13",
4
+ "test_key": "d",
5
+ "valid": [
6
+ {
7
+ "description": "Special - Canonical NaN",
8
+ "canonical_bson": "180000001364000000000000000000000000000000007C00",
9
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}"
10
+ },
11
+ {
12
+ "description": "Special - Negative NaN",
13
+ "canonical_bson": "18000000136400000000000000000000000000000000FC00",
14
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}",
15
+ "lossy": true
16
+ },
17
+ {
18
+ "description": "Special - Negative NaN",
19
+ "canonical_bson": "18000000136400000000000000000000000000000000FC00",
20
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}",
21
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"-NaN\"}}",
22
+ "lossy": true
23
+ },
24
+ {
25
+ "description": "Special - Canonical SNaN",
26
+ "canonical_bson": "180000001364000000000000000000000000000000007E00",
27
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}",
28
+ "lossy": true
29
+ },
30
+ {
31
+ "description": "Special - Negative SNaN",
32
+ "canonical_bson": "18000000136400000000000000000000000000000000FE00",
33
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}",
34
+ "lossy": true
35
+ },
36
+ {
37
+ "description": "Special - NaN with a payload",
38
+ "canonical_bson": "180000001364001200000000000000000000000000007E00",
39
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}",
40
+ "lossy": true
41
+ },
42
+ {
43
+ "description": "Special - Canonical Positive Infinity",
44
+ "canonical_bson": "180000001364000000000000000000000000000000007800",
45
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"Infinity\"}}"
46
+ },
47
+ {
48
+ "description": "Special - Canonical Negative Infinity",
49
+ "canonical_bson": "18000000136400000000000000000000000000000000F800",
50
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}"
51
+ },
52
+ {
53
+ "description": "Special - Invalid representation treated as 0",
54
+ "canonical_bson": "180000001364000000000000000000000000000000106C00",
55
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}",
56
+ "lossy": true
57
+ },
58
+ {
59
+ "description": "Special - Invalid representation treated as -0",
60
+ "canonical_bson": "18000000136400DCBA9876543210DEADBEEF00000010EC00",
61
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0\"}}",
62
+ "lossy": true
63
+ },
64
+ {
65
+ "description": "Special - Invalid representation treated as 0E3",
66
+ "canonical_bson": "18000000136400FFFFFFFFFFFFFFFFFFFFFFFFFFFF116C00",
67
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+3\"}}",
68
+ "lossy": true
69
+ },
70
+ {
71
+ "description": "Regular - Adjusted Exponent Limit",
72
+ "canonical_bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3CF22F00",
73
+ "canonical_extjson": "{\"d\": { \"$numberDecimal\": \"0.000001234567890123456789012345678901234\" }}"
74
+ },
75
+ {
76
+ "description": "Regular - Smallest",
77
+ "canonical_bson": "18000000136400D204000000000000000000000000343000",
78
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.001234\"}}"
79
+ },
80
+ {
81
+ "description": "Regular - Smallest with Trailing Zeros",
82
+ "canonical_bson": "1800000013640040EF5A07000000000000000000002A3000",
83
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00123400000\"}}"
84
+ },
85
+ {
86
+ "description": "Regular - 0.1",
87
+ "canonical_bson": "1800000013640001000000000000000000000000003E3000",
88
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1\"}}"
89
+ },
90
+ {
91
+ "description": "Regular - 0.1234567890123456789012345678901234",
92
+ "canonical_bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3CFC2F00",
93
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1234567890123456789012345678901234\"}}"
94
+ },
95
+ {
96
+ "description": "Regular - 0",
97
+ "canonical_bson": "180000001364000000000000000000000000000000403000",
98
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}"
99
+ },
100
+ {
101
+ "description": "Regular - -0",
102
+ "canonical_bson": "18000000136400000000000000000000000000000040B000",
103
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0\"}}"
104
+ },
105
+ {
106
+ "description": "Regular - -0.0",
107
+ "canonical_bson": "1800000013640000000000000000000000000000003EB000",
108
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.0\"}}"
109
+ },
110
+ {
111
+ "description": "Regular - 2",
112
+ "canonical_bson": "180000001364000200000000000000000000000000403000",
113
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"2\"}}"
114
+ },
115
+ {
116
+ "description": "Regular - 2.000",
117
+ "canonical_bson": "18000000136400D0070000000000000000000000003A3000",
118
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"2.000\"}}"
119
+ },
120
+ {
121
+ "description": "Regular - Largest",
122
+ "canonical_bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3C403000",
123
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1234567890123456789012345678901234\"}}"
124
+ },
125
+ {
126
+ "description": "Scientific - Tiniest",
127
+ "canonical_bson": "18000000136400FFFFFFFF638E8D37C087ADBE09ED010000",
128
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"9.999999999999999999999999999999999E-6143\"}}"
129
+ },
130
+ {
131
+ "description": "Scientific - Tiny",
132
+ "canonical_bson": "180000001364000100000000000000000000000000000000",
133
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E-6176\"}}"
134
+ },
135
+ {
136
+ "description": "Scientific - Negative Tiny",
137
+ "canonical_bson": "180000001364000100000000000000000000000000008000",
138
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1E-6176\"}}"
139
+ },
140
+ {
141
+ "description": "Scientific - Adjusted Exponent Limit",
142
+ "canonical_bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3CF02F00",
143
+ "canonical_extjson": "{\"d\": { \"$numberDecimal\": \"1.234567890123456789012345678901234E-7\" }}"
144
+ },
145
+ {
146
+ "description": "Scientific - Fractional",
147
+ "canonical_bson": "1800000013640064000000000000000000000000002CB000",
148
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.00E-8\"}}"
149
+ },
150
+ {
151
+ "description": "Scientific - 0 with Exponent",
152
+ "canonical_bson": "180000001364000000000000000000000000000000205F00",
153
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+6000\"}}"
154
+ },
155
+ {
156
+ "description": "Scientific - 0 with Negative Exponent",
157
+ "canonical_bson": "1800000013640000000000000000000000000000007A2B00",
158
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-611\"}}"
159
+ },
160
+ {
161
+ "description": "Scientific - No Decimal with Signed Exponent",
162
+ "canonical_bson": "180000001364000100000000000000000000000000463000",
163
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+3\"}}"
164
+ },
165
+ {
166
+ "description": "Scientific - Trailing Zero",
167
+ "canonical_bson": "180000001364001A04000000000000000000000000423000",
168
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.050E+4\"}}"
169
+ },
170
+ {
171
+ "description": "Scientific - With Decimal",
172
+ "canonical_bson": "180000001364006900000000000000000000000000423000",
173
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.05E+3\"}}"
174
+ },
175
+ {
176
+ "description": "Scientific - Full",
177
+ "canonical_bson": "18000000136400FFFFFFFFFFFFFFFFFFFFFFFFFFFF403000",
178
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"5192296858534827628530496329220095\"}}"
179
+ },
180
+ {
181
+ "description": "Scientific - Large",
182
+ "canonical_bson": "18000000136400000000000A5BC138938D44C64D31FE5F00",
183
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000000000E+6144\"}}"
184
+ },
185
+ {
186
+ "description": "Scientific - Largest",
187
+ "canonical_bson": "18000000136400FFFFFFFF638E8D37C087ADBE09EDFF5F00",
188
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"9.999999999999999999999999999999999E+6144\"}}"
189
+ },
190
+ {
191
+ "description": "Non-Canonical Parsing - Exponent Normalization",
192
+ "canonical_bson": "1800000013640064000000000000000000000000002CB000",
193
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"-100E-10\"}}",
194
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.00E-8\"}}"
195
+ },
196
+ {
197
+ "description": "Non-Canonical Parsing - Unsigned Positive Exponent",
198
+ "canonical_bson": "180000001364000100000000000000000000000000463000",
199
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E3\"}}",
200
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+3\"}}"
201
+ },
202
+ {
203
+ "description": "Non-Canonical Parsing - Lowercase Exponent Identifier",
204
+ "canonical_bson": "180000001364000100000000000000000000000000463000",
205
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"1e+3\"}}",
206
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+3\"}}"
207
+ },
208
+ {
209
+ "description": "Non-Canonical Parsing - Long Significand with Exponent",
210
+ "canonical_bson": "1800000013640079D9E0F9763ADA429D0200000000583000",
211
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"12345689012345789012345E+12\"}}",
212
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.2345689012345789012345E+34\"}}"
213
+ },
214
+ {
215
+ "description": "Non-Canonical Parsing - Positive Sign",
216
+ "canonical_bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3C403000",
217
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"+1234567890123456789012345678901234\"}}",
218
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1234567890123456789012345678901234\"}}"
219
+ },
220
+ {
221
+ "description": "Non-Canonical Parsing - Long Decimal String",
222
+ "canonical_bson": "180000001364000100000000000000000000000000722800",
223
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \".000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\"}}",
224
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E-999\"}}"
225
+ },
226
+ {
227
+ "description": "Non-Canonical Parsing - nan",
228
+ "canonical_bson": "180000001364000000000000000000000000000000007C00",
229
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"nan\"}}",
230
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}"
231
+ },
232
+ {
233
+ "description": "Non-Canonical Parsing - nAn",
234
+ "canonical_bson": "180000001364000000000000000000000000000000007C00",
235
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"nAn\"}}",
236
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}"
237
+ },
238
+ {
239
+ "description": "Non-Canonical Parsing - +infinity",
240
+ "canonical_bson": "180000001364000000000000000000000000000000007800",
241
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"+infinity\"}}",
242
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"Infinity\"}}"
243
+ },
244
+ {
245
+ "description": "Non-Canonical Parsing - infinity",
246
+ "canonical_bson": "180000001364000000000000000000000000000000007800",
247
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"infinity\"}}",
248
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"Infinity\"}}"
249
+ },
250
+ {
251
+ "description": "Non-Canonical Parsing - infiniTY",
252
+ "canonical_bson": "180000001364000000000000000000000000000000007800",
253
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"infiniTY\"}}",
254
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"Infinity\"}}"
255
+ },
256
+ {
257
+ "description": "Non-Canonical Parsing - inf",
258
+ "canonical_bson": "180000001364000000000000000000000000000000007800",
259
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"inf\"}}",
260
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"Infinity\"}}"
261
+ },
262
+ {
263
+ "description": "Non-Canonical Parsing - inF",
264
+ "canonical_bson": "180000001364000000000000000000000000000000007800",
265
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"inF\"}}",
266
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"Infinity\"}}"
267
+ },
268
+ {
269
+ "description": "Non-Canonical Parsing - -infinity",
270
+ "canonical_bson": "18000000136400000000000000000000000000000000F800",
271
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"-infinity\"}}",
272
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}"
273
+ },
274
+ {
275
+ "description": "Non-Canonical Parsing - -infiniTy",
276
+ "canonical_bson": "18000000136400000000000000000000000000000000F800",
277
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"-infiniTy\"}}",
278
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}"
279
+ },
280
+ {
281
+ "description": "Non-Canonical Parsing - -Inf",
282
+ "canonical_bson": "18000000136400000000000000000000000000000000F800",
283
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}",
284
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}"
285
+ },
286
+ {
287
+ "description": "Non-Canonical Parsing - -inf",
288
+ "canonical_bson": "18000000136400000000000000000000000000000000F800",
289
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"-inf\"}}",
290
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}"
291
+ },
292
+ {
293
+ "description": "Non-Canonical Parsing - -inF",
294
+ "canonical_bson": "18000000136400000000000000000000000000000000F800",
295
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"-inF\"}}",
296
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}"
297
+ },
298
+ {
299
+ "description": "Rounded Subnormal number",
300
+ "canonical_bson": "180000001364000100000000000000000000000000000000",
301
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"10E-6177\"}}",
302
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E-6176\"}}"
303
+ },
304
+ {
305
+ "description": "Clamped",
306
+ "canonical_bson": "180000001364000a00000000000000000000000000fe5f00",
307
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E6112\"}}",
308
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+6112\"}}"
309
+ },
310
+ {
311
+ "description": "Exact rounding",
312
+ "canonical_bson": "18000000136400000000000a5bc138938d44c64d31cc3700",
313
+ "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"}}",
314
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000000000E+999\"}}"
315
+ }
316
+ ]
317
+ }
@@ -0,0 +1,793 @@
1
+ {
2
+ "description": "Decimal128",
3
+ "bson_type": "0x13",
4
+ "test_key": "d",
5
+ "valid": [
6
+ {
7
+ "description": "[decq021] Normality",
8
+ "canonical_bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3C40B000",
9
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1234567890123456789012345678901234\"}}"
10
+ },
11
+ {
12
+ "description": "[decq823] values around [u]int32 edges (zeros done earlier)",
13
+ "canonical_bson": "18000000136400010000800000000000000000000040B000",
14
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-2147483649\"}}"
15
+ },
16
+ {
17
+ "description": "[decq822] values around [u]int32 edges (zeros done earlier)",
18
+ "canonical_bson": "18000000136400000000800000000000000000000040B000",
19
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-2147483648\"}}"
20
+ },
21
+ {
22
+ "description": "[decq821] values around [u]int32 edges (zeros done earlier)",
23
+ "canonical_bson": "18000000136400FFFFFF7F0000000000000000000040B000",
24
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-2147483647\"}}"
25
+ },
26
+ {
27
+ "description": "[decq820] values around [u]int32 edges (zeros done earlier)",
28
+ "canonical_bson": "18000000136400FEFFFF7F0000000000000000000040B000",
29
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-2147483646\"}}"
30
+ },
31
+ {
32
+ "description": "[decq152] fold-downs (more below)",
33
+ "canonical_bson": "18000000136400393000000000000000000000000040B000",
34
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-12345\"}}"
35
+ },
36
+ {
37
+ "description": "[decq154] fold-downs (more below)",
38
+ "canonical_bson": "18000000136400D20400000000000000000000000040B000",
39
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1234\"}}"
40
+ },
41
+ {
42
+ "description": "[decq006] derivative canonical plain strings",
43
+ "canonical_bson": "18000000136400EE0200000000000000000000000040B000",
44
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-750\"}}"
45
+ },
46
+ {
47
+ "description": "[decq164] fold-downs (more below)",
48
+ "canonical_bson": "1800000013640039300000000000000000000000003CB000",
49
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-123.45\"}}"
50
+ },
51
+ {
52
+ "description": "[decq156] fold-downs (more below)",
53
+ "canonical_bson": "180000001364007B0000000000000000000000000040B000",
54
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-123\"}}"
55
+ },
56
+ {
57
+ "description": "[decq008] derivative canonical plain strings",
58
+ "canonical_bson": "18000000136400EE020000000000000000000000003EB000",
59
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-75.0\"}}"
60
+ },
61
+ {
62
+ "description": "[decq158] fold-downs (more below)",
63
+ "canonical_bson": "180000001364000C0000000000000000000000000040B000",
64
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-12\"}}"
65
+ },
66
+ {
67
+ "description": "[decq122] Nmax and similar",
68
+ "canonical_bson": "18000000136400FFFFFFFF638E8D37C087ADBE09EDFFDF00",
69
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-9.999999999999999999999999999999999E+6144\"}}"
70
+ },
71
+ {
72
+ "description": "[decq002] (mostly derived from the Strawman 4 document and examples)",
73
+ "canonical_bson": "18000000136400EE020000000000000000000000003CB000",
74
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-7.50\"}}"
75
+ },
76
+ {
77
+ "description": "[decq004] derivative canonical plain strings",
78
+ "canonical_bson": "18000000136400EE0200000000000000000000000042B000",
79
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-7.50E+3\"}}"
80
+ },
81
+ {
82
+ "description": "[decq018] derivative canonical plain strings",
83
+ "canonical_bson": "18000000136400EE020000000000000000000000002EB000",
84
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-7.50E-7\"}}"
85
+ },
86
+ {
87
+ "description": "[decq125] Nmax and similar",
88
+ "canonical_bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3CFEDF00",
89
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.234567890123456789012345678901234E+6144\"}}"
90
+ },
91
+ {
92
+ "description": "[decq131] fold-downs (more below)",
93
+ "canonical_bson": "18000000136400000000807F1BCF85B27059C8A43CFEDF00",
94
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.230000000000000000000000000000000E+6144\"}}"
95
+ },
96
+ {
97
+ "description": "[decq162] fold-downs (more below)",
98
+ "canonical_bson": "180000001364007B000000000000000000000000003CB000",
99
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.23\"}}"
100
+ },
101
+ {
102
+ "description": "[decq176] Nmin and below",
103
+ "canonical_bson": "18000000136400010000000A5BC138938D44C64D31008000",
104
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.000000000000000000000000000000001E-6143\"}}"
105
+ },
106
+ {
107
+ "description": "[decq174] Nmin and below",
108
+ "canonical_bson": "18000000136400000000000A5BC138938D44C64D31008000",
109
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.000000000000000000000000000000000E-6143\"}}"
110
+ },
111
+ {
112
+ "description": "[decq133] fold-downs (more below)",
113
+ "canonical_bson": "18000000136400000000000A5BC138938D44C64D31FEDF00",
114
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1.000000000000000000000000000000000E+6144\"}}"
115
+ },
116
+ {
117
+ "description": "[decq160] fold-downs (more below)",
118
+ "canonical_bson": "18000000136400010000000000000000000000000040B000",
119
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1\"}}"
120
+ },
121
+ {
122
+ "description": "[decq172] Nmin and below",
123
+ "canonical_bson": "180000001364000100000000000000000000000000428000",
124
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-1E-6143\"}}"
125
+ },
126
+ {
127
+ "description": "[decq010] derivative canonical plain strings",
128
+ "canonical_bson": "18000000136400EE020000000000000000000000003AB000",
129
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.750\"}}"
130
+ },
131
+ {
132
+ "description": "[decq012] derivative canonical plain strings",
133
+ "canonical_bson": "18000000136400EE0200000000000000000000000038B000",
134
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.0750\"}}"
135
+ },
136
+ {
137
+ "description": "[decq014] derivative canonical plain strings",
138
+ "canonical_bson": "18000000136400EE0200000000000000000000000034B000",
139
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.000750\"}}"
140
+ },
141
+ {
142
+ "description": "[decq016] derivative canonical plain strings",
143
+ "canonical_bson": "18000000136400EE0200000000000000000000000030B000",
144
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00000750\"}}"
145
+ },
146
+ {
147
+ "description": "[decq404] zeros",
148
+ "canonical_bson": "180000001364000000000000000000000000000000000000",
149
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-6176\"}}"
150
+ },
151
+ {
152
+ "description": "[decq424] negative zeros",
153
+ "canonical_bson": "180000001364000000000000000000000000000000008000",
154
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E-6176\"}}"
155
+ },
156
+ {
157
+ "description": "[decq407] zeros",
158
+ "canonical_bson": "1800000013640000000000000000000000000000003C3000",
159
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00\"}}"
160
+ },
161
+ {
162
+ "description": "[decq427] negative zeros",
163
+ "canonical_bson": "1800000013640000000000000000000000000000003CB000",
164
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00\"}}"
165
+ },
166
+ {
167
+ "description": "[decq409] zeros",
168
+ "canonical_bson": "180000001364000000000000000000000000000000403000",
169
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}"
170
+ },
171
+ {
172
+ "description": "[decq428] negative zeros",
173
+ "canonical_bson": "18000000136400000000000000000000000000000040B000",
174
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0\"}}"
175
+ },
176
+ {
177
+ "description": "[decq700] Selected DPD codes",
178
+ "canonical_bson": "180000001364000000000000000000000000000000403000",
179
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0\"}}"
180
+ },
181
+ {
182
+ "description": "[decq406] zeros",
183
+ "canonical_bson": "1800000013640000000000000000000000000000003C3000",
184
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00\"}}"
185
+ },
186
+ {
187
+ "description": "[decq426] negative zeros",
188
+ "canonical_bson": "1800000013640000000000000000000000000000003CB000",
189
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.00\"}}"
190
+ },
191
+ {
192
+ "description": "[decq410] zeros",
193
+ "canonical_bson": "180000001364000000000000000000000000000000463000",
194
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+3\"}}"
195
+ },
196
+ {
197
+ "description": "[decq431] negative zeros",
198
+ "canonical_bson": "18000000136400000000000000000000000000000046B000",
199
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E+3\"}}"
200
+ },
201
+ {
202
+ "description": "[decq419] clamped zeros...",
203
+ "canonical_bson": "180000001364000000000000000000000000000000FE5F00",
204
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E+6111\"}}"
205
+ },
206
+ {
207
+ "description": "[decq432] negative zeros",
208
+ "canonical_bson": "180000001364000000000000000000000000000000FEDF00",
209
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E+6111\"}}"
210
+ },
211
+ {
212
+ "description": "[decq405] zeros",
213
+ "canonical_bson": "180000001364000000000000000000000000000000000000",
214
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0E-6176\"}}"
215
+ },
216
+ {
217
+ "description": "[decq425] negative zeros",
218
+ "canonical_bson": "180000001364000000000000000000000000000000008000",
219
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0E-6176\"}}"
220
+ },
221
+ {
222
+ "description": "[decq508] Specials",
223
+ "canonical_bson": "180000001364000000000000000000000000000000007800",
224
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"Infinity\"}}"
225
+ },
226
+ {
227
+ "description": "[decq528] Specials",
228
+ "canonical_bson": "18000000136400000000000000000000000000000000F800",
229
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-Infinity\"}}"
230
+ },
231
+ {
232
+ "description": "[decq541] Specials",
233
+ "canonical_bson": "180000001364000000000000000000000000000000007C00",
234
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"NaN\"}}"
235
+ },
236
+ {
237
+ "description": "[decq074] Nmin and below",
238
+ "canonical_bson": "18000000136400000000000A5BC138938D44C64D31000000",
239
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000000000E-6143\"}}"
240
+ },
241
+ {
242
+ "description": "[decq602] fold-down full sequence",
243
+ "canonical_bson": "18000000136400000000000A5BC138938D44C64D31FE5F00",
244
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000000000E+6144\"}}"
245
+ },
246
+ {
247
+ "description": "[decq604] fold-down full sequence",
248
+ "canonical_bson": "180000001364000000000081EFAC855B416D2DEE04FE5F00",
249
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000000000000000E+6143\"}}"
250
+ },
251
+ {
252
+ "description": "[decq606] fold-down full sequence",
253
+ "canonical_bson": "1800000013640000000080264B91C02220BE377E00FE5F00",
254
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000000000000000000E+6142\"}}"
255
+ },
256
+ {
257
+ "description": "[decq608] fold-down full sequence",
258
+ "canonical_bson": "1800000013640000000040EAED7446D09C2C9F0C00FE5F00",
259
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000000E+6141\"}}"
260
+ },
261
+ {
262
+ "description": "[decq610] fold-down full sequence",
263
+ "canonical_bson": "18000000136400000000A0CA17726DAE0F1E430100FE5F00",
264
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000000000000E+6140\"}}"
265
+ },
266
+ {
267
+ "description": "[decq612] fold-down full sequence",
268
+ "canonical_bson": "18000000136400000000106102253E5ECE4F200000FE5F00",
269
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000000000000000E+6139\"}}"
270
+ },
271
+ {
272
+ "description": "[decq614] fold-down full sequence",
273
+ "canonical_bson": "18000000136400000000E83C80D09F3C2E3B030000FE5F00",
274
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000E+6138\"}}"
275
+ },
276
+ {
277
+ "description": "[decq616] fold-down full sequence",
278
+ "canonical_bson": "18000000136400000000E4D20CC8DCD2B752000000FE5F00",
279
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000000000E+6137\"}}"
280
+ },
281
+ {
282
+ "description": "[decq618] fold-down full sequence",
283
+ "canonical_bson": "180000001364000000004A48011416954508000000FE5F00",
284
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000000000000E+6136\"}}"
285
+ },
286
+ {
287
+ "description": "[decq620] fold-down full sequence",
288
+ "canonical_bson": "18000000136400000000A1EDCCCE1BC2D300000000FE5F00",
289
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000E+6135\"}}"
290
+ },
291
+ {
292
+ "description": "[decq622] fold-down full sequence",
293
+ "canonical_bson": "18000000136400000080F64AE1C7022D1500000000FE5F00",
294
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000000E+6134\"}}"
295
+ },
296
+ {
297
+ "description": "[decq624] fold-down full sequence",
298
+ "canonical_bson": "18000000136400000040B2BAC9E0191E0200000000FE5F00",
299
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000000000E+6133\"}}"
300
+ },
301
+ {
302
+ "description": "[decq626] fold-down full sequence",
303
+ "canonical_bson": "180000001364000000A0DEC5ADC935360000000000FE5F00",
304
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000E+6132\"}}"
305
+ },
306
+ {
307
+ "description": "[decq628] fold-down full sequence",
308
+ "canonical_bson": "18000000136400000010632D5EC76B050000000000FE5F00",
309
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000000E+6131\"}}"
310
+ },
311
+ {
312
+ "description": "[decq630] fold-down full sequence",
313
+ "canonical_bson": "180000001364000000E8890423C78A000000000000FE5F00",
314
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000000E+6130\"}}"
315
+ },
316
+ {
317
+ "description": "[decq632] fold-down full sequence",
318
+ "canonical_bson": "18000000136400000064A7B3B6E00D000000000000FE5F00",
319
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000E+6129\"}}"
320
+ },
321
+ {
322
+ "description": "[decq634] fold-down full sequence",
323
+ "canonical_bson": "1800000013640000008A5D78456301000000000000FE5F00",
324
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000000E+6128\"}}"
325
+ },
326
+ {
327
+ "description": "[decq636] fold-down full sequence",
328
+ "canonical_bson": "180000001364000000C16FF2862300000000000000FE5F00",
329
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000000E+6127\"}}"
330
+ },
331
+ {
332
+ "description": "[decq638] fold-down full sequence",
333
+ "canonical_bson": "180000001364000080C6A47E8D0300000000000000FE5F00",
334
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000E+6126\"}}"
335
+ },
336
+ {
337
+ "description": "[decq640] fold-down full sequence",
338
+ "canonical_bson": "1800000013640000407A10F35A0000000000000000FE5F00",
339
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000000E+6125\"}}"
340
+ },
341
+ {
342
+ "description": "[decq642] fold-down full sequence",
343
+ "canonical_bson": "1800000013640000A0724E18090000000000000000FE5F00",
344
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000000E+6124\"}}"
345
+ },
346
+ {
347
+ "description": "[decq644] fold-down full sequence",
348
+ "canonical_bson": "180000001364000010A5D4E8000000000000000000FE5F00",
349
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000E+6123\"}}"
350
+ },
351
+ {
352
+ "description": "[decq646] fold-down full sequence",
353
+ "canonical_bson": "1800000013640000E8764817000000000000000000FE5F00",
354
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000000E+6122\"}}"
355
+ },
356
+ {
357
+ "description": "[decq648] fold-down full sequence",
358
+ "canonical_bson": "1800000013640000E40B5402000000000000000000FE5F00",
359
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000000E+6121\"}}"
360
+ },
361
+ {
362
+ "description": "[decq650] fold-down full sequence",
363
+ "canonical_bson": "1800000013640000CA9A3B00000000000000000000FE5F00",
364
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000E+6120\"}}"
365
+ },
366
+ {
367
+ "description": "[decq652] fold-down full sequence",
368
+ "canonical_bson": "1800000013640000E1F50500000000000000000000FE5F00",
369
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000000E+6119\"}}"
370
+ },
371
+ {
372
+ "description": "[decq654] fold-down full sequence",
373
+ "canonical_bson": "180000001364008096980000000000000000000000FE5F00",
374
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000000E+6118\"}}"
375
+ },
376
+ {
377
+ "description": "[decq656] fold-down full sequence",
378
+ "canonical_bson": "1800000013640040420F0000000000000000000000FE5F00",
379
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000E+6117\"}}"
380
+ },
381
+ {
382
+ "description": "[decq658] fold-down full sequence",
383
+ "canonical_bson": "18000000136400A086010000000000000000000000FE5F00",
384
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00000E+6116\"}}"
385
+ },
386
+ {
387
+ "description": "[decq660] fold-down full sequence",
388
+ "canonical_bson": "180000001364001027000000000000000000000000FE5F00",
389
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0000E+6115\"}}"
390
+ },
391
+ {
392
+ "description": "[decq662] fold-down full sequence",
393
+ "canonical_bson": "18000000136400E803000000000000000000000000FE5F00",
394
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000E+6114\"}}"
395
+ },
396
+ {
397
+ "description": "[decq664] fold-down full sequence",
398
+ "canonical_bson": "180000001364006400000000000000000000000000FE5F00",
399
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.00E+6113\"}}"
400
+ },
401
+ {
402
+ "description": "[decq666] fold-down full sequence",
403
+ "canonical_bson": "180000001364000A00000000000000000000000000FE5F00",
404
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.0E+6112\"}}"
405
+ },
406
+ {
407
+ "description": "[decq060] fold-downs (more below)",
408
+ "canonical_bson": "180000001364000100000000000000000000000000403000",
409
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1\"}}"
410
+ },
411
+ {
412
+ "description": "[decq670] fold-down full sequence",
413
+ "canonical_bson": "180000001364000100000000000000000000000000FC5F00",
414
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6110\"}}"
415
+ },
416
+ {
417
+ "description": "[decq668] fold-down full sequence",
418
+ "canonical_bson": "180000001364000100000000000000000000000000FE5F00",
419
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E+6111\"}}"
420
+ },
421
+ {
422
+ "description": "[decq072] Nmin and below",
423
+ "canonical_bson": "180000001364000100000000000000000000000000420000",
424
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1E-6143\"}}"
425
+ },
426
+ {
427
+ "description": "[decq076] Nmin and below",
428
+ "canonical_bson": "18000000136400010000000A5BC138938D44C64D31000000",
429
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.000000000000000000000000000000001E-6143\"}}"
430
+ },
431
+ {
432
+ "description": "[decq036] fold-downs (more below)",
433
+ "canonical_bson": "18000000136400000000807F1BCF85B27059C8A43CFE5F00",
434
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.230000000000000000000000000000000E+6144\"}}"
435
+ },
436
+ {
437
+ "description": "[decq062] fold-downs (more below)",
438
+ "canonical_bson": "180000001364007B000000000000000000000000003C3000",
439
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.23\"}}"
440
+ },
441
+ {
442
+ "description": "[decq034] Nmax and similar",
443
+ "canonical_bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3CFE5F00",
444
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.234567890123456789012345678901234E+6144\"}}"
445
+ },
446
+ {
447
+ "description": "[decq441] exponent lengths",
448
+ "canonical_bson": "180000001364000700000000000000000000000000403000",
449
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7\"}}"
450
+ },
451
+ {
452
+ "description": "[decq449] exponent lengths",
453
+ "canonical_bson": "1800000013640007000000000000000000000000001E5F00",
454
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+5999\"}}"
455
+ },
456
+ {
457
+ "description": "[decq447] exponent lengths",
458
+ "canonical_bson": "1800000013640007000000000000000000000000000E3800",
459
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+999\"}}"
460
+ },
461
+ {
462
+ "description": "[decq445] exponent lengths",
463
+ "canonical_bson": "180000001364000700000000000000000000000000063100",
464
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+99\"}}"
465
+ },
466
+ {
467
+ "description": "[decq443] exponent lengths",
468
+ "canonical_bson": "180000001364000700000000000000000000000000523000",
469
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7E+9\"}}"
470
+ },
471
+ {
472
+ "description": "[decq842] VG testcase",
473
+ "canonical_bson": "180000001364000000FED83F4E7C9FE4E269E38A5BCD1700",
474
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"7.049000000000010795488000000000000E-3097\"}}"
475
+ },
476
+ {
477
+ "description": "[decq841] VG testcase",
478
+ "canonical_bson": "180000001364000000203B9DB5056F000000000000002400",
479
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"8.000000000000000000E-1550\"}}"
480
+ },
481
+ {
482
+ "description": "[decq840] VG testcase",
483
+ "canonical_bson": "180000001364003C17258419D710C42F0000000000002400",
484
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"8.81125000000001349436E-1548\"}}"
485
+ },
486
+ {
487
+ "description": "[decq701] Selected DPD codes",
488
+ "canonical_bson": "180000001364000900000000000000000000000000403000",
489
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"9\"}}"
490
+ },
491
+ {
492
+ "description": "[decq032] Nmax and similar",
493
+ "canonical_bson": "18000000136400FFFFFFFF638E8D37C087ADBE09EDFF5F00",
494
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"9.999999999999999999999999999999999E+6144\"}}"
495
+ },
496
+ {
497
+ "description": "[decq702] Selected DPD codes",
498
+ "canonical_bson": "180000001364000A00000000000000000000000000403000",
499
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"10\"}}"
500
+ },
501
+ {
502
+ "description": "[decq057] fold-downs (more below)",
503
+ "canonical_bson": "180000001364000C00000000000000000000000000403000",
504
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"12\"}}"
505
+ },
506
+ {
507
+ "description": "[decq703] Selected DPD codes",
508
+ "canonical_bson": "180000001364001300000000000000000000000000403000",
509
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"19\"}}"
510
+ },
511
+ {
512
+ "description": "[decq704] Selected DPD codes",
513
+ "canonical_bson": "180000001364001400000000000000000000000000403000",
514
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"20\"}}"
515
+ },
516
+ {
517
+ "description": "[decq705] Selected DPD codes",
518
+ "canonical_bson": "180000001364001D00000000000000000000000000403000",
519
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"29\"}}"
520
+ },
521
+ {
522
+ "description": "[decq706] Selected DPD codes",
523
+ "canonical_bson": "180000001364001E00000000000000000000000000403000",
524
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"30\"}}"
525
+ },
526
+ {
527
+ "description": "[decq707] Selected DPD codes",
528
+ "canonical_bson": "180000001364002700000000000000000000000000403000",
529
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"39\"}}"
530
+ },
531
+ {
532
+ "description": "[decq708] Selected DPD codes",
533
+ "canonical_bson": "180000001364002800000000000000000000000000403000",
534
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"40\"}}"
535
+ },
536
+ {
537
+ "description": "[decq709] Selected DPD codes",
538
+ "canonical_bson": "180000001364003100000000000000000000000000403000",
539
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"49\"}}"
540
+ },
541
+ {
542
+ "description": "[decq710] Selected DPD codes",
543
+ "canonical_bson": "180000001364003200000000000000000000000000403000",
544
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"50\"}}"
545
+ },
546
+ {
547
+ "description": "[decq711] Selected DPD codes",
548
+ "canonical_bson": "180000001364003B00000000000000000000000000403000",
549
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"59\"}}"
550
+ },
551
+ {
552
+ "description": "[decq712] Selected DPD codes",
553
+ "canonical_bson": "180000001364003C00000000000000000000000000403000",
554
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"60\"}}"
555
+ },
556
+ {
557
+ "description": "[decq713] Selected DPD codes",
558
+ "canonical_bson": "180000001364004500000000000000000000000000403000",
559
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"69\"}}"
560
+ },
561
+ {
562
+ "description": "[decq714] Selected DPD codes",
563
+ "canonical_bson": "180000001364004600000000000000000000000000403000",
564
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"70\"}}"
565
+ },
566
+ {
567
+ "description": "[decq715] Selected DPD codes",
568
+ "canonical_bson": "180000001364004700000000000000000000000000403000",
569
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"71\"}}"
570
+ },
571
+ {
572
+ "description": "[decq716] Selected DPD codes",
573
+ "canonical_bson": "180000001364004800000000000000000000000000403000",
574
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"72\"}}"
575
+ },
576
+ {
577
+ "description": "[decq717] Selected DPD codes",
578
+ "canonical_bson": "180000001364004900000000000000000000000000403000",
579
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"73\"}}"
580
+ },
581
+ {
582
+ "description": "[decq718] Selected DPD codes",
583
+ "canonical_bson": "180000001364004A00000000000000000000000000403000",
584
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"74\"}}"
585
+ },
586
+ {
587
+ "description": "[decq719] Selected DPD codes",
588
+ "canonical_bson": "180000001364004B00000000000000000000000000403000",
589
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"75\"}}"
590
+ },
591
+ {
592
+ "description": "[decq720] Selected DPD codes",
593
+ "canonical_bson": "180000001364004C00000000000000000000000000403000",
594
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"76\"}}"
595
+ },
596
+ {
597
+ "description": "[decq721] Selected DPD codes",
598
+ "canonical_bson": "180000001364004D00000000000000000000000000403000",
599
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"77\"}}"
600
+ },
601
+ {
602
+ "description": "[decq722] Selected DPD codes",
603
+ "canonical_bson": "180000001364004E00000000000000000000000000403000",
604
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"78\"}}"
605
+ },
606
+ {
607
+ "description": "[decq723] Selected DPD codes",
608
+ "canonical_bson": "180000001364004F00000000000000000000000000403000",
609
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"79\"}}"
610
+ },
611
+ {
612
+ "description": "[decq056] fold-downs (more below)",
613
+ "canonical_bson": "180000001364007B00000000000000000000000000403000",
614
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"123\"}}"
615
+ },
616
+ {
617
+ "description": "[decq064] fold-downs (more below)",
618
+ "canonical_bson": "1800000013640039300000000000000000000000003C3000",
619
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"123.45\"}}"
620
+ },
621
+ {
622
+ "description": "[decq732] Selected DPD codes",
623
+ "canonical_bson": "180000001364000802000000000000000000000000403000",
624
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"520\"}}"
625
+ },
626
+ {
627
+ "description": "[decq733] Selected DPD codes",
628
+ "canonical_bson": "180000001364000902000000000000000000000000403000",
629
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"521\"}}"
630
+ },
631
+ {
632
+ "description": "[decq740] DPD: one of each of the huffman groups",
633
+ "canonical_bson": "180000001364000903000000000000000000000000403000",
634
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"777\"}}"
635
+ },
636
+ {
637
+ "description": "[decq741] DPD: one of each of the huffman groups",
638
+ "canonical_bson": "180000001364000A03000000000000000000000000403000",
639
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"778\"}}"
640
+ },
641
+ {
642
+ "description": "[decq742] DPD: one of each of the huffman groups",
643
+ "canonical_bson": "180000001364001303000000000000000000000000403000",
644
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"787\"}}"
645
+ },
646
+ {
647
+ "description": "[decq746] DPD: one of each of the huffman groups",
648
+ "canonical_bson": "180000001364001F03000000000000000000000000403000",
649
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"799\"}}"
650
+ },
651
+ {
652
+ "description": "[decq743] DPD: one of each of the huffman groups",
653
+ "canonical_bson": "180000001364006D03000000000000000000000000403000",
654
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"877\"}}"
655
+ },
656
+ {
657
+ "description": "[decq753] DPD all-highs cases (includes the 24 redundant codes)",
658
+ "canonical_bson": "180000001364007803000000000000000000000000403000",
659
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"888\"}}"
660
+ },
661
+ {
662
+ "description": "[decq754] DPD all-highs cases (includes the 24 redundant codes)",
663
+ "canonical_bson": "180000001364007903000000000000000000000000403000",
664
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"889\"}}"
665
+ },
666
+ {
667
+ "description": "[decq760] DPD all-highs cases (includes the 24 redundant codes)",
668
+ "canonical_bson": "180000001364008203000000000000000000000000403000",
669
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"898\"}}"
670
+ },
671
+ {
672
+ "description": "[decq764] DPD all-highs cases (includes the 24 redundant codes)",
673
+ "canonical_bson": "180000001364008303000000000000000000000000403000",
674
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"899\"}}"
675
+ },
676
+ {
677
+ "description": "[decq745] DPD: one of each of the huffman groups",
678
+ "canonical_bson": "18000000136400D303000000000000000000000000403000",
679
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"979\"}}"
680
+ },
681
+ {
682
+ "description": "[decq770] DPD all-highs cases (includes the 24 redundant codes)",
683
+ "canonical_bson": "18000000136400DC03000000000000000000000000403000",
684
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"988\"}}"
685
+ },
686
+ {
687
+ "description": "[decq774] DPD all-highs cases (includes the 24 redundant codes)",
688
+ "canonical_bson": "18000000136400DD03000000000000000000000000403000",
689
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"989\"}}"
690
+ },
691
+ {
692
+ "description": "[decq730] Selected DPD codes",
693
+ "canonical_bson": "18000000136400E203000000000000000000000000403000",
694
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"994\"}}"
695
+ },
696
+ {
697
+ "description": "[decq731] Selected DPD codes",
698
+ "canonical_bson": "18000000136400E303000000000000000000000000403000",
699
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"995\"}}"
700
+ },
701
+ {
702
+ "description": "[decq744] DPD: one of each of the huffman groups",
703
+ "canonical_bson": "18000000136400E503000000000000000000000000403000",
704
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"997\"}}"
705
+ },
706
+ {
707
+ "description": "[decq780] DPD all-highs cases (includes the 24 redundant codes)",
708
+ "canonical_bson": "18000000136400E603000000000000000000000000403000",
709
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"998\"}}"
710
+ },
711
+ {
712
+ "description": "[decq787] DPD all-highs cases (includes the 24 redundant codes)",
713
+ "canonical_bson": "18000000136400E703000000000000000000000000403000",
714
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"999\"}}"
715
+ },
716
+ {
717
+ "description": "[decq053] fold-downs (more below)",
718
+ "canonical_bson": "18000000136400D204000000000000000000000000403000",
719
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1234\"}}"
720
+ },
721
+ {
722
+ "description": "[decq052] fold-downs (more below)",
723
+ "canonical_bson": "180000001364003930000000000000000000000000403000",
724
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"12345\"}}"
725
+ },
726
+ {
727
+ "description": "[decq792] Miscellaneous (testers' queries, etc.)",
728
+ "canonical_bson": "180000001364003075000000000000000000000000403000",
729
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"30000\"}}"
730
+ },
731
+ {
732
+ "description": "[decq793] Miscellaneous (testers' queries, etc.)",
733
+ "canonical_bson": "1800000013640090940D0000000000000000000000403000",
734
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"890000\"}}"
735
+ },
736
+ {
737
+ "description": "[decq824] values around [u]int32 edges (zeros done earlier)",
738
+ "canonical_bson": "18000000136400FEFFFF7F00000000000000000000403000",
739
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"2147483646\"}}"
740
+ },
741
+ {
742
+ "description": "[decq825] values around [u]int32 edges (zeros done earlier)",
743
+ "canonical_bson": "18000000136400FFFFFF7F00000000000000000000403000",
744
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"2147483647\"}}"
745
+ },
746
+ {
747
+ "description": "[decq826] values around [u]int32 edges (zeros done earlier)",
748
+ "canonical_bson": "180000001364000000008000000000000000000000403000",
749
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"2147483648\"}}"
750
+ },
751
+ {
752
+ "description": "[decq827] values around [u]int32 edges (zeros done earlier)",
753
+ "canonical_bson": "180000001364000100008000000000000000000000403000",
754
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"2147483649\"}}"
755
+ },
756
+ {
757
+ "description": "[decq828] values around [u]int32 edges (zeros done earlier)",
758
+ "canonical_bson": "18000000136400FEFFFFFF00000000000000000000403000",
759
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"4294967294\"}}"
760
+ },
761
+ {
762
+ "description": "[decq829] values around [u]int32 edges (zeros done earlier)",
763
+ "canonical_bson": "18000000136400FFFFFFFF00000000000000000000403000",
764
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"4294967295\"}}"
765
+ },
766
+ {
767
+ "description": "[decq830] values around [u]int32 edges (zeros done earlier)",
768
+ "canonical_bson": "180000001364000000000001000000000000000000403000",
769
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"4294967296\"}}"
770
+ },
771
+ {
772
+ "description": "[decq831] values around [u]int32 edges (zeros done earlier)",
773
+ "canonical_bson": "180000001364000100000001000000000000000000403000",
774
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"4294967297\"}}"
775
+ },
776
+ {
777
+ "description": "[decq022] Normality",
778
+ "canonical_bson": "18000000136400C7711CC7B548F377DC80A131C836403000",
779
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1111111111111111111111111111111111\"}}"
780
+ },
781
+ {
782
+ "description": "[decq020] Normality",
783
+ "canonical_bson": "18000000136400F2AF967ED05C82DE3297FF6FDE3C403000",
784
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1234567890123456789012345678901234\"}}"
785
+ },
786
+ {
787
+ "description": "[decq550] Specials",
788
+ "canonical_bson": "18000000136400FFFFFFFF638E8D37C087ADBE09ED413000",
789
+ "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"9999999999999999999999999999999999\"}}"
790
+ }
791
+ ]
792
+ }
793
+