1{
2 "description": "Decimal128",
3 "bson_type": "0x13",
4 "test_key": "d",
5 "valid": [
6 {
7 "description": "[basx023] conform to rules and exponent will be in permitted range).",
8 "canonical_bson": "1800000013640001000000000000000000000000003EB000",
9 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.1\"}}"
10 },
11
12 {
13 "description": "[basx045] strings without E cannot generate E in result",
14 "canonical_bson": "1800000013640003000000000000000000000000003A3000",
15 "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"+0.003\"}}",
16 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.003\"}}"
17 },
18 {
19 "description": "[basx610] Zeros",
20 "canonical_bson": "1800000013640000000000000000000000000000003E3000",
21 "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \".0\"}}",
22 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0\"}}"
23 },
24 {
25 "description": "[basx612] Zeros",
26 "canonical_bson": "1800000013640000000000000000000000000000003EB000",
27 "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"-.0\"}}",
28 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"-0.0\"}}"
29 },
30 {
31 "description": "[basx043] strings without E cannot generate E in result",
32 "canonical_bson": "18000000136400FC040000000000000000000000003C3000",
33 "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"+12.76\"}}",
34 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"12.76\"}}"
35 },
36 {
37 "description": "[basx055] strings without E cannot generate E in result",
38 "canonical_bson": "180000001364000500000000000000000000000000303000",
39 "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00000005\"}}",
40 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"5E-8\"}}"
41 },
42 {
43 "description": "[basx054] strings without E cannot generate E in result",
44 "canonical_bson": "180000001364000500000000000000000000000000323000",
45 "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0000005\"}}",
46 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"5E-7\"}}"
47 },
48 {
49 "description": "[basx052] strings without E cannot generate E in result",
50 "canonical_bson": "180000001364000500000000000000000000000000343000",
51 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.000005\"}}"
52 },
53 {
54 "description": "[basx051] strings without E cannot generate E in result",
55 "canonical_bson": "180000001364000500000000000000000000000000363000",
56 "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"00.00005\"}}",
57 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.00005\"}}"
58 },
59 {
60 "description": "[basx050] strings without E cannot generate E in result",
61 "canonical_bson": "180000001364000500000000000000000000000000383000",
62 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.0005\"}}"
63 },
64 {
65 "description": "[basx047] strings without E cannot generate E in result",
66 "canonical_bson": "1800000013640005000000000000000000000000003E3000",
67 "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \".5\"}}",
68 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.5\"}}"
69 },
70 {
71 "description": "[dqbsr431] check rounding modes heeded (Rounded)",
72 "canonical_bson": "1800000013640099761CC7B548F377DC80A131C836FE2F00",
73 "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.1111111111111111111111111111123450\"}}",
74 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"1.111111111111111111111111111112345\"}}"
75 },
76 {
77 "description": "OK2",
78 "canonical_bson": "18000000136400000000000A5BC138938D44C64D31FC2F00",
79 "degenerate_extjson": "{\"d\" : {\"$numberDecimal\" : \".100000000000000000000000000000000000000000000000000000000000\"}}",
80 "canonical_extjson": "{\"d\" : {\"$numberDecimal\" : \"0.1000000000000000000000000000000000\"}}"
81 }
82 ],
83 "parseErrors": [
84 {
85 "description": "[basx564] Near-specials (Conversion_syntax)",
86 "string": "Infi"
87 },
88 {
89 "description": "[basx565] Near-specials (Conversion_syntax)",
90 "string": "Infin"
91 },
92 {
93 "description": "[basx566] Near-specials (Conversion_syntax)",
94 "string": "Infini"
95 },
96 {
97 "description": "[basx567] Near-specials (Conversion_syntax)",
98 "string": "Infinit"
99 },
100 {
101 "description": "[basx568] Near-specials (Conversion_syntax)",
102 "string": "-Infinit"
103 },
104 {
105 "description": "[basx590] some baddies with dots and Es and dots and specials (Conversion_syntax)",
106 "string": ".Infinity"
107 },
108 {
109 "description": "[basx562] Near-specials (Conversion_syntax)",
110 "string": "NaNq"
111 },
112 {
113 "description": "[basx563] Near-specials (Conversion_syntax)",
114 "string": "NaNs"
115 },
116 {
117 "description": "[dqbas939] overflow results at different rounding modes (Overflow & Inexact & Rounded)",
118 "string": "-7e10000"
119 },
120 {
121 "description": "[dqbsr534] negatives (Rounded & Inexact)",
122 "string": "-1.11111111111111111111111111111234650"
123 },
124 {
125 "description": "[dqbsr535] negatives (Rounded & Inexact)",
126 "string": "-1.11111111111111111111111111111234551"
127 },
128 {
129 "description": "[dqbsr533] negatives (Rounded & Inexact)",
130 "string": "-1.11111111111111111111111111111234550"
131 },
132 {
133 "description": "[dqbsr532] negatives (Rounded & Inexact)",
134 "string": "-1.11111111111111111111111111111234549"
135 },
136 {
137 "description": "[dqbsr432] check rounding modes heeded (Rounded & Inexact)",
138 "string": "1.11111111111111111111111111111234549"
139 },
140 {
141 "description": "[dqbsr433] check rounding modes heeded (Rounded & Inexact)",
142 "string": "1.11111111111111111111111111111234550"
143 },
144 {
145 "description": "[dqbsr435] check rounding modes heeded (Rounded & Inexact)",
146 "string": "1.11111111111111111111111111111234551"
147 },
148 {
149 "description": "[dqbsr434] check rounding modes heeded (Rounded & Inexact)",
150 "string": "1.11111111111111111111111111111234650"
151 },
152 {
153 "description": "[dqbas938] overflow results at different rounding modes (Overflow & Inexact & Rounded)",
154 "string": "7e10000"
155 },
156 {
157 "description": "Inexact rounding#1",
158 "string": "100000000000000000000000000000000000000000000000000000000001"
159 },
160 {
161 "description": "Inexact rounding#2",
162 "string": "1E-6177"
163 }
164 ]
165}
View as plain text