1// Copyright (c) Microsoft Corporation.
2// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3
4
5// Copyright 2018 Ulf Adams
6// Copyright (c) Microsoft Corporation. All rights reserved.
7
8// Boost Software License - Version 1.0 - August 17th, 2003
9
10// Permission is hereby granted, free of charge, to any person or organization
11// obtaining a copy of the software and accompanying documentation covered by
12// this license (the "Software") to use, reproduce, display, distribute,
13// execute, and transmit the Software, and to prepare derivative works of the
14// Software, and to permit third-parties to whom the Software is furnished to
15// do so, all subject to the following:
16
17// The copyright notices in the Software and this entire statement, including
18// the above license grant, this restriction and the following disclaimer,
19// must be included in all copies of the Software, in whole or in part, and
20// all derivative works of the Software, unless such copies or derivative
21// works are solely in the form of machine-executable object code generated by
22// a source language processor.
23
24// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
27// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
28// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
29// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
30// DEALINGS IN THE SOFTWARE.
31
32
33// This file contains test cases derived from:
34// https://github.com/ulfjack/ryu
35// See xcharconv_ryu.h for the exact commit.
36// (Keep the cgmanifest.json commitHash in sync.)
37
38
39#ifndef FLOAT_FIXED_PRECISION_TO_CHARS_TEST_CASES_HPP
40#define FLOAT_FIXED_PRECISION_TO_CHARS_TEST_CASES_HPP
41
42#include <charconv>
43
44#include "test.hpp"
45using namespace std;
46
47inline constexpr FloatPrecisionToCharsTestCase float_fixed_precision_to_chars_test_cases[] = {
48 // Test special cases (zero, inf, nan) and an ordinary case. Also test negative signs.
49 {.value: 0.0f, .fmt: chars_format::fixed, .precision: 4, .correct: "0.0000"},
50 {.value: -0.0f, .fmt: chars_format::fixed, .precision: 4, .correct: "-0.0000"},
51 {.value: float_inf, .fmt: chars_format::fixed, .precision: 4, .correct: "inf"},
52 {.value: -float_inf, .fmt: chars_format::fixed, .precision: 4, .correct: "-inf"},
53 {.value: float_nan, .fmt: chars_format::fixed, .precision: 4, .correct: "nan"},
54 {.value: -float_nan, .fmt: chars_format::fixed, .precision: 4, .correct: "-nan(ind)"},
55 {.value: float_nan_payload, .fmt: chars_format::fixed, .precision: 4, .correct: "nan"},
56 {.value: -float_nan_payload, .fmt: chars_format::fixed, .precision: 4, .correct: "-nan"},
57 {.value: 1.729f, .fmt: chars_format::fixed, .precision: 4, .correct: "1.7290"},
58 {.value: -1.729f, .fmt: chars_format::fixed, .precision: 4, .correct: "-1.7290"},
59
60 // Ryu Printf Zero
61 {.value: 0.0f, .fmt: chars_format::fixed, .precision: 4, .correct: "0.0000"},
62 {.value: 0.0f, .fmt: chars_format::fixed, .precision: 3, .correct: "0.000"},
63 {.value: 0.0f, .fmt: chars_format::fixed, .precision: 2, .correct: "0.00"},
64 {.value: 0.0f, .fmt: chars_format::fixed, .precision: 1, .correct: "0.0"},
65 {.value: 0.0f, .fmt: chars_format::fixed, .precision: 0, .correct: "0"},
66
67 // Test corner cases.
68 {.value: 0x0.000002p-126f, .fmt: chars_format::fixed, .precision: 149, // min subnormal
69 .correct: "0."
70 "0000000000000000000000000000000000000000000014012984643248170709237295832899161312802619418765157717570682"
71 "8388979108268586060148663818836212158203125"},
72 {.value: 0x0.fffffep-126f, .fmt: chars_format::fixed, .precision: 149, // max subnormal
73 .correct: "0."
74 "0000000000000000000000000000000000000117549421069244107548702944484928734882705242874589333385717453057158"
75 "8870475618904265502351336181163787841796875"},
76 {.value: 0x1p-126f, .fmt: chars_format::fixed, .precision: 126, // min normal
77 .correct: "0."
78 "0000000000000000000000000000000000000117549435082228750796873653722224567781866555677208752150875170627841"
79 "72594547271728515625"},
80 {.value: 0x1.fffffep+127f, .fmt: chars_format::fixed, .precision: 0, // max normal
81 .correct: "340282346638528859811704183484516925440"},
82
83 // Ryu Printf AllPowersOfTen
84 // These values test every power of ten that's within the range of floats.
85 {.value: 1e-44f, .fmt: chars_format::fixed, .precision: 149,
86 .correct: "0."
87 "0000000000000000000000000000000000000000000098090892502737194964661070830294129189618335931356104022994779"
88 "8722853757880102421040646731853485107421875"},
89 {.value: 1e-43f, .fmt: chars_format::fixed, .precision: 149,
90 .correct: "0."
91 "0000000000000000000000000000000000000000000994921909670620120355848004135840453208985978732326197947518481"
92 "5617516687069610270555131137371063232421875"},
93 {.value: 1e-42f, .fmt: chars_format::fixed, .precision: 148,
94 .correct: "0."
95 "0000000000000000000000000000000000000000010005271035279193886395429224690001177341070264998322610345467546"
96 "973108330377044694614596664905548095703125"},
97 {.value: 1e-41f, .fmt: chars_format::fixed, .precision: 144,
98 .correct: "0."
99 "0000000000000000000000000000000000000000099996658414218946181117343063568415128159492172308165472584392738"
100 "37549166046301252208650112152099609375"},
101 {.value: 1e-40f, .fmt: chars_format::fixed, .precision: 148,
102 .correct: "0."
103 "0000000000000000000000000000000000000000999994610111475958152591905227349949604220526961919185041279068749"
104 "432712426283842432894743978977203369140625"},
105 {.value: 1e-39f, .fmt: chars_format::fixed, .precision: 146,
106 .correct: "0."
107 "0000000000000000000000000000000000000010000002153053332574208756001456831092687456480096866911043660970225"
108 "6827159061458587530069053173065185546875"},
109 {.value: 1e-38f, .fmt: chars_format::fixed, .precision: 148,
110 .correct: "0."
111 "0000000000000000000000000000000000000099999993504564039245746141539976645128551939195729831580121174560891"
112 "149363239804870318039320409297943115234375"},
113 {.value: 1e-37f, .fmt: chars_format::fixed, .precision: 145,
114 .correct: "0."
115 "0000000000000000000000000000000000000999999991097578965450144252348949782882164643167775990861842615891642"
116 "849224041356137604452669620513916015625"},
117 {.value: 1e-36f, .fmt: chars_format::fixed, .precision: 143,
118 .correct: "0."
119 "0000000000000000000000000000000000010000000359391298238442905219082964481594808441361581309103473121178279"
120 "3369735600208514370024204254150390625"},
121 {.value: 1e-35f, .fmt: chars_format::fixed, .precision: 139,
122 .correct: "0."
123 "0000000000000000000000000000000000100000001800250948048663201408455778204855436374880527489094543362735389"
124 "990803014370612800121307373046875"},
125 {.value: 1e-34f, .fmt: chars_format::fixed, .precision: 136,
126 .correct: "0."
127 "0000000000000000000000000000000001000000046701102029858885626602539647826036732368569844521988439212112353"
128 "970951517112553119659423828125"},
129 {.value: 1e-33f, .fmt: chars_format::fixed, .precision: 131,
130 .correct: "0."
131 "0000000000000000000000000000000010000000237422279903610827365881541552040508374727581888171540347443055907"
132 "2061441838741302490234375"},
133 {.value: 1e-32f, .fmt: chars_format::fixed, .precision: 130,
134 .correct: "0."
135 "0000000000000000000000000000000100000002374222799036108273658815415520405083747275818881715403474430559072"
136 "061441838741302490234375"},
137 {.value: 1e-31f, .fmt: chars_format::fixed, .precision: 126,
138 .correct: "0."
139 "0000000000000000000000000000000999999979661189834525301187760534009369837919272799809863871978166116605279"
140 "96718883514404296875"},
141 {.value: 1e-30f, .fmt: chars_format::fixed, .precision: 118,
142 .correct: "0."
143 "0000000000000000000000000000010000000031710768509710513471352647538147514756461109453056224083411507308483"
144 "123779296875"},
145 {.value: 1e-29f, .fmt: chars_format::fixed, .precision: 117,
146 .correct: "0."
147 "0000000000000000000000000000100000000317107685097105134713526475381475147564611094530562240834115073084831"
148 "23779296875"},
149 {.value: 1e-28f, .fmt: chars_format::fixed, .precision: 116,
150 .correct: "0."
151 "0000000000000000000000000001000000003171076850971051347135264753814751475646110945305622408341150730848312"
152 "3779296875"},
153 {.value: 1e-27f, .fmt: chars_format::fixed, .precision: 112,
154 .correct: "0."
155 "0000000000000000000000000010000000272452011558114995103349890361263429573723815479979748488403856754302978"
156 "515625"},
157 {.value: 1e-26f, .fmt: chars_format::fixed, .precision: 109,
158 .correct: "0."
159 "0000000000000000000000000099999998872660226806678244921543018442779658661034858369021094404160976409912109"
160 "375"},
161 {.value: 1e-25f, .fmt: chars_format::fixed, .precision: 104,
162 .correct: "0."
163 "00000000000000000000000010000000195414813782625560981110772657866336832199749551364220678806304931640625"},
164 {.value: 1e-24f, .fmt: chars_format::fixed, .precision: 103,
165 .correct: "0."
166 "0000000000000000000000010000000195414813782625560981110772657866336832199749551364220678806304931640625"},
167 {.value: 1e-23f, .fmt: chars_format::fixed, .precision: 99,
168 .correct: "0.000000000000000000000009999999998199587477372609628178631337169779413898140774108469486236572265625"},
169 {.value: 1e-22f, .fmt: chars_format::fixed, .precision: 97,
170 .correct: "0.0000000000000000000001000000031374394956577733179287005745028427128318071481771767139434814453125"},
171 {.value: 1e-21f, .fmt: chars_format::fixed, .precision: 88,
172 .correct: "0.0000000000000000000009999999682655225388967887463487205224055287544615566730499267578125"},
173 {.value: 1e-20f, .fmt: chars_format::fixed, .precision: 87,
174 .correct: "0.000000000000000000009999999682655225388967887463487205224055287544615566730499267578125"},
175 {.value: 1e-19f, .fmt: chars_format::fixed, .precision: 86,
176 .correct: "0.00000000000000000009999999682655225388967887463487205224055287544615566730499267578125"},
177 {.value: 1e-18f, .fmt: chars_format::fixed, .precision: 83,
178 .correct: "0.00000000000000000100000004581370496574313326554328540396454627625644207000732421875"},
179 {.value: 1e-17f, .fmt: chars_format::fixed, .precision: 79,
180 .correct: "0.0000000000000000099999998377515902426605765018763349871733225882053375244140625"},
181 {.value: 1e-16f, .fmt: chars_format::fixed, .precision: 77,
182 .correct: "0.00000000000000010000000168623835263871646450439811815158464014530181884765625"},
183 {.value: 1e-15f, .fmt: chars_format::fixed, .precision: 73, .correct: "0.0000000000000010000000036274937255387218471014421083964407444000244140625"},
184 {.value: 1e-14f, .fmt: chars_format::fixed, .precision: 68, .correct: "0.00000000000000999999982451670044181213370393379591405391693115234375"},
185 {.value: 1e-13f, .fmt: chars_format::fixed, .precision: 67, .correct: "0.0000000000000999999982451670044181213370393379591405391693115234375"},
186 {.value: 1e-12f, .fmt: chars_format::fixed, .precision: 61, .correct: "0.0000000000009999999960041972002500187954865396022796630859375"},
187 {.value: 1e-11f, .fmt: chars_format::fixed, .precision: 60, .correct: "0.000000000009999999960041972002500187954865396022796630859375"},
188 {.value: 1e-10f, .fmt: chars_format::fixed, .precision: 57, .correct: "0.000000000100000001335143196001808973960578441619873046875"},
189 {.value: 1e-09f, .fmt: chars_format::fixed, .precision: 53, .correct: "0.00000000099999997171806853657471947371959686279296875"},
190 {.value: 1e-08f, .fmt: chars_format::fixed, .precision: 50, .correct: "0.00000000999999993922529029077850282192230224609375"},
191 {.value: 1e-07f, .fmt: chars_format::fixed, .precision: 47, .correct: "0.00000010000000116860974230803549289703369140625"},
192 {.value: 1e-06f, .fmt: chars_format::fixed, .precision: 43, .correct: "0.0000009999999974752427078783512115478515625"},
193 {.value: 1e-05f, .fmt: chars_format::fixed, .precision: 38, .correct: "0.00000999999974737875163555145263671875"},
194 {.value: 1e-04f, .fmt: chars_format::fixed, .precision: 37, .correct: "0.0000999999974737875163555145263671875"},
195 {.value: 1e-03f, .fmt: chars_format::fixed, .precision: 33, .correct: "0.001000000047497451305389404296875"},
196 {.value: 1e-02f, .fmt: chars_format::fixed, .precision: 29, .correct: "0.00999999977648258209228515625"},
197 {.value: 1e-01f, .fmt: chars_format::fixed, .precision: 27, .correct: "0.100000001490116119384765625"},
198 {.value: 1e+00f, .fmt: chars_format::fixed, .precision: 0, .correct: "1"},
199 {.value: 1e+01f, .fmt: chars_format::fixed, .precision: 0, .correct: "10"},
200 {.value: 1e+02f, .fmt: chars_format::fixed, .precision: 0, .correct: "100"},
201 {.value: 1e+03f, .fmt: chars_format::fixed, .precision: 0, .correct: "1000"},
202 {.value: 1e+04f, .fmt: chars_format::fixed, .precision: 0, .correct: "10000"},
203 {.value: 1e+05f, .fmt: chars_format::fixed, .precision: 0, .correct: "100000"},
204 {.value: 1e+06f, .fmt: chars_format::fixed, .precision: 0, .correct: "1000000"},
205 {.value: 1e+07f, .fmt: chars_format::fixed, .precision: 0, .correct: "10000000"},
206 {.value: 1e+08f, .fmt: chars_format::fixed, .precision: 0, .correct: "100000000"},
207 {.value: 1e+09f, .fmt: chars_format::fixed, .precision: 0, .correct: "1000000000"},
208 {.value: 1e+10f, .fmt: chars_format::fixed, .precision: 0, .correct: "10000000000"},
209 {.value: 1e+11f, .fmt: chars_format::fixed, .precision: 0, .correct: "99999997952"},
210 {.value: 1e+12f, .fmt: chars_format::fixed, .precision: 0, .correct: "999999995904"},
211 {.value: 1e+13f, .fmt: chars_format::fixed, .precision: 0, .correct: "9999999827968"},
212 {.value: 1e+14f, .fmt: chars_format::fixed, .precision: 0, .correct: "100000000376832"},
213 {.value: 1e+15f, .fmt: chars_format::fixed, .precision: 0, .correct: "999999986991104"},
214 {.value: 1e+16f, .fmt: chars_format::fixed, .precision: 0, .correct: "10000000272564224"},
215 {.value: 1e+17f, .fmt: chars_format::fixed, .precision: 0, .correct: "99999998430674944"},
216 {.value: 1e+18f, .fmt: chars_format::fixed, .precision: 0, .correct: "999999984306749440"},
217 {.value: 1e+19f, .fmt: chars_format::fixed, .precision: 0, .correct: "9999999980506447872"},
218 {.value: 1e+20f, .fmt: chars_format::fixed, .precision: 0, .correct: "100000002004087734272"},
219 {.value: 1e+21f, .fmt: chars_format::fixed, .precision: 0, .correct: "1000000020040877342720"},
220 {.value: 1e+22f, .fmt: chars_format::fixed, .precision: 0, .correct: "9999999778196308361216"},
221 {.value: 1e+23f, .fmt: chars_format::fixed, .precision: 0, .correct: "99999997781963083612160"},
222 {.value: 1e+24f, .fmt: chars_format::fixed, .precision: 0, .correct: "1000000013848427855085568"},
223 {.value: 1e+25f, .fmt: chars_format::fixed, .precision: 0, .correct: "9999999562023526247432192"},
224 {.value: 1e+26f, .fmt: chars_format::fixed, .precision: 0, .correct: "100000002537764290115403776"},
225 {.value: 1e+27f, .fmt: chars_format::fixed, .precision: 0, .correct: "999999988484154753734934528"},
226 {.value: 1e+28f, .fmt: chars_format::fixed, .precision: 0, .correct: "9999999442119689768320106496"},
227 {.value: 1e+29f, .fmt: chars_format::fixed, .precision: 0, .correct: "100000001504746621987668885504"},
228 {.value: 1e+30f, .fmt: chars_format::fixed, .precision: 0, .correct: "1000000015047466219876688855040"},
229 {.value: 1e+31f, .fmt: chars_format::fixed, .precision: 0, .correct: "9999999848243207295109594873856"},
230 {.value: 1e+32f, .fmt: chars_format::fixed, .precision: 0, .correct: "100000003318135351409612647563264"},
231 {.value: 1e+33f, .fmt: chars_format::fixed, .precision: 0, .correct: "999999994495727286427992885035008"},
232 {.value: 1e+34f, .fmt: chars_format::fixed, .precision: 0, .correct: "9999999790214767953607394487959552"},
233 {.value: 1e+35f, .fmt: chars_format::fixed, .precision: 0, .correct: "100000004091847875962975319375216640"},
234 {.value: 1e+36f, .fmt: chars_format::fixed, .precision: 0, .correct: "999999961690316245365415600208216064"},
235 {.value: 1e+37f, .fmt: chars_format::fixed, .precision: 0, .correct: "9999999933815812510711506376257961984"},
236 {.value: 1e+38f, .fmt: chars_format::fixed, .precision: 0, .correct: "99999996802856924650656260769173209088"},
237
238 // Ryu Printf RoundToEven
239 {.value: 0.125f, .fmt: chars_format::fixed, .precision: 3, .correct: "0.125"},
240 {.value: 0.125f, .fmt: chars_format::fixed, .precision: 2, .correct: "0.12"},
241 {.value: 0.375f, .fmt: chars_format::fixed, .precision: 3, .correct: "0.375"},
242 {.value: 0.375f, .fmt: chars_format::fixed, .precision: 2, .correct: "0.38"},
243
244 // Ryu Printf RoundToEvenInteger
245 {.value: 2.5f, .fmt: chars_format::fixed, .precision: 1, .correct: "2.5"},
246 {.value: 2.5f, .fmt: chars_format::fixed, .precision: 0, .correct: "2"},
247 {.value: 3.5f, .fmt: chars_format::fixed, .precision: 1, .correct: "3.5"},
248 {.value: 3.5f, .fmt: chars_format::fixed, .precision: 0, .correct: "4"},
249
250 // Ryu Printf NonRoundToEvenScenarios
251 {.value: 0.748046875f, .fmt: chars_format::fixed, .precision: 3, .correct: "0.748"},
252 {.value: 0.748046875f, .fmt: chars_format::fixed, .precision: 2, .correct: "0.75"},
253 {.value: 0.748046875f, .fmt: chars_format::fixed, .precision: 1, .correct: "0.7"}, // 0.75 would round to "0.8", but this is smaller
254
255 {.value: 0.2509765625f, .fmt: chars_format::fixed, .precision: 3, .correct: "0.251"},
256 {.value: 0.2509765625f, .fmt: chars_format::fixed, .precision: 2, .correct: "0.25"},
257 {.value: 0.2509765625f, .fmt: chars_format::fixed, .precision: 1, .correct: "0.3"}, // 0.25 would round to "0.2", but this is larger
258
259 {.value: 0x1.000002p-2f, .fmt: chars_format::fixed, .precision: 25, .correct: "0.2500000298023223876953125"},
260 {.value: 0x1.000002p-2f, .fmt: chars_format::fixed, .precision: 3, .correct: "0.250"},
261 {.value: 0x1.000002p-2f, .fmt: chars_format::fixed, .precision: 2, .correct: "0.25"},
262 {.value: 0x1.000002p-2f, .fmt: chars_format::fixed, .precision: 1, .correct: "0.3"}, // 0.25 would round to "0.2", but this is larger (again)
263
264 // More rounding tests.
265 {.value: 9.5f, .fmt: chars_format::fixed, .precision: 1, .correct: "9.5"},
266 {.value: 9.5f, .fmt: chars_format::fixed, .precision: 0, .correct: "10"},
267 {.value: 10.5f, .fmt: chars_format::fixed, .precision: 1, .correct: "10.5"},
268 {.value: 10.5f, .fmt: chars_format::fixed, .precision: 0, .correct: "10"},
269
270 {.value: 1.241f, .fmt: chars_format::fixed, .precision: 3, .correct: "1.241"},
271 {.value: 1.241f, .fmt: chars_format::fixed, .precision: 1, .correct: "1.2"},
272 {.value: 1.251f, .fmt: chars_format::fixed, .precision: 3, .correct: "1.251"},
273 {.value: 1.251f, .fmt: chars_format::fixed, .precision: 1, .correct: "1.3"},
274 {.value: 1.261f, .fmt: chars_format::fixed, .precision: 3, .correct: "1.261"},
275 {.value: 1.261f, .fmt: chars_format::fixed, .precision: 1, .correct: "1.3"},
276 {.value: 1.341f, .fmt: chars_format::fixed, .precision: 3, .correct: "1.341"},
277 {.value: 1.341f, .fmt: chars_format::fixed, .precision: 1, .correct: "1.3"},
278 {.value: 1.351f, .fmt: chars_format::fixed, .precision: 3, .correct: "1.351"},
279 {.value: 1.351f, .fmt: chars_format::fixed, .precision: 1, .correct: "1.4"},
280 {.value: 1.361f, .fmt: chars_format::fixed, .precision: 3, .correct: "1.361"},
281 {.value: 1.361f, .fmt: chars_format::fixed, .precision: 1, .correct: "1.4"},
282
283 {.value: 2.41f, .fmt: chars_format::fixed, .precision: 2, .correct: "2.41"},
284 {.value: 2.41f, .fmt: chars_format::fixed, .precision: 0, .correct: "2"},
285 {.value: 2.51f, .fmt: chars_format::fixed, .precision: 2, .correct: "2.51"},
286 {.value: 2.51f, .fmt: chars_format::fixed, .precision: 0, .correct: "3"},
287 {.value: 2.61f, .fmt: chars_format::fixed, .precision: 2, .correct: "2.61"},
288 {.value: 2.61f, .fmt: chars_format::fixed, .precision: 0, .correct: "3"},
289 {.value: 3.41f, .fmt: chars_format::fixed, .precision: 2, .correct: "3.41"},
290 {.value: 3.41f, .fmt: chars_format::fixed, .precision: 0, .correct: "3"},
291 {.value: 3.51f, .fmt: chars_format::fixed, .precision: 2, .correct: "3.51"},
292 {.value: 3.51f, .fmt: chars_format::fixed, .precision: 0, .correct: "4"},
293 {.value: 3.61f, .fmt: chars_format::fixed, .precision: 2, .correct: "3.61"},
294 {.value: 3.61f, .fmt: chars_format::fixed, .precision: 0, .correct: "4"},
295
296 // Ryu Printf VaryingPrecision
297 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 28, .correct: "1.1428569555282592773437500000"},
298 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 27, .correct: "1.142856955528259277343750000"},
299 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 26, .correct: "1.14285695552825927734375000"},
300 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 25, .correct: "1.1428569555282592773437500"},
301 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 24, .correct: "1.142856955528259277343750"},
302 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 23, .correct: "1.14285695552825927734375"},
303 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 22, .correct: "1.1428569555282592773438"},
304 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 21, .correct: "1.142856955528259277344"},
305 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 20, .correct: "1.14285695552825927734"},
306 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 19, .correct: "1.1428569555282592773"},
307 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 18, .correct: "1.142856955528259277"},
308 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 17, .correct: "1.14285695552825928"},
309 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 16, .correct: "1.1428569555282593"},
310 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 15, .correct: "1.142856955528259"},
311 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 14, .correct: "1.14285695552826"},
312 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 13, .correct: "1.1428569555283"},
313 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 12, .correct: "1.142856955528"},
314 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 11, .correct: "1.14285695553"},
315 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 10, .correct: "1.1428569555"},
316 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 9, .correct: "1.142856956"},
317 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 8, .correct: "1.14285696"},
318 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 7, .correct: "1.1428570"},
319 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 6, .correct: "1.142857"},
320 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 5, .correct: "1.14286"},
321 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 4, .correct: "1.1429"},
322 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 3, .correct: "1.143"},
323 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 2, .correct: "1.14"},
324 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 1, .correct: "1.1"},
325 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: 0, .correct: "1"},
326
327 // Negative precision requests 6 digits of precision.
328 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: -1, .correct: "1.142857"},
329 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: -2, .correct: "1.142857"},
330 {.value: 1.142857f, .fmt: chars_format::fixed, .precision: -3, .correct: "1.142857"},
331
332 // Ryu Printf Carrying
333 {.value: 0.0009f, .fmt: chars_format::fixed, .precision: 4, .correct: "0.0009"},
334 {.value: 0.0009f, .fmt: chars_format::fixed, .precision: 3, .correct: "0.001"},
335 {.value: 0.0029f, .fmt: chars_format::fixed, .precision: 4, .correct: "0.0029"},
336 {.value: 0.0029f, .fmt: chars_format::fixed, .precision: 3, .correct: "0.003"},
337 {.value: 0.0099f, .fmt: chars_format::fixed, .precision: 4, .correct: "0.0099"},
338 {.value: 0.0099f, .fmt: chars_format::fixed, .precision: 3, .correct: "0.010"},
339 {.value: 0.0299f, .fmt: chars_format::fixed, .precision: 4, .correct: "0.0299"},
340 {.value: 0.0299f, .fmt: chars_format::fixed, .precision: 3, .correct: "0.030"},
341 {.value: 0.0999f, .fmt: chars_format::fixed, .precision: 4, .correct: "0.0999"},
342 {.value: 0.0999f, .fmt: chars_format::fixed, .precision: 3, .correct: "0.100"},
343 {.value: 0.2999f, .fmt: chars_format::fixed, .precision: 4, .correct: "0.2999"},
344 {.value: 0.2999f, .fmt: chars_format::fixed, .precision: 3, .correct: "0.300"},
345 {.value: 0.9999f, .fmt: chars_format::fixed, .precision: 4, .correct: "0.9999"},
346 {.value: 0.9999f, .fmt: chars_format::fixed, .precision: 3, .correct: "1.000"},
347 {.value: 2.9999f, .fmt: chars_format::fixed, .precision: 4, .correct: "2.9999"},
348 {.value: 2.9999f, .fmt: chars_format::fixed, .precision: 3, .correct: "3.000"},
349 {.value: 9.9999f, .fmt: chars_format::fixed, .precision: 4, .correct: "9.9999"},
350 {.value: 9.9999f, .fmt: chars_format::fixed, .precision: 3, .correct: "10.000"},
351 {.value: 29.9999f, .fmt: chars_format::fixed, .precision: 4, .correct: "29.9999"},
352 {.value: 29.9999f, .fmt: chars_format::fixed, .precision: 3, .correct: "30.000"},
353 {.value: 99.9999f, .fmt: chars_format::fixed, .precision: 4, .correct: "99.9999"},
354 {.value: 99.9999f, .fmt: chars_format::fixed, .precision: 3, .correct: "100.000"},
355 {.value: 299.9999f, .fmt: chars_format::fixed, .precision: 4, .correct: "299.9999"},
356 {.value: 299.9999f, .fmt: chars_format::fixed, .precision: 3, .correct: "300.000"},
357
358 {.value: 0.09f, .fmt: chars_format::fixed, .precision: 2, .correct: "0.09"},
359 {.value: 0.09f, .fmt: chars_format::fixed, .precision: 1, .correct: "0.1"},
360 {.value: 0.29f, .fmt: chars_format::fixed, .precision: 2, .correct: "0.29"},
361 {.value: 0.29f, .fmt: chars_format::fixed, .precision: 1, .correct: "0.3"},
362 {.value: 0.99f, .fmt: chars_format::fixed, .precision: 2, .correct: "0.99"},
363 {.value: 0.99f, .fmt: chars_format::fixed, .precision: 1, .correct: "1.0"},
364 {.value: 2.99f, .fmt: chars_format::fixed, .precision: 2, .correct: "2.99"},
365 {.value: 2.99f, .fmt: chars_format::fixed, .precision: 1, .correct: "3.0"},
366 {.value: 9.99f, .fmt: chars_format::fixed, .precision: 2, .correct: "9.99"},
367 {.value: 9.99f, .fmt: chars_format::fixed, .precision: 1, .correct: "10.0"},
368 {.value: 29.99f, .fmt: chars_format::fixed, .precision: 2, .correct: "29.99"},
369 {.value: 29.99f, .fmt: chars_format::fixed, .precision: 1, .correct: "30.0"},
370 {.value: 99.99f, .fmt: chars_format::fixed, .precision: 2, .correct: "99.99"},
371 {.value: 99.99f, .fmt: chars_format::fixed, .precision: 1, .correct: "100.0"},
372 {.value: 299.99f, .fmt: chars_format::fixed, .precision: 2, .correct: "299.99"},
373 {.value: 299.99f, .fmt: chars_format::fixed, .precision: 1, .correct: "300.0"},
374
375 {.value: 0.9f, .fmt: chars_format::fixed, .precision: 1, .correct: "0.9"},
376 {.value: 0.9f, .fmt: chars_format::fixed, .precision: 0, .correct: "1"},
377 {.value: 2.9f, .fmt: chars_format::fixed, .precision: 1, .correct: "2.9"},
378 {.value: 2.9f, .fmt: chars_format::fixed, .precision: 0, .correct: "3"},
379 {.value: 9.9f, .fmt: chars_format::fixed, .precision: 1, .correct: "9.9"},
380 {.value: 9.9f, .fmt: chars_format::fixed, .precision: 0, .correct: "10"},
381 {.value: 29.9f, .fmt: chars_format::fixed, .precision: 1, .correct: "29.9"},
382 {.value: 29.9f, .fmt: chars_format::fixed, .precision: 0, .correct: "30"},
383 {.value: 99.9f, .fmt: chars_format::fixed, .precision: 1, .correct: "99.9"},
384 {.value: 99.9f, .fmt: chars_format::fixed, .precision: 0, .correct: "100"},
385 {.value: 299.9f, .fmt: chars_format::fixed, .precision: 1, .correct: "299.9"},
386 {.value: 299.9f, .fmt: chars_format::fixed, .precision: 0, .correct: "300"},
387
388 // Ryu Printf RoundingResultZero
389 {.value: 0.004f, .fmt: chars_format::fixed, .precision: 3, .correct: "0.004"},
390 {.value: 0.004f, .fmt: chars_format::fixed, .precision: 2, .correct: "0.00"},
391 {.value: 0.4f, .fmt: chars_format::fixed, .precision: 1, .correct: "0.4"},
392 {.value: 0.4f, .fmt: chars_format::fixed, .precision: 0, .correct: "0"},
393 {.value: 0.5f, .fmt: chars_format::fixed, .precision: 1, .correct: "0.5"},
394 {.value: 0.5f, .fmt: chars_format::fixed, .precision: 0, .correct: "0"},
395
396 // Ryu Printf AllBinaryExponents
397 // These values test every binary exponent.
398 // The mantissas were randomly generated.
399 {.value: 0x0.bafab0p-126f, .fmt: chars_format::fixed, .precision: 146,
400 .correct: "0."
401 "0000000000000000000000000000000000000085856660078164374052571520381239855817217629811131320365461649230225"
402 "8101698697601023013703525066375732421875"},
403 {.value: 0x1.2c4906p-126f, .fmt: chars_format::fixed, .precision: 149,
404 .correct: "0."
405 "0000000000000000000000000000000000000137884223604447257991705553959882023830165636017936204355992973751997"
406 "2013648494879589634365402162075042724609375"},
407 {.value: 0x1.da6c8cp-125f, .fmt: chars_format::fixed, .precision: 147,
408 .correct: "0."
409 "0000000000000000000000000000000000000435689644606144922962341034916717454461784748180572306511365470365953"
410 "68653788540314053534530103206634521484375"},
411 {.value: 0x1.094fd8p-124f, .fmt: chars_format::fixed, .precision: 145,
412 .correct: "0."
413 "0000000000000000000000000000000000000487300980449569406486898593097235018686258578182781609022211792895361"
414 "293087574949822737835347652435302734375"},
415 {.value: 0x1.1fba2ap-123f, .fmt: chars_format::fixed, .precision: 146,
416 .correct: "0."
417 "0000000000000000000000000000000000001056942819182250793988103906000418825212997860175004035399177620979400"
418 "2661102041429330711252987384796142578125"},
419 {.value: 0x1.05c066p-122f, .fmt: chars_format::fixed, .precision: 145,
420 .correct: "0."
421 "0000000000000000000000000000000000001923046724143804860574903666495417184272104431219282642086921032167044"
422 "776084452450959361158311367034912109375"},
423 {.value: 0x1.aa97aep-121f, .fmt: chars_format::fixed, .precision: 144,
424 .correct: "0."
425 "0000000000000000000000000000000000006268213405227838203431757007863521825324812101203856469220875149766722"
426 "40063493291017948649823665618896484375"},
427 {.value: 0x1.dd39a8p-120f, .fmt: chars_format::fixed, .precision: 141,
428 .correct: "0."
429 "0000000000000000000000000000000000014024388746462477508516570165943074639858849697711014853285027082288594"
430 "08023936339304782450199127197265625"},
431 {.value: 0x1.d47ee4p-119f, .fmt: chars_format::fixed, .precision: 141,
432 .correct: "0."
433 "0000000000000000000000000000000000027535700468003209195416842287342046227746219166975594715835834154840644"
434 "49429979504202492535114288330078125"},
435 {.value: 0x1.3d3c36p-118f, .fmt: chars_format::fixed, .precision: 141,
436 .correct: "0."
437 "0000000000000000000000000000000000037290818427663765497432907740725131368928567215367442737882934305701509"
438 "99159295679419301450252532958984375"},
439 {.value: 0x1.1661f4p-117f, .fmt: chars_format::fixed, .precision: 139,
440 .correct: "0."
441 "0000000000000000000000000000000000065447441644065192772010189083715139205202243608571574700187600294454259"
442 "852727773250080645084381103515625"},
443 {.value: 0x1.b68df4p-116f, .fmt: chars_format::fixed, .precision: 138,
444 .correct: "0."
445 "0000000000000000000000000000000000206207336977375818320192367186588031181149116107584831794039036470533865"
446 "49714559805579483509063720703125"},
447 {.value: 0x1.d99cbcp-115f, .fmt: chars_format::fixed, .precision: 137,
448 .correct: "0."
449 "0000000000000000000000000000000000445382813514879099167344241437088992337862296399353856123689687079858501"
450 "3062620419077575206756591796875"},
451 {.value: 0x1.fd046ep-114f, .fmt: chars_format::fixed, .precision: 137,
452 .correct: "0."
453 "0000000000000000000000000000000000957355143513621934625335631305232671680527244248210039119495722709229923"
454 "4527672524563968181610107421875"},
455 {.value: 0x1.89834cp-113f, .fmt: chars_format::fixed, .precision: 135,
456 .correct: "0."
457 "0000000000000000000000000000000001480230929779647770398330978023641189899501899250006144284413575618053471"
458 "31667076610028743743896484375"},
459 {.value: 0x1.44f9f6p-112f, .fmt: chars_format::fixed, .precision: 135,
460 .correct: "0."
461 "0000000000000000000000000000000002444850777614032698558632186222413041911856813461843446368257012912827974"
462 "56005937419831752777099609375"},
463 {.value: 0x1.610156p-111f, .fmt: chars_format::fixed, .precision: 134,
464 .correct: "0."
465 "0000000000000000000000000000000005311432194104638958491823018983379637847618995394862767718806989547530861"
466 "2731168977916240692138671875"},
467 {.value: 0x1.1c4ce0p-110f, .fmt: chars_format::fixed, .precision: 129,
468 .correct: "0."
469 "0000000000000000000000000000000008555350741040305433153411782350510989661057055423470539198826934068620175"
470 "82170665264129638671875"},
471 {.value: 0x1.c8846ap-109f, .fmt: chars_format::fixed, .precision: 132,
472 .correct: "0."
473 "0000000000000000000000000000000027475632104005746766942313987412370292282555616009485081234833825369889837"
474 "02030964195728302001953125"},
475 {.value: 0x1.49aaa6p-108f, .fmt: chars_format::fixed, .precision: 131,
476 .correct: "0."
477 "0000000000000000000000000000000039682172991165697309827799919973022713504068615668209476284727932338114442"
478 "2455690801143646240234375"},
479 {.value: 0x1.f5603cp-107f, .fmt: chars_format::fixed, .precision: 129,
480 .correct: "0."
481 "0000000000000000000000000000000120701861138584576157150361758540470962569680234040676814963322094342856871"
482 "66266143321990966796875"},
483 {.value: 0x1.b7bbf8p-106f, .fmt: chars_format::fixed, .precision: 127,
484 .correct: "0."
485 "0000000000000000000000000000000211724341322508937840915176712265363597160619557838059749677039889093066449"
486 "277102947235107421875"},
487 {.value: 0x1.6d305cp-105f, .fmt: chars_format::fixed, .precision: 127,
488 .correct: "0."
489 "0000000000000000000000000000000351664122601460292174574136500884378151845989294218826175242309517443572985"
490 "939681529998779296875"},
491 {.value: 0x1.dd9944p-104f, .fmt: chars_format::fixed, .precision: 126,
492 .correct: "0."
493 "0000000000000000000000000000000919821625881433083724268012282371631728046815243377909779298740033937065163"
494 "62726688385009765625"},
495 {.value: 0x1.0f4254p-103f, .fmt: chars_format::fixed, .precision: 125,
496 .correct: "0."
497 "0000000000000000000000000000001044852024561729954450605502201132293228119140390439904125807757395705266389"
498 "9958133697509765625"},
499 {.value: 0x1.049450p-102f, .fmt: chars_format::fixed, .precision: 122,
500 .correct: "0."
501 "0000000000000000000000000000002007430259113927348388472759172849833669167623529955984951200775867619086056"
502 "9477081298828125"},
503 {.value: 0x1.28d030p-101f, .fmt: chars_format::fixed, .precision: 121,
504 .correct: "0."
505 "0000000000000000000000000000004573131937693259427041496124538667251427229422876784281637441154089174233376"
506 "979827880859375"},
507 {.value: 0x1.28a2bep-100f, .fmt: chars_format::fixed, .precision: 123,
508 .correct: "0."
509 "0000000000000000000000000000009140793594875532256935908936727717060368161903718573976784789181238011224195"
510 "36113739013671875"},
511 {.value: 0x1.e674d2p-99f, .fmt: chars_format::fixed, .precision: 122,
512 .correct: "0."
513 "0000000000000000000000000000029980185962354845050897219390986524441297232842758378051906120731473492924124"
514 "0024566650390625"},
515 {.value: 0x1.227314p-98f, .fmt: chars_format::fixed, .precision: 120,
516 .correct: "0."
517 "0000000000000000000000000000035800667869547456776694564979794758804336827210561614021067100566142471507191"
518 "65802001953125"},
519 {.value: 0x1.735b6cp-97f, .fmt: chars_format::fixed, .precision: 119,
520 .correct: "0."
521 "0000000000000000000000000000091546597262378319603799081529207906703837108826262575211885064163652714341878"
522 "8909912109375"},
523 {.value: 0x1.ef60b4p-96f, .fmt: chars_format::fixed, .precision: 118,
524 .correct: "0."
525 "0000000000000000000000000000244240085996903849216356078751341022854748745722804070812372856380534358322620"
526 "391845703125"},
527 {.value: 0x1.f58d34p-95f, .fmt: chars_format::fixed, .precision: 117,
528 .correct: "0."
529 "0000000000000000000000000000494568036548015750964222103779193000963396430755616983709899159293854609131813"
530 "04931640625"},
531 {.value: 0x1.a9fa8ap-94f, .fmt: chars_format::fixed, .precision: 117,
532 .correct: "0."
533 "0000000000000000000000000000840094794528154864080325730507983995095850536733231295194457288744160905480384"
534 "82666015625"},
535 {.value: 0x1.2ebd9ap-93f, .fmt: chars_format::fixed, .precision: 116,
536 .correct: "0."
537 "0000000000000000000000000001194101241497498690354073604120044306874891791320908440710013564967084676027297"
538 "9736328125"},
539 {.value: 0x1.1c25bep-92f, .fmt: chars_format::fixed, .precision: 115,
540 .correct: "0."
541 "0000000000000000000000000002241527991772840369420073304083191365256388471842441401093992681126110255718231"
542 "201171875"},
543 {.value: 0x1.80d526p-91f, .fmt: chars_format::fixed, .precision: 114,
544 .correct: "0."
545 "0000000000000000000000000006071588038765549904506806942923684386898144178454361785668425000039860606193542"
546 "48046875"},
547 {.value: 0x1.16cdd0p-90f, .fmt: chars_format::fixed, .precision: 110,
548 .correct: "0."
549 "0000000000000000000000000008797501615285119946834874987404311536605839433322628906353202182799577713012695"
550 "3125"},
551 {.value: 0x1.be00c0p-89f, .fmt: chars_format::fixed, .precision: 107,
552 .correct: "0."
553 "0000000000000000000000000028146741987560362391732368583172300827762585262448169487470295280218124389648437"
554 "5"},
555 {.value: 0x1.dbe376p-88f, .fmt: chars_format::fixed, .precision: 111,
556 .correct: "0."
557 "0000000000000000000000000060065575697458565955014820557088473772922162727261330417150020366534590721130371"
558 "09375"},
559 {.value: 0x1.75b358p-87f, .fmt: chars_format::fixed, .precision: 108,
560 .correct: "0."
561 "0000000000000000000000000094335284238393382638914933670753282739891362740358715655020205304026603698730468"
562 "75"},
563 {.value: 0x1.5e56fap-86f, .fmt: chars_format::fixed, .precision: 109,
564 .correct: "0."
565 "0000000000000000000000000176876373794073549186243776242822499413496518949617808402763330377638339996337890"
566 "625"},
567 {.value: 0x1.1542e6p-85f, .fmt: chars_format::fixed, .precision: 108,
568 .correct: "0."
569 "0000000000000000000000000279962390364982552136537973532622361314990341862873890477203531190752983093261718"
570 "75"},
571 {.value: 0x1.37b7a6p-84f, .fmt: chars_format::fixed, .precision: 107,
572 .correct: "0."
573 "0000000000000000000000000629508229027247503098930994487426088983880040350626927647681441158056259155273437"
574 "5"},
575 {.value: 0x1.31f62ap-83f, .fmt: chars_format::fixed, .precision: 106,
576 .correct: "0."
577 "000000000000000000000000123576897369666466985856753932114511864998745993560191891447175294160842895507812"
578 "5"},
579 {.value: 0x1.ac3560p-82f, .fmt: chars_format::fixed, .precision: 101,
580 .correct: "0.00000000000000000000000034590406845628797200186450581230516131137076030199750675819814205169677734375"},
581 {.value: 0x1.a7db5cp-81f, .fmt: chars_format::fixed, .precision: 103,
582 .correct: "0."
583 "0000000000000000000000006847777099176331341674240101847394713956151957034990118700079619884490966796875"},
584 {.value: 0x1.40189cp-80f, .fmt: chars_format::fixed, .precision: 102,
585 .correct: "0.000000000000000000000001034286379672715366987641733210033664035198963659922810620628297328948974609375"},
586 {.value: 0x1.aad1eep-79f, .fmt: chars_format::fixed, .precision: 102,
587 .correct: "0.000000000000000000000002758259846499093682487211692864773559218105614121441249153576791286468505859375"},
588 {.value: 0x1.49824cp-78f, .fmt: chars_format::fixed, .precision: 100,
589 .correct: "0.0000000000000000000000042588036474940459085811637121780459484809977510622047702781856060028076171875"},
590 {.value: 0x1.955292p-77f, .fmt: chars_format::fixed, .precision: 100,
591 .correct: "0.0000000000000000000000104773420985315373838626628182169411331037256474019159213639795780181884765625"},
592 {.value: 0x1.d8ca0cp-76f, .fmt: chars_format::fixed, .precision: 98,
593 .correct: "0.00000000000000000000002444263111177596802332967266437459101513507420122550684027373790740966796875"},
594 {.value: 0x1.28b5aap-75f, .fmt: chars_format::fixed, .precision: 98,
595 .correct: "0.00000000000000000000003067905619497844072028707730390270809472941238027487997896969318389892578125"},
596 {.value: 0x1.e5fda8p-74f, .fmt: chars_format::fixed, .precision: 95,
597 .correct: "0.00000000000000000000010050055115902033206854316793794380802129495577901252545416355133056640625"},
598 {.value: 0x1.fd929cp-73f, .fmt: chars_format::fixed, .precision: 95,
599 .correct: "0.00000000000000000000021075432611470358337541921610390309449467594049565377645194530487060546875"},
600 {.value: 0x1.c0b84cp-72f, .fmt: chars_format::fixed, .precision: 94,
601 .correct: "0.0000000000000000000003711724097438896357340602997067040280665395357573288492858409881591796875"},
602 {.value: 0x1.5cfeaep-71f, .fmt: chars_format::fixed, .precision: 94,
603 .correct: "0.0000000000000000000005773635352424624465965559338086719731730767080080113373696804046630859375"},
604 {.value: 0x1.bcce4ap-70f, .fmt: chars_format::fixed, .precision: 93,
605 .correct: "0.000000000000000000001471738991536079335112024613790339400143380998997599817812442779541015625"},
606 {.value: 0x1.edf106p-69f, .fmt: chars_format::fixed, .precision: 92,
607 .correct: "0.00000000000000000000326863064574260634910627773444362353938430487687583081424236297607421875"},
608 {.value: 0x1.30b422p-68f, .fmt: chars_format::fixed, .precision: 91,
609 .correct: "0.0000000000000000000040327191475944672156035895296995186232180685692583210766315460205078125"},
610 {.value: 0x1.7aa8d8p-67f, .fmt: chars_format::fixed, .precision: 88,
611 .correct: "0.0000000000000000000100230347240102665385544432156972316505516573670320212841033935546875"},
612 {.value: 0x1.4ad4e0p-66f, .fmt: chars_format::fixed, .precision: 85,
613 .correct: "0.0000000000000000000175140760553442509348562143578487138029231573455035686492919921875"},
614 {.value: 0x1.dde636p-65f, .fmt: chars_format::fixed, .precision: 88,
615 .correct: "0.0000000000000000000505995524921864861016965251964971894693690046551637351512908935546875"},
616 {.value: 0x1.5df870p-64f, .fmt: chars_format::fixed, .precision: 84,
617 .correct: "0.000000000000000000074109127331368847396687003781234892585416673682630062103271484375"},
618 {.value: 0x1.c346fap-63f, .fmt: chars_format::fixed, .precision: 86,
619 .correct: "0.00000000000000000019112335047873604296656620434025075638828639057464897632598876953125"},
620 {.value: 0x1.58d2eap-62f, .fmt: chars_format::fixed, .precision: 85,
621 .correct: "0.0000000000000000002920771899491385068938311721231659845443573431111872196197509765625"},
622 {.value: 0x1.0d4824p-61f, .fmt: chars_format::fixed, .precision: 83,
623 .correct: "0.00000000000000000045618111223383324851561766710705825289551285095512866973876953125"},
624 {.value: 0x1.04585cp-60f, .fmt: chars_format::fixed, .precision: 82,
625 .correct: "0.0000000000000000008820836917354691955064048547452415505176759324967861175537109375"},
626 {.value: 0x1.55cf7ap-59f, .fmt: chars_format::fixed, .precision: 82,
627 .correct: "0.0000000000000000023161977389916240139687737820128887733517331071197986602783203125"},
628 {.value: 0x1.1fd8ecp-58f, .fmt: chars_format::fixed, .precision: 80,
629 .correct: "0.00000000000000000390105904223582084021197668999292318403604440391063690185546875"},
630 {.value: 0x1.0bc866p-57f, .fmt: chars_format::fixed, .precision: 80,
631 .correct: "0.00000000000000000725826751123333980988787395016714754092390649020671844482421875"},
632 {.value: 0x1.4dfa86p-56f, .fmt: chars_format::fixed, .precision: 79,
633 .correct: "0.0000000000000000181050165732891247031242920595417444928898476064205169677734375"},
634 {.value: 0x1.335daep-55f, .fmt: chars_format::fixed, .precision: 78,
635 .correct: "0.000000000000000033324681586205479543426333233213654239079914987087249755859375"},
636 {.value: 0x1.5bc756p-54f, .fmt: chars_format::fixed, .precision: 77,
637 .correct: "0.00000000000000007541247487712833172911197632259927559061907231807708740234375"},
638 {.value: 0x1.9eb052p-53f, .fmt: chars_format::fixed, .precision: 76,
639 .correct: "0.0000000000000001798425779915148827771409489884035792783834040164947509765625"},
640 {.value: 0x1.13b6d2p-52f, .fmt: chars_format::fixed, .precision: 75,
641 .correct: "0.000000000000000239143897259270284301468922905087310937233269214630126953125"},
642 {.value: 0x1.260438p-51f, .fmt: chars_format::fixed, .precision: 72,
643 .correct: "0.000000000000000510037289299151118393549353413618518970906734466552734375"},
644 {.value: 0x1.9e6b44p-50f, .fmt: chars_format::fixed, .precision: 72,
645 .correct: "0.000000000000001437804758404521467129999479084290214814245700836181640625"},
646 {.value: 0x1.89c0bcp-49f, .fmt: chars_format::fixed, .precision: 71,
647 .correct: "0.00000000000000273220937993773164975674916377101908437907695770263671875"},
648 {.value: 0x1.e30610p-48f, .fmt: chars_format::fixed, .precision: 68,
649 .correct: "0.00000000000000670330015995791728133923470522859133780002593994140625"},
650 {.value: 0x1.48b6e8p-47f, .fmt: chars_format::fixed, .precision: 68,
651 .correct: "0.00000000000000912365953728740131101204724473063834011554718017578125"},
652 {.value: 0x1.41382ep-46f, .fmt: chars_format::fixed, .precision: 69,
653 .correct: "0.000000000000017831261573081173821275768887062440626323223114013671875"},
654 {.value: 0x1.383b8ep-45f, .fmt: chars_format::fixed, .precision: 68,
655 .correct: "0.00000000000003466478609693256218715617933412431739270687103271484375"},
656 {.value: 0x1.1e6564p-44f, .fmt: chars_format::fixed, .precision: 66, .correct: "0.000000000000063592699357274684590635160930105485022068023681640625"},
657 {.value: 0x1.c35e62p-43f, .fmt: chars_format::fixed, .precision: 66, .correct: "0.000000000000200447961722950707130763703389675356447696685791015625"},
658 {.value: 0x1.2a2f4ep-42f, .fmt: chars_format::fixed, .precision: 65, .correct: "0.00000000000026484129017449731247069166784058324992656707763671875"},
659 {.value: 0x1.69fae2p-41f, .fmt: chars_format::fixed, .precision: 64, .correct: "0.0000000000006430056682417417679431537180789746344089508056640625"},
660 {.value: 0x1.4ccefep-40f, .fmt: chars_format::fixed, .precision: 63, .correct: "0.000000000001182373535017766652543969030375592410564422607421875"},
661 {.value: 0x1.aa9bf6p-39f, .fmt: chars_format::fixed, .precision: 62, .correct: "0.00000000000303124083993189241681420753593556582927703857421875"},
662 {.value: 0x1.3b9744p-38f, .fmt: chars_format::fixed, .precision: 60, .correct: "0.000000000004484816164274096905728583806194365024566650390625"},
663 {.value: 0x1.b2fc6ap-37f, .fmt: chars_format::fixed, .precision: 60, .correct: "0.000000000012363045483188006556929394719190895557403564453125"},
664 {.value: 0x1.7bc418p-36f, .fmt: chars_format::fixed, .precision: 57, .correct: "0.000000000021587197307493255493682227097451686859130859375"},
665 {.value: 0x1.f4a74cp-35f, .fmt: chars_format::fixed, .precision: 57, .correct: "0.000000000056917713597837149563929415307939052581787109375"},
666 {.value: 0x1.89f248p-34f, .fmt: chars_format::fixed, .precision: 55, .correct: "0.0000000000895730434269381703416001982986927032470703125"},
667 {.value: 0x1.60ac54p-33f, .fmt: chars_format::fixed, .precision: 55, .correct: "0.0000000001603771837555001411601551808416843414306640625"},
668 {.value: 0x1.2f6d0ep-32f, .fmt: chars_format::fixed, .precision: 55, .correct: "0.0000000002759643347172158200919511727988719940185546875"},
669 {.value: 0x1.748684p-31f, .fmt: chars_format::fixed, .precision: 53, .correct: "0.00000000067761984912095840627443976700305938720703125"},
670 {.value: 0x1.b4fa00p-30f, .fmt: chars_format::fixed, .precision: 45, .correct: "0.000000001589711473570787347853183746337890625"},
671 {.value: 0x1.c204d8p-29f, .fmt: chars_format::fixed, .precision: 50, .correct: "0.00000000327431859403759517590515315532684326171875"},
672 {.value: 0x1.50029ep-28f, .fmt: chars_format::fixed, .precision: 51, .correct: "0.000000004889592286616561978007666766643524169921875"},
673 {.value: 0x1.56cf38p-27f, .fmt: chars_format::fixed, .precision: 48, .correct: "0.000000009977068060607052757404744625091552734375"},
674 {.value: 0x1.0b5a5cp-26f, .fmt: chars_format::fixed, .precision: 48, .correct: "0.000000015561990807100301026366651058197021484375"},
675 {.value: 0x1.fc8250p-25f, .fmt: chars_format::fixed, .precision: 45, .correct: "0.000000059198242752245278097689151763916015625"},
676 {.value: 0x1.c66674p-24f, .fmt: chars_format::fixed, .precision: 46, .correct: "0.0000001057982927932243910618126392364501953125"},
677 {.value: 0x1.4da57ep-23f, .fmt: chars_format::fixed, .precision: 46, .correct: "0.0000001553662372089092968963086605072021484375"},
678 {.value: 0x1.4fcdacp-22f, .fmt: chars_format::fixed, .precision: 44, .correct: "0.00000031274129241865011863410472869873046875"},
679 {.value: 0x1.5eaff4p-21f, .fmt: chars_format::fixed, .precision: 43, .correct: "0.0000006532060297104180790483951568603515625"},
680 {.value: 0x1.d2f696p-20f, .fmt: chars_format::fixed, .precision: 43, .correct: "0.0000017395735767422593198716640472412109375"},
681 {.value: 0x1.e4400cp-19f, .fmt: chars_format::fixed, .precision: 41, .correct: "0.00000360794501830241642892360687255859375"},
682 {.value: 0x1.03e624p-18f, .fmt: chars_format::fixed, .precision: 40, .correct: "0.0000038727966966689564287662506103515625"},
683 {.value: 0x1.bdb65ep-17f, .fmt: chars_format::fixed, .precision: 40, .correct: "0.0000132832637973478995263576507568359375"},
684 {.value: 0x1.57fb84p-16f, .fmt: chars_format::fixed, .precision: 38, .correct: "0.00002050295370281673967838287353515625"},
685 {.value: 0x1.fd2d62p-15f, .fmt: chars_format::fixed, .precision: 38, .correct: "0.00006069866140023805201053619384765625"},
686 {.value: 0x1.ca0c58p-14f, .fmt: chars_format::fixed, .precision: 35, .correct: "0.00010920720524154603481292724609375"},
687 {.value: 0x1.988f70p-13f, .fmt: chars_format::fixed, .precision: 33, .correct: "0.000194816733710467815399169921875"},
688 {.value: 0x1.032dd6p-12f, .fmt: chars_format::fixed, .precision: 35, .correct: "0.00024717240012250840663909912109375"},
689 {.value: 0x1.571b08p-11f, .fmt: chars_format::fixed, .precision: 32, .correct: "0.00065442197956144809722900390625"},
690 {.value: 0x1.53bedap-10f, .fmt: chars_format::fixed, .precision: 33, .correct: "0.001296026282943785190582275390625"},
691 {.value: 0x1.ab2f36p-9f, .fmt: chars_format::fixed, .precision: 32, .correct: "0.00325915846042335033416748046875"},
692 {.value: 0x1.7293dap-8f, .fmt: chars_format::fixed, .precision: 31, .correct: "0.0056545645929872989654541015625"},
693 {.value: 0x1.825eb6p-7f, .fmt: chars_format::fixed, .precision: 30, .correct: "0.011791075579822063446044921875"},
694 {.value: 0x1.f45aa0p-6f, .fmt: chars_format::fixed, .precision: 25, .correct: "0.0305391848087310791015625"},
695 {.value: 0x1.854d96p-5f, .fmt: chars_format::fixed, .precision: 28, .correct: "0.0475223474204540252685546875"},
696 {.value: 0x1.5650cep-4f, .fmt: chars_format::fixed, .precision: 27, .correct: "0.083573155105113983154296875"},
697 {.value: 0x1.03acdap-3f, .fmt: chars_format::fixed, .precision: 26, .correct: "0.12679453194141387939453125"},
698 {.value: 0x1.6b9416p-2f, .fmt: chars_format::fixed, .precision: 25, .correct: "0.3550570905208587646484375"},
699 {.value: 0x1.a8544ap-1f, .fmt: chars_format::fixed, .precision: 24, .correct: "0.828768074512481689453125"},
700 {.value: 0x1.0693f6p+0f, .fmt: chars_format::fixed, .precision: 23, .correct: "1.02569520473480224609375"},
701 {.value: 0x1.b9476ep+1f, .fmt: chars_format::fixed, .precision: 22, .correct: "3.4474923610687255859375"},
702 {.value: 0x1.3cb752p+2f, .fmt: chars_format::fixed, .precision: 21, .correct: "4.948688983917236328125"},
703 {.value: 0x1.bb8a64p+3f, .fmt: chars_format::fixed, .precision: 19, .correct: "13.8606433868408203125"},
704 {.value: 0x1.1de906p+4f, .fmt: chars_format::fixed, .precision: 19, .correct: "17.8693904876708984375"},
705 {.value: 0x1.d8e834p+5f, .fmt: chars_format::fixed, .precision: 17, .correct: "59.11338043212890625"},
706 {.value: 0x1.27cd38p+6f, .fmt: chars_format::fixed, .precision: 15, .correct: "73.950408935546875"},
707 {.value: 0x1.3cdcd6p+7f, .fmt: chars_format::fixed, .precision: 16, .correct: "158.4313201904296875"},
708 {.value: 0x1.392656p+8f, .fmt: chars_format::fixed, .precision: 15, .correct: "313.149749755859375"},
709 {.value: 0x1.c96aa8p+9f, .fmt: chars_format::fixed, .precision: 12, .correct: "914.833251953125"},
710 {.value: 0x1.28b6b2p+10f, .fmt: chars_format::fixed, .precision: 13, .correct: "1186.8546142578125"},
711 {.value: 0x1.786090p+11f, .fmt: chars_format::fixed, .precision: 9, .correct: "3011.017578125"},
712 {.value: 0x1.79c6f6p+12f, .fmt: chars_format::fixed, .precision: 11, .correct: "6044.43505859375"},
713 {.value: 0x1.ef1840p+13f, .fmt: chars_format::fixed, .precision: 5, .correct: "15843.03125"},
714 {.value: 0x1.539fd0p+14f, .fmt: chars_format::fixed, .precision: 6, .correct: "21735.953125"},
715 {.value: 0x1.b31804p+15f, .fmt: chars_format::fixed, .precision: 7, .correct: "55692.0078125"},
716 {.value: 0x1.ad4a9cp+16f, .fmt: chars_format::fixed, .precision: 6, .correct: "109898.609375"},
717 {.value: 0x1.4c43a6p+17f, .fmt: chars_format::fixed, .precision: 6, .correct: "170119.296875"},
718 {.value: 0x1.5598c6p+18f, .fmt: chars_format::fixed, .precision: 5, .correct: "349795.09375"},
719 {.value: 0x1.73695ep+19f, .fmt: chars_format::fixed, .precision: 4, .correct: "760650.9375"},
720 {.value: 0x1.234f2ap+20f, .fmt: chars_format::fixed, .precision: 3, .correct: "1193202.625"},
721 {.value: 0x1.0a4cc8p+21f, .fmt: chars_format::fixed, .precision: 0, .correct: "2181529"},
722 {.value: 0x1.90abd2p+22f, .fmt: chars_format::fixed, .precision: 1, .correct: "6564596.5"},
723 {.value: 0x1.62dde8p+23f, .fmt: chars_format::fixed, .precision: 0, .correct: "11628276"},
724 {.value: 0x1.9e3a8cp+24f, .fmt: chars_format::fixed, .precision: 0, .correct: "27146892"},
725 {.value: 0x1.53a3eap+25f, .fmt: chars_format::fixed, .precision: 0, .correct: "44517332"},
726 {.value: 0x1.41a1cep+26f, .fmt: chars_format::fixed, .precision: 0, .correct: "84313912"},
727 {.value: 0x1.8fdda4p+27f, .fmt: chars_format::fixed, .precision: 0, .correct: "209644832"},
728 {.value: 0x1.d0322ap+28f, .fmt: chars_format::fixed, .precision: 0, .correct: "486744736"},
729 {.value: 0x1.cdb764p+29f, .fmt: chars_format::fixed, .precision: 0, .correct: "968289408"},
730 {.value: 0x1.7620d8p+30f, .fmt: chars_format::fixed, .precision: 0, .correct: "1569207808"},
731 {.value: 0x1.c18df6p+31f, .fmt: chars_format::fixed, .precision: 0, .correct: "3771136768"},
732 {.value: 0x1.240cf8p+32f, .fmt: chars_format::fixed, .precision: 0, .correct: "4899796992"},
733 {.value: 0x1.81669ap+33f, .fmt: chars_format::fixed, .precision: 0, .correct: "12931904512"},
734 {.value: 0x1.3be30cp+34f, .fmt: chars_format::fixed, .precision: 0, .correct: "21198811136"},
735 {.value: 0x1.d1e6e4p+35f, .fmt: chars_format::fixed, .precision: 0, .correct: "62532296704"},
736 {.value: 0x1.06b274p+36f, .fmt: chars_format::fixed, .precision: 0, .correct: "70517211136"},
737 {.value: 0x1.a74284p+37f, .fmt: chars_format::fixed, .precision: 0, .correct: "227235889152"},
738 {.value: 0x1.9fd3e6p+38f, .fmt: chars_format::fixed, .precision: 0, .correct: "446491623424"},
739 {.value: 0x1.e2cec4p+39f, .fmt: chars_format::fixed, .precision: 0, .correct: "1036821594112"},
740 {.value: 0x1.3d5d32p+40f, .fmt: chars_format::fixed, .precision: 0, .correct: "1363068190720"},
741 {.value: 0x1.accccap+41f, .fmt: chars_format::fixed, .precision: 0, .correct: "3683363586048"},
742 {.value: 0x1.a120ccp+42f, .fmt: chars_format::fixed, .precision: 0, .correct: "7166206410752"},
743 {.value: 0x1.55a028p+43f, .fmt: chars_format::fixed, .precision: 0, .correct: "11738166591488"},
744 {.value: 0x1.035296p+44f, .fmt: chars_format::fixed, .precision: 0, .correct: "17820513468416"},
745 {.value: 0x1.22d1aap+45f, .fmt: chars_format::fixed, .precision: 0, .correct: "39969859043328"},
746 {.value: 0x1.eb8eaep+46f, .fmt: chars_format::fixed, .precision: 0, .correct: "135118253457408"},
747 {.value: 0x1.490d0ep+47f, .fmt: chars_format::fixed, .precision: 0, .correct: "180897697497088"},
748 {.value: 0x1.9da088p+48f, .fmt: chars_format::fixed, .precision: 0, .correct: "454787778740224"},
749 {.value: 0x1.e7fab4p+49f, .fmt: chars_format::fixed, .precision: 0, .correct: "1073077848899584"},
750 {.value: 0x1.98a534p+50f, .fmt: chars_format::fixed, .precision: 0, .correct: "1797241144606720"},
751 {.value: 0x1.93aeeap+51f, .fmt: chars_format::fixed, .precision: 0, .correct: "3550835489374208"},
752 {.value: 0x1.3df680p+52f, .fmt: chars_format::fixed, .precision: 0, .correct: "5593662327095296"},
753 {.value: 0x1.c763f6p+53f, .fmt: chars_format::fixed, .precision: 0, .correct: "16022627827056640"},
754 {.value: 0x1.8b669ep+54f, .fmt: chars_format::fixed, .precision: 0, .correct: "27823861147893760"},
755 {.value: 0x1.73e5b6p+55f, .fmt: chars_format::fixed, .precision: 0, .correct: "52339893103230976"},
756 {.value: 0x1.a13d18p+56f, .fmt: chars_format::fixed, .precision: 0, .correct: "117442238576852992"},
757 {.value: 0x1.a0797ep+57f, .fmt: chars_format::fixed, .precision: 0, .correct: "234454344768946176"},
758 {.value: 0x1.c07a80p+58f, .fmt: chars_format::fixed, .precision: 0, .correct: "504941918963105792"},
759 {.value: 0x1.729388p+59f, .fmt: chars_format::fixed, .precision: 0, .correct: "834463629662224384"},
760 {.value: 0x1.edfb70p+60f, .fmt: chars_format::fixed, .precision: 0, .correct: "2224697951572197376"},
761 {.value: 0x1.3d6782p+61f, .fmt: chars_format::fixed, .precision: 0, .correct: "2858924021141995520"},
762 {.value: 0x1.b121e8p+62f, .fmt: chars_format::fixed, .precision: 0, .correct: "7802620494837972992"},
763 {.value: 0x1.0efc5ap+63f, .fmt: chars_format::fixed, .precision: 0, .correct: "9763290520209063936"},
764 {.value: 0x1.b7dba0p+64f, .fmt: chars_format::fixed, .precision: 0, .correct: "31695102724410441728"},
765 {.value: 0x1.ec2306p+65f, .fmt: chars_format::fixed, .precision: 0, .correct: "70924388975830368256"},
766 {.value: 0x1.2e2d28p+66f, .fmt: chars_format::fixed, .precision: 0, .correct: "87096415015485308928"},
767 {.value: 0x1.e02208p+67f, .fmt: chars_format::fixed, .precision: 0, .correct: "276777792668052750336"},
768 {.value: 0x1.402636p+68f, .fmt: chars_format::fixed, .precision: 0, .correct: "369106968238077509632"},
769 {.value: 0x1.11f97cp+69f, .fmt: chars_format::fixed, .precision: 0, .correct: "631742296991907971072"},
770 {.value: 0x1.74db2ap+70f, .fmt: chars_format::fixed, .precision: 0, .correct: "1719495307615820316672"},
771 {.value: 0x1.94a32ap+71f, .fmt: chars_format::fixed, .precision: 0, .correct: "3732120907777931476992"},
772 {.value: 0x1.c272dcp+72f, .fmt: chars_format::fixed, .precision: 0, .correct: "8309311323384498356224"},
773 {.value: 0x1.36ca40p+73f, .fmt: chars_format::fixed, .precision: 0, .correct: "11466128622488263852032"},
774 {.value: 0x1.5f6fbep+74f, .fmt: chars_format::fixed, .precision: 0, .correct: "25931436172223350571008"},
775 {.value: 0x1.95ec4ep+75f, .fmt: chars_format::fixed, .precision: 0, .correct: "59903671176748022628352"},
776 {.value: 0x1.6b3912p+76f, .fmt: chars_format::fixed, .precision: 0, .correct: "107204487170660958732288"},
777 {.value: 0x1.10992ap+77f, .fmt: chars_format::fixed, .precision: 0, .correct: "160913632700346331561984"},
778 {.value: 0x1.74a25ep+78f, .fmt: chars_format::fixed, .precision: 0, .correct: "439928869395322133020672"},
779 {.value: 0x1.43f462p+79f, .fmt: chars_format::fixed, .precision: 0, .correct: "764916220582548125777920"},
780 {.value: 0x1.f12ca2p+80f, .fmt: chars_format::fixed, .precision: 0, .correct: "2347839472055691035803648"},
781 {.value: 0x1.2b7f18p+81f, .fmt: chars_format::fixed, .precision: 0, .correct: "2828664088515283884441600"},
782 {.value: 0x1.a40704p+82f, .fmt: chars_format::fixed, .precision: 0, .correct: "7934093352976572433301504"},
783 {.value: 0x1.35d5f8p+83f, .fmt: chars_format::fixed, .precision: 0, .correct: "11705266159821935293235200"},
784 {.value: 0x1.c2c9d2p+84f, .fmt: chars_format::fixed, .precision: 0, .correct: "34060605519118462894473216"},
785 {.value: 0x1.47bf20p+85f, .fmt: chars_format::fixed, .precision: 0, .correct: "49527663163502775133798400"},
786 {.value: 0x1.60b728p+86f, .fmt: chars_format::fixed, .precision: 0, .correct: "106601704860119390738186240"},
787 {.value: 0x1.3354c8p+87f, .fmt: chars_format::fixed, .precision: 0, .correct: "185770297377533474371534848"},
788 {.value: 0x1.e9e512p+88f, .fmt: chars_format::fixed, .precision: 0, .correct: "592246479757524141957185536"},
789 {.value: 0x1.c4b6cap+89f, .fmt: chars_format::fixed, .precision: 0, .correct: "1094595334815995103451021312"},
790 {.value: 0x1.799cb8p+90f, .fmt: chars_format::fixed, .precision: 0, .correct: "1826020469467809704300249088"},
791 {.value: 0x1.1afa36p+91f, .fmt: chars_format::fixed, .precision: 0, .correct: "2736789351009782551090823168"},
792 {.value: 0x1.80c214p+92f, .fmt: chars_format::fixed, .precision: 0, .correct: "7442304364233212615194574848"},
793 {.value: 0x1.657890p+93f, .fmt: chars_format::fixed, .precision: 0, .correct: "13828987453168434783077793792"},
794 {.value: 0x1.5ce17cp+94f, .fmt: chars_format::fixed, .precision: 0, .correct: "26993344325171312829134798848"},
795 {.value: 0x1.3f1e9ap+95f, .fmt: chars_format::fixed, .precision: 0, .correct: "49381356576017938861904625664"},
796 {.value: 0x1.874612p+96f, .fmt: chars_format::fixed, .precision: 0, .correct: "121093348650115637567232671744"},
797 {.value: 0x1.5f4d5ep+97f, .fmt: chars_format::fixed, .precision: 0, .correct: "217445539275703670631001227264"},
798 {.value: 0x1.45b1bep+98f, .fmt: chars_format::fixed, .precision: 0, .correct: "403190021246562727728269754368"},
799 {.value: 0x1.a570f4p+99f, .fmt: chars_format::fixed, .precision: 0, .correct: "1043437928672039460753056464896"},
800 {.value: 0x1.f5106ep+100f, .fmt: chars_format::fixed, .precision: 0, .correct: "2481149635102733266542145830912"},
801 {.value: 0x1.d84424p+101f, .fmt: chars_format::fixed, .precision: 0, .correct: "4677097651091265616934539886592"},
802 {.value: 0x1.3d6c56p+102f, .fmt: chars_format::fixed, .precision: 0, .correct: "6287213966425746785671183335424"},
803 {.value: 0x1.9d8cf0p+103f, .fmt: chars_format::fixed, .precision: 0, .correct: "16382424580981433623378525159424"},
804 {.value: 0x1.e2e73ep+104f, .fmt: chars_format::fixed, .precision: 0, .correct: "38259540322544957537972440268800"},
805 {.value: 0x1.2d6594p+105f, .fmt: chars_format::fixed, .precision: 0, .correct: "47758227647613648865431576903680"},
806 {.value: 0x1.ce43bap+106f, .fmt: chars_format::fixed, .precision: 0, .correct: "146497485749802409635393442938880"},
807 {.value: 0x1.b3ea00p+107f, .fmt: chars_format::fixed, .precision: 0, .correct: "276293361488025452794185737306112"},
808 {.value: 0x1.03a052p+108f, .fmt: chars_format::fixed, .precision: 0, .correct: "329115373194929392757058784198656"},
809 {.value: 0x1.6f59e0p+109f, .fmt: chars_format::fixed, .precision: 0, .correct: "931345619455766569116232623063040"},
810 {.value: 0x1.05adacp+110f, .fmt: chars_format::fixed, .precision: 0, .correct: "1326867152522435745601434087849984"},
811 {.value: 0x1.2cdef0p+111f, .fmt: chars_format::fixed, .precision: 0, .correct: "3051192904788012466473218045116416"},
812 {.value: 0x1.e81552p+112f, .fmt: chars_format::fixed, .precision: 0, .correct: "9899505055765620068271358482579456"},
813 {.value: 0x1.bfa8f4p+113f, .fmt: chars_format::fixed, .precision: 0, .correct: "18159245876954178992833811110166528"},
814 {.value: 0x1.a14810p+114f, .fmt: chars_format::fixed, .precision: 0, .correct: "33853896736735722962455354188759040"},
815 {.value: 0x1.f18b10p+115f, .fmt: chars_format::fixed, .precision: 0, .correct: "80731001914916160681187088757948416"},
816 {.value: 0x1.8d6e30p+116f, .fmt: chars_format::fixed, .precision: 0, .correct: "128973545052908058560090358153216000"},
817 {.value: 0x1.9480c2p+117f, .fmt: chars_format::fixed, .precision: 0, .correct: "262537431192608192877759864086986752"},
818 {.value: 0x1.60975cp+118f, .fmt: chars_format::fixed, .precision: 0, .correct: "457689606761340509948952337218273280"},
819 {.value: 0x1.ab1bb2p+119f, .fmt: chars_format::fixed, .precision: 0, .correct: "1108836243133298765768030079592431616"},
820 {.value: 0x1.6a0c80p+120f, .fmt: chars_format::fixed, .precision: 0, .correct: "1879864992909653247408339011818749952"},
821 {.value: 0x1.2cac2cp+121f, .fmt: chars_format::fixed, .precision: 0, .correct: "3122362236102854007005843883842076672"},
822 {.value: 0x1.0baaf6p+122f, .fmt: chars_format::fixed, .precision: 0, .correct: "5559243043957593079267046257728684032"},
823 {.value: 0x1.098282p+123f, .fmt: chars_format::fixed, .precision: 0, .correct: "11028845443370647144636654644992409600"},
824 {.value: 0x1.122f8ap+124f, .fmt: chars_format::fixed, .precision: 0, .correct: "22778456735621461875293910785310326784"},
825 {.value: 0x1.57f4c6p+125f, .fmt: chars_format::fixed, .precision: 0, .correct: "57149517363101270672263900542030315520"},
826 {.value: 0x1.05e028p+126f, .fmt: chars_format::fixed, .precision: 0, .correct: "87023098173139747570875357950241669120"},
827 {.value: 0x1.9d8424p+127f, .fmt: chars_format::fixed, .precision: 0, .correct: "274828637805621292108186801756142829568"},
828
829 // Test the maximum mantissa, which generates the most digits for each exponent.
830 {.value: 0x0.fffffep-126f, .fmt: chars_format::fixed, .precision: 149,
831 .correct: "0."
832 "0000000000000000000000000000000000000117549421069244107548702944484928734882705242874589333385717453057158"
833 "8870475618904265502351336181163787841796875"},
834 {.value: 0x1.fffffep-126f, .fmt: chars_format::fixed, .precision: 149,
835 .correct: "0."
836 "0000000000000000000000000000000000000235098856151472858345576598207153302664571798551798085536592623685000"
837 "6129930346077117064851336181163787841796875"},
838 {.value: 0x1.fffffep-125f, .fmt: chars_format::fixed, .precision: 148,
839 .correct: "0."
840 "0000000000000000000000000000000000000470197712302945716691153196414306605329143597103596171073185247370001"
841 "225986069215423412970267236232757568359375"},
842 {.value: 0x1.fffffep-124f, .fmt: chars_format::fixed, .precision: 147,
843 .correct: "0."
844 "0000000000000000000000000000000000000940395424605891433382306392828613210658287194207192342146370494740002"
845 "45197213843084682594053447246551513671875"},
846 {.value: 0x1.fffffep-123f, .fmt: chars_format::fixed, .precision: 146,
847 .correct: "0."
848 "0000000000000000000000000000000000001880790849211782866764612785657226421316574388414384684292740989480004"
849 "9039442768616936518810689449310302734375"},
850 {.value: 0x1.fffffep-122f, .fmt: chars_format::fixed, .precision: 145,
851 .correct: "0."
852 "0000000000000000000000000000000000003761581698423565733529225571314452842633148776828769368585481978960009"
853 "807888553723387303762137889862060546875"},
854 {.value: 0x1.fffffep-121f, .fmt: chars_format::fixed, .precision: 144,
855 .correct: "0."
856 "0000000000000000000000000000000000007523163396847131467058451142628905685266297553657538737170963957920019"
857 "61577710744677460752427577972412109375"},
858 {.value: 0x1.fffffep-120f, .fmt: chars_format::fixed, .precision: 143,
859 .correct: "0."
860 "0000000000000000000000000000000000015046326793694262934116902285257811370532595107315077474341927915840039"
861 "2315542148935492150485515594482421875"},
862 {.value: 0x1.fffffep-119f, .fmt: chars_format::fixed, .precision: 142,
863 .correct: "0."
864 "0000000000000000000000000000000000030092653587388525868233804570515622741065190214630154948683855831680078"
865 "463108429787098430097103118896484375"},
866 {.value: 0x1.fffffep-118f, .fmt: chars_format::fixed, .precision: 141,
867 .correct: "0."
868 "0000000000000000000000000000000000060185307174777051736467609141031245482130380429260309897367711663360156"
869 "92621685957419686019420623779296875"},
870 {.value: 0x1.fffffep-117f, .fmt: chars_format::fixed, .precision: 140,
871 .correct: "0."
872 "0000000000000000000000000000000000120370614349554103472935218282062490964260760858520619794735423326720313"
873 "8524337191483937203884124755859375"},
874 {.value: 0x1.fffffep-116f, .fmt: chars_format::fixed, .precision: 139,
875 .correct: "0."
876 "0000000000000000000000000000000000240741228699108206945870436564124981928521521717041239589470846653440627"
877 "704867438296787440776824951171875"},
878 {.value: 0x1.fffffep-115f, .fmt: chars_format::fixed, .precision: 138,
879 .correct: "0."
880 "0000000000000000000000000000000000481482457398216413891740873128249963857043043434082479178941693306881255"
881 "40973487659357488155364990234375"},
882 {.value: 0x1.fffffep-114f, .fmt: chars_format::fixed, .precision: 137,
883 .correct: "0."
884 "0000000000000000000000000000000000962964914796432827783481746256499927714086086868164958357883386613762510"
885 "8194697531871497631072998046875"},
886 {.value: 0x1.fffffep-113f, .fmt: chars_format::fixed, .precision: 136,
887 .correct: "0."
888 "0000000000000000000000000000000001925929829592865655566963492512999855428172173736329916715766773227525021"
889 "638939506374299526214599609375"},
890 {.value: 0x1.fffffep-112f, .fmt: chars_format::fixed, .precision: 135,
891 .correct: "0."
892 "0000000000000000000000000000000003851859659185731311133926985025999710856344347472659833431533546455050043"
893 "27787901274859905242919921875"},
894 {.value: 0x1.fffffep-111f, .fmt: chars_format::fixed, .precision: 134,
895 .correct: "0."
896 "0000000000000000000000000000000007703719318371462622267853970051999421712688694945319666863067092910100086"
897 "5557580254971981048583984375"},
898 {.value: 0x1.fffffep-110f, .fmt: chars_format::fixed, .precision: 133,
899 .correct: "0."
900 "0000000000000000000000000000000015407438636742925244535707940103998843425377389890639333726134185820200173"
901 "111516050994396209716796875"},
902 {.value: 0x1.fffffep-109f, .fmt: chars_format::fixed, .precision: 132,
903 .correct: "0."
904 "0000000000000000000000000000000030814877273485850489071415880207997686850754779781278667452268371640400346"
905 "22303210198879241943359375"},
906 {.value: 0x1.fffffep-108f, .fmt: chars_format::fixed, .precision: 131,
907 .correct: "0."
908 "0000000000000000000000000000000061629754546971700978142831760415995373701509559562557334904536743280800692"
909 "4460642039775848388671875"},
910 {.value: 0x1.fffffep-107f, .fmt: chars_format::fixed, .precision: 130,
911 .correct: "0."
912 "0000000000000000000000000000000123259509093943401956285663520831990747403019119125114669809073486561601384"
913 "892128407955169677734375"},
914 {.value: 0x1.fffffep-106f, .fmt: chars_format::fixed, .precision: 129,
915 .correct: "0."
916 "0000000000000000000000000000000246519018187886803912571327041663981494806038238250229339618146973123202769"
917 "78425681591033935546875"},
918 {.value: 0x1.fffffep-105f, .fmt: chars_format::fixed, .precision: 128,
919 .correct: "0."
920 "0000000000000000000000000000000493038036375773607825142654083327962989612076476500458679236293946246405539"
921 "5685136318206787109375"},
922 {.value: 0x1.fffffep-104f, .fmt: chars_format::fixed, .precision: 127,
923 .correct: "0."
924 "0000000000000000000000000000000986076072751547215650285308166655925979224152953000917358472587892492811079"
925 "137027263641357421875"},
926 {.value: 0x1.fffffep-103f, .fmt: chars_format::fixed, .precision: 126,
927 .correct: "0."
928 "0000000000000000000000000000001972152145503094431300570616333311851958448305906001834716945175784985622158"
929 "27405452728271484375"},
930 {.value: 0x1.fffffep-102f, .fmt: chars_format::fixed, .precision: 125,
931 .correct: "0."
932 "0000000000000000000000000000003944304291006188862601141232666623703916896611812003669433890351569971244316"
933 "5481090545654296875"},
934 {.value: 0x1.fffffep-101f, .fmt: chars_format::fixed, .precision: 124,
935 .correct: "0."
936 "0000000000000000000000000000007888608582012377725202282465333247407833793223624007338867780703139942488633"
937 "096218109130859375"},
938 {.value: 0x1.fffffep-100f, .fmt: chars_format::fixed, .precision: 123,
939 .correct: "0."
940 "0000000000000000000000000000015777217164024755450404564930666494815667586447248014677735561406279884977266"
941 "19243621826171875"},
942 {.value: 0x1.fffffep-99f, .fmt: chars_format::fixed, .precision: 122,
943 .correct: "0."
944 "0000000000000000000000000000031554434328049510900809129861332989631335172894496029355471122812559769954532"
945 "3848724365234375"},
946 {.value: 0x1.fffffep-98f, .fmt: chars_format::fixed, .precision: 121,
947 .correct: "0."
948 "0000000000000000000000000000063108868656099021801618259722665979262670345788992058710942245625119539909064"
949 "769744873046875"},
950 {.value: 0x1.fffffep-97f, .fmt: chars_format::fixed, .precision: 120,
951 .correct: "0."
952 "0000000000000000000000000000126217737312198043603236519445331958525340691577984117421884491250239079818129"
953 "53948974609375"},
954 {.value: 0x1.fffffep-96f, .fmt: chars_format::fixed, .precision: 119,
955 .correct: "0."
956 "0000000000000000000000000000252435474624396087206473038890663917050681383155968234843768982500478159636259"
957 "0789794921875"},
958 {.value: 0x1.fffffep-95f, .fmt: chars_format::fixed, .precision: 118,
959 .correct: "0."
960 "0000000000000000000000000000504870949248792174412946077781327834101362766311936469687537965000956319272518"
961 "157958984375"},
962 {.value: 0x1.fffffep-94f, .fmt: chars_format::fixed, .precision: 117,
963 .correct: "0."
964 "0000000000000000000000000001009741898497584348825892155562655668202725532623872939375075930001912638545036"
965 "31591796875"},
966 {.value: 0x1.fffffep-93f, .fmt: chars_format::fixed, .precision: 116,
967 .correct: "0."
968 "0000000000000000000000000002019483796995168697651784311125311336405451065247745878750151860003825277090072"
969 "6318359375"},
970 {.value: 0x1.fffffep-92f, .fmt: chars_format::fixed, .precision: 115,
971 .correct: "0."
972 "0000000000000000000000000004038967593990337395303568622250622672810902130495491757500303720007650554180145"
973 "263671875"},
974 {.value: 0x1.fffffep-91f, .fmt: chars_format::fixed, .precision: 114,
975 .correct: "0."
976 "0000000000000000000000000008077935187980674790607137244501245345621804260990983515000607440015301108360290"
977 "52734375"},
978 {.value: 0x1.fffffep-90f, .fmt: chars_format::fixed, .precision: 113,
979 .correct: "0."
980 "0000000000000000000000000016155870375961349581214274489002490691243608521981967030001214880030602216720581"
981 "0546875"},
982 {.value: 0x1.fffffep-89f, .fmt: chars_format::fixed, .precision: 112,
983 .correct: "0."
984 "0000000000000000000000000032311740751922699162428548978004981382487217043963934060002429760061204433441162"
985 "109375"},
986 {.value: 0x1.fffffep-88f, .fmt: chars_format::fixed, .precision: 111,
987 .correct: "0."
988 "0000000000000000000000000064623481503845398324857097956009962764974434087927868120004859520122408866882324"
989 "21875"},
990 {.value: 0x1.fffffep-87f, .fmt: chars_format::fixed, .precision: 110,
991 .correct: "0."
992 "0000000000000000000000000129246963007690796649714195912019925529948868175855736240009719040244817733764648"
993 "4375"},
994 {.value: 0x1.fffffep-86f, .fmt: chars_format::fixed, .precision: 109,
995 .correct: "0."
996 "0000000000000000000000000258493926015381593299428391824039851059897736351711472480019438080489635467529296"
997 "875"},
998 {.value: 0x1.fffffep-85f, .fmt: chars_format::fixed, .precision: 108,
999 .correct: "0."
1000 "0000000000000000000000000516987852030763186598856783648079702119795472703422944960038876160979270935058593"
1001 "75"},
1002 {.value: 0x1.fffffep-84f, .fmt: chars_format::fixed, .precision: 107,
1003 .correct: "0."
1004 "0000000000000000000000001033975704061526373197713567296159404239590945406845889920077752321958541870117187"
1005 "5"},
1006 {.value: 0x1.fffffep-83f, .fmt: chars_format::fixed, .precision: 106,
1007 .correct: "0."
1008 "000000000000000000000000206795140812305274639542713459231880847918189081369177984015550464391708374023437"
1009 "5"},
1010 {.value: 0x1.fffffep-82f, .fmt: chars_format::fixed, .precision: 105,
1011 .correct: "0."
1012 "00000000000000000000000041359028162461054927908542691846376169583637816273835596803110092878341674804687"
1013 "5"},
1014 {.value: 0x1.fffffep-81f, .fmt: chars_format::fixed, .precision: 104,
1015 .correct: "0."
1016 "00000000000000000000000082718056324922109855817085383692752339167275632547671193606220185756683349609375"},
1017 {.value: 0x1.fffffep-80f, .fmt: chars_format::fixed, .precision: 103,
1018 .correct: "0."
1019 "0000000000000000000000016543611264984421971163417076738550467833455126509534238721244037151336669921875"},
1020 {.value: 0x1.fffffep-79f, .fmt: chars_format::fixed, .precision: 102,
1021 .correct: "0.000000000000000000000003308722252996884394232683415347710093566691025301906847744248807430267333984375"},
1022 {.value: 0x1.fffffep-78f, .fmt: chars_format::fixed, .precision: 101,
1023 .correct: "0.00000000000000000000000661744450599376878846536683069542018713338205060381369548849761486053466796875"},
1024 {.value: 0x1.fffffep-77f, .fmt: chars_format::fixed, .precision: 100,
1025 .correct: "0.0000000000000000000000132348890119875375769307336613908403742667641012076273909769952297210693359375"},
1026 {.value: 0x1.fffffep-76f, .fmt: chars_format::fixed, .precision: 99,
1027 .correct: "0.000000000000000000000026469778023975075153861467322781680748533528202415254781953990459442138671875"},
1028 {.value: 0x1.fffffep-75f, .fmt: chars_format::fixed, .precision: 98,
1029 .correct: "0.00000000000000000000005293955604795015030772293464556336149706705640483050956390798091888427734375"},
1030 {.value: 0x1.fffffep-74f, .fmt: chars_format::fixed, .precision: 97,
1031 .correct: "0.0000000000000000000001058791120959003006154458692911267229941341128096610191278159618377685546875"},
1032 {.value: 0x1.fffffep-73f, .fmt: chars_format::fixed, .precision: 96,
1033 .correct: "0.000000000000000000000211758224191800601230891738582253445988268225619322038255631923675537109375"},
1034 {.value: 0x1.fffffep-72f, .fmt: chars_format::fixed, .precision: 95,
1035 .correct: "0.00000000000000000000042351644838360120246178347716450689197653645123864407651126384735107421875"},
1036 {.value: 0x1.fffffep-71f, .fmt: chars_format::fixed, .precision: 94,
1037 .correct: "0.0000000000000000000008470328967672024049235669543290137839530729024772881530225276947021484375"},
1038 {.value: 0x1.fffffep-70f, .fmt: chars_format::fixed, .precision: 93,
1039 .correct: "0.000000000000000000001694065793534404809847133908658027567906145804954576306045055389404296875"},
1040 {.value: 0x1.fffffep-69f, .fmt: chars_format::fixed, .precision: 92,
1041 .correct: "0.00000000000000000000338813158706880961969426781731605513581229160990915261209011077880859375"},
1042 {.value: 0x1.fffffep-68f, .fmt: chars_format::fixed, .precision: 91,
1043 .correct: "0.0000000000000000000067762631741376192393885356346321102716245832198183052241802215576171875"},
1044 {.value: 0x1.fffffep-67f, .fmt: chars_format::fixed, .precision: 90,
1045 .correct: "0.000000000000000000013552526348275238478777071269264220543249166439636610448360443115234375"},
1046 {.value: 0x1.fffffep-66f, .fmt: chars_format::fixed, .precision: 89,
1047 .correct: "0.00000000000000000002710505269655047695755414253852844108649833287927322089672088623046875"},
1048 {.value: 0x1.fffffep-65f, .fmt: chars_format::fixed, .precision: 88,
1049 .correct: "0.0000000000000000000542101053931009539151082850770568821729966657585464417934417724609375"},
1050 {.value: 0x1.fffffep-64f, .fmt: chars_format::fixed, .precision: 87,
1051 .correct: "0.000000000000000000108420210786201907830216570154113764345993331517092883586883544921875"},
1052 {.value: 0x1.fffffep-63f, .fmt: chars_format::fixed, .precision: 86,
1053 .correct: "0.00000000000000000021684042157240381566043314030822752869198666303418576717376708984375"},
1054 {.value: 0x1.fffffep-62f, .fmt: chars_format::fixed, .precision: 85,
1055 .correct: "0.0000000000000000004336808431448076313208662806164550573839733260683715343475341796875"},
1056 {.value: 0x1.fffffep-61f, .fmt: chars_format::fixed, .precision: 84,
1057 .correct: "0.000000000000000000867361686289615262641732561232910114767946652136743068695068359375"},
1058 {.value: 0x1.fffffep-60f, .fmt: chars_format::fixed, .precision: 83,
1059 .correct: "0.00000000000000000173472337257923052528346512246582022953589330427348613739013671875"},
1060 {.value: 0x1.fffffep-59f, .fmt: chars_format::fixed, .precision: 82,
1061 .correct: "0.0000000000000000034694467451584610505669302449316404590717866085469722747802734375"},
1062 {.value: 0x1.fffffep-58f, .fmt: chars_format::fixed, .precision: 81,
1063 .correct: "0.000000000000000006938893490316922101133860489863280918143573217093944549560546875"},
1064 {.value: 0x1.fffffep-57f, .fmt: chars_format::fixed, .precision: 80,
1065 .correct: "0.00000000000000001387778698063384420226772097972656183628714643418788909912109375"},
1066 {.value: 0x1.fffffep-56f, .fmt: chars_format::fixed, .precision: 79,
1067 .correct: "0.0000000000000000277555739612676884045354419594531236725742928683757781982421875"},
1068 {.value: 0x1.fffffep-55f, .fmt: chars_format::fixed, .precision: 78,
1069 .correct: "0.000000000000000055511147922535376809070883918906247345148585736751556396484375"},
1070 {.value: 0x1.fffffep-54f, .fmt: chars_format::fixed, .precision: 77,
1071 .correct: "0.00000000000000011102229584507075361814176783781249469029717147350311279296875"},
1072 {.value: 0x1.fffffep-53f, .fmt: chars_format::fixed, .precision: 76,
1073 .correct: "0.0000000000000002220445916901415072362835356756249893805943429470062255859375"},
1074 {.value: 0x1.fffffep-52f, .fmt: chars_format::fixed, .precision: 75,
1075 .correct: "0.000000000000000444089183380283014472567071351249978761188685894012451171875"},
1076 {.value: 0x1.fffffep-51f, .fmt: chars_format::fixed, .precision: 74,
1077 .correct: "0.00000000000000088817836676056602894513414270249995752237737178802490234375"},
1078 {.value: 0x1.fffffep-50f, .fmt: chars_format::fixed, .precision: 73,
1079 .correct: "0.0000000000000017763567335211320578902682854049999150447547435760498046875"},
1080 {.value: 0x1.fffffep-49f, .fmt: chars_format::fixed, .precision: 72,
1081 .correct: "0.000000000000003552713467042264115780536570809999830089509487152099609375"},
1082 {.value: 0x1.fffffep-48f, .fmt: chars_format::fixed, .precision: 71,
1083 .correct: "0.00000000000000710542693408452823156107314161999966017901897430419921875"},
1084 {.value: 0x1.fffffep-47f, .fmt: chars_format::fixed, .precision: 70,
1085 .correct: "0.0000000000000142108538681690564631221462832399993203580379486083984375"},
1086 {.value: 0x1.fffffep-46f, .fmt: chars_format::fixed, .precision: 69,
1087 .correct: "0.000000000000028421707736338112926244292566479998640716075897216796875"},
1088 {.value: 0x1.fffffep-45f, .fmt: chars_format::fixed, .precision: 68,
1089 .correct: "0.00000000000005684341547267622585248858513295999728143215179443359375"},
1090 {.value: 0x1.fffffep-44f, .fmt: chars_format::fixed, .precision: 67, .correct: "0.0000000000001136868309453524517049771702659199945628643035888671875"},
1091 {.value: 0x1.fffffep-43f, .fmt: chars_format::fixed, .precision: 66, .correct: "0.000000000000227373661890704903409954340531839989125728607177734375"},
1092 {.value: 0x1.fffffep-42f, .fmt: chars_format::fixed, .precision: 65, .correct: "0.00000000000045474732378140980681990868106367997825145721435546875"},
1093 {.value: 0x1.fffffep-41f, .fmt: chars_format::fixed, .precision: 64, .correct: "0.0000000000009094946475628196136398173621273599565029144287109375"},
1094 {.value: 0x1.fffffep-40f, .fmt: chars_format::fixed, .precision: 63, .correct: "0.000000000001818989295125639227279634724254719913005828857421875"},
1095 {.value: 0x1.fffffep-39f, .fmt: chars_format::fixed, .precision: 62, .correct: "0.00000000000363797859025127845455926944850943982601165771484375"},
1096 {.value: 0x1.fffffep-38f, .fmt: chars_format::fixed, .precision: 61, .correct: "0.0000000000072759571805025569091185388970188796520233154296875"},
1097 {.value: 0x1.fffffep-37f, .fmt: chars_format::fixed, .precision: 60, .correct: "0.000000000014551914361005113818237077794037759304046630859375"},
1098 {.value: 0x1.fffffep-36f, .fmt: chars_format::fixed, .precision: 59, .correct: "0.00000000002910382872201022763647415558807551860809326171875"},
1099 {.value: 0x1.fffffep-35f, .fmt: chars_format::fixed, .precision: 58, .correct: "0.0000000000582076574440204552729483111761510372161865234375"},
1100 {.value: 0x1.fffffep-34f, .fmt: chars_format::fixed, .precision: 57, .correct: "0.000000000116415314888040910545896622352302074432373046875"},
1101 {.value: 0x1.fffffep-33f, .fmt: chars_format::fixed, .precision: 56, .correct: "0.00000000023283062977608182109179324470460414886474609375"},
1102 {.value: 0x1.fffffep-32f, .fmt: chars_format::fixed, .precision: 55, .correct: "0.0000000004656612595521636421835864894092082977294921875"},
1103 {.value: 0x1.fffffep-31f, .fmt: chars_format::fixed, .precision: 54, .correct: "0.000000000931322519104327284367172978818416595458984375"},
1104 {.value: 0x1.fffffep-30f, .fmt: chars_format::fixed, .precision: 53, .correct: "0.00000000186264503820865456873434595763683319091796875"},
1105 {.value: 0x1.fffffep-29f, .fmt: chars_format::fixed, .precision: 52, .correct: "0.0000000037252900764173091374686919152736663818359375"},
1106 {.value: 0x1.fffffep-28f, .fmt: chars_format::fixed, .precision: 51, .correct: "0.000000007450580152834618274937383830547332763671875"},
1107 {.value: 0x1.fffffep-27f, .fmt: chars_format::fixed, .precision: 50, .correct: "0.00000001490116030566923654987476766109466552734375"},
1108 {.value: 0x1.fffffep-26f, .fmt: chars_format::fixed, .precision: 49, .correct: "0.0000000298023206113384730997495353221893310546875"},
1109 {.value: 0x1.fffffep-25f, .fmt: chars_format::fixed, .precision: 48, .correct: "0.000000059604641222676946199499070644378662109375"},
1110 {.value: 0x1.fffffep-24f, .fmt: chars_format::fixed, .precision: 47, .correct: "0.00000011920928244535389239899814128875732421875"},
1111 {.value: 0x1.fffffep-23f, .fmt: chars_format::fixed, .precision: 46, .correct: "0.0000002384185648907077847979962825775146484375"},
1112 {.value: 0x1.fffffep-22f, .fmt: chars_format::fixed, .precision: 45, .correct: "0.000000476837129781415569595992565155029296875"},
1113 {.value: 0x1.fffffep-21f, .fmt: chars_format::fixed, .precision: 44, .correct: "0.00000095367425956283113919198513031005859375"},
1114 {.value: 0x1.fffffep-20f, .fmt: chars_format::fixed, .precision: 43, .correct: "0.0000019073485191256622783839702606201171875"},
1115 {.value: 0x1.fffffep-19f, .fmt: chars_format::fixed, .precision: 42, .correct: "0.000003814697038251324556767940521240234375"},
1116 {.value: 0x1.fffffep-18f, .fmt: chars_format::fixed, .precision: 41, .correct: "0.00000762939407650264911353588104248046875"},
1117 {.value: 0x1.fffffep-17f, .fmt: chars_format::fixed, .precision: 40, .correct: "0.0000152587881530052982270717620849609375"},
1118 {.value: 0x1.fffffep-16f, .fmt: chars_format::fixed, .precision: 39, .correct: "0.000030517576306010596454143524169921875"},
1119 {.value: 0x1.fffffep-15f, .fmt: chars_format::fixed, .precision: 38, .correct: "0.00006103515261202119290828704833984375"},
1120 {.value: 0x1.fffffep-14f, .fmt: chars_format::fixed, .precision: 37, .correct: "0.0001220703052240423858165740966796875"},
1121 {.value: 0x1.fffffep-13f, .fmt: chars_format::fixed, .precision: 36, .correct: "0.000244140610448084771633148193359375"},
1122 {.value: 0x1.fffffep-12f, .fmt: chars_format::fixed, .precision: 35, .correct: "0.00048828122089616954326629638671875"},
1123 {.value: 0x1.fffffep-11f, .fmt: chars_format::fixed, .precision: 34, .correct: "0.0009765624417923390865325927734375"},
1124 {.value: 0x1.fffffep-10f, .fmt: chars_format::fixed, .precision: 33, .correct: "0.001953124883584678173065185546875"},
1125 {.value: 0x1.fffffep-9f, .fmt: chars_format::fixed, .precision: 32, .correct: "0.00390624976716935634613037109375"},
1126 {.value: 0x1.fffffep-8f, .fmt: chars_format::fixed, .precision: 31, .correct: "0.0078124995343387126922607421875"},
1127 {.value: 0x1.fffffep-7f, .fmt: chars_format::fixed, .precision: 30, .correct: "0.015624999068677425384521484375"},
1128 {.value: 0x1.fffffep-6f, .fmt: chars_format::fixed, .precision: 29, .correct: "0.03124999813735485076904296875"},
1129 {.value: 0x1.fffffep-5f, .fmt: chars_format::fixed, .precision: 28, .correct: "0.0624999962747097015380859375"},
1130 {.value: 0x1.fffffep-4f, .fmt: chars_format::fixed, .precision: 27, .correct: "0.124999992549419403076171875"},
1131 {.value: 0x1.fffffep-3f, .fmt: chars_format::fixed, .precision: 26, .correct: "0.24999998509883880615234375"},
1132 {.value: 0x1.fffffep-2f, .fmt: chars_format::fixed, .precision: 25, .correct: "0.4999999701976776123046875"},
1133 {.value: 0x1.fffffep-1f, .fmt: chars_format::fixed, .precision: 24, .correct: "0.999999940395355224609375"},
1134 {.value: 0x1.fffffep+0f, .fmt: chars_format::fixed, .precision: 23, .correct: "1.99999988079071044921875"},
1135 {.value: 0x1.fffffep+1f, .fmt: chars_format::fixed, .precision: 22, .correct: "3.9999997615814208984375"},
1136 {.value: 0x1.fffffep+2f, .fmt: chars_format::fixed, .precision: 21, .correct: "7.999999523162841796875"},
1137 {.value: 0x1.fffffep+3f, .fmt: chars_format::fixed, .precision: 20, .correct: "15.99999904632568359375"},
1138 {.value: 0x1.fffffep+4f, .fmt: chars_format::fixed, .precision: 19, .correct: "31.9999980926513671875"},
1139 {.value: 0x1.fffffep+5f, .fmt: chars_format::fixed, .precision: 18, .correct: "63.999996185302734375"},
1140 {.value: 0x1.fffffep+6f, .fmt: chars_format::fixed, .precision: 17, .correct: "127.99999237060546875"},
1141 {.value: 0x1.fffffep+7f, .fmt: chars_format::fixed, .precision: 16, .correct: "255.9999847412109375"},
1142 {.value: 0x1.fffffep+8f, .fmt: chars_format::fixed, .precision: 15, .correct: "511.999969482421875"},
1143 {.value: 0x1.fffffep+9f, .fmt: chars_format::fixed, .precision: 14, .correct: "1023.99993896484375"},
1144 {.value: 0x1.fffffep+10f, .fmt: chars_format::fixed, .precision: 13, .correct: "2047.9998779296875"},
1145 {.value: 0x1.fffffep+11f, .fmt: chars_format::fixed, .precision: 12, .correct: "4095.999755859375"},
1146 {.value: 0x1.fffffep+12f, .fmt: chars_format::fixed, .precision: 11, .correct: "8191.99951171875"},
1147 {.value: 0x1.fffffep+13f, .fmt: chars_format::fixed, .precision: 10, .correct: "16383.9990234375"},
1148 {.value: 0x1.fffffep+14f, .fmt: chars_format::fixed, .precision: 9, .correct: "32767.998046875"},
1149 {.value: 0x1.fffffep+15f, .fmt: chars_format::fixed, .precision: 8, .correct: "65535.99609375"},
1150 {.value: 0x1.fffffep+16f, .fmt: chars_format::fixed, .precision: 7, .correct: "131071.9921875"},
1151 {.value: 0x1.fffffep+17f, .fmt: chars_format::fixed, .precision: 6, .correct: "262143.984375"},
1152 {.value: 0x1.fffffep+18f, .fmt: chars_format::fixed, .precision: 5, .correct: "524287.96875"},
1153 {.value: 0x1.fffffep+19f, .fmt: chars_format::fixed, .precision: 4, .correct: "1048575.9375"},
1154 {.value: 0x1.fffffep+20f, .fmt: chars_format::fixed, .precision: 3, .correct: "2097151.875"},
1155 {.value: 0x1.fffffep+21f, .fmt: chars_format::fixed, .precision: 2, .correct: "4194303.75"},
1156 {.value: 0x1.fffffep+22f, .fmt: chars_format::fixed, .precision: 1, .correct: "8388607.5"},
1157 {.value: 0x1.fffffep+23f, .fmt: chars_format::fixed, .precision: 0, .correct: "16777215"},
1158 {.value: 0x1.fffffep+24f, .fmt: chars_format::fixed, .precision: 0, .correct: "33554430"},
1159 {.value: 0x1.fffffep+25f, .fmt: chars_format::fixed, .precision: 0, .correct: "67108860"},
1160 {.value: 0x1.fffffep+26f, .fmt: chars_format::fixed, .precision: 0, .correct: "134217720"},
1161 {.value: 0x1.fffffep+27f, .fmt: chars_format::fixed, .precision: 0, .correct: "268435440"},
1162 {.value: 0x1.fffffep+28f, .fmt: chars_format::fixed, .precision: 0, .correct: "536870880"},
1163 {.value: 0x1.fffffep+29f, .fmt: chars_format::fixed, .precision: 0, .correct: "1073741760"},
1164 {.value: 0x1.fffffep+30f, .fmt: chars_format::fixed, .precision: 0, .correct: "2147483520"},
1165 {.value: 0x1.fffffep+31f, .fmt: chars_format::fixed, .precision: 0, .correct: "4294967040"},
1166 {.value: 0x1.fffffep+32f, .fmt: chars_format::fixed, .precision: 0, .correct: "8589934080"},
1167 {.value: 0x1.fffffep+33f, .fmt: chars_format::fixed, .precision: 0, .correct: "17179868160"},
1168 {.value: 0x1.fffffep+34f, .fmt: chars_format::fixed, .precision: 0, .correct: "34359736320"},
1169 {.value: 0x1.fffffep+35f, .fmt: chars_format::fixed, .precision: 0, .correct: "68719472640"},
1170 {.value: 0x1.fffffep+36f, .fmt: chars_format::fixed, .precision: 0, .correct: "137438945280"},
1171 {.value: 0x1.fffffep+37f, .fmt: chars_format::fixed, .precision: 0, .correct: "274877890560"},
1172 {.value: 0x1.fffffep+38f, .fmt: chars_format::fixed, .precision: 0, .correct: "549755781120"},
1173 {.value: 0x1.fffffep+39f, .fmt: chars_format::fixed, .precision: 0, .correct: "1099511562240"},
1174 {.value: 0x1.fffffep+40f, .fmt: chars_format::fixed, .precision: 0, .correct: "2199023124480"},
1175 {.value: 0x1.fffffep+41f, .fmt: chars_format::fixed, .precision: 0, .correct: "4398046248960"},
1176 {.value: 0x1.fffffep+42f, .fmt: chars_format::fixed, .precision: 0, .correct: "8796092497920"},
1177 {.value: 0x1.fffffep+43f, .fmt: chars_format::fixed, .precision: 0, .correct: "17592184995840"},
1178 {.value: 0x1.fffffep+44f, .fmt: chars_format::fixed, .precision: 0, .correct: "35184369991680"},
1179 {.value: 0x1.fffffep+45f, .fmt: chars_format::fixed, .precision: 0, .correct: "70368739983360"},
1180 {.value: 0x1.fffffep+46f, .fmt: chars_format::fixed, .precision: 0, .correct: "140737479966720"},
1181 {.value: 0x1.fffffep+47f, .fmt: chars_format::fixed, .precision: 0, .correct: "281474959933440"},
1182 {.value: 0x1.fffffep+48f, .fmt: chars_format::fixed, .precision: 0, .correct: "562949919866880"},
1183 {.value: 0x1.fffffep+49f, .fmt: chars_format::fixed, .precision: 0, .correct: "1125899839733760"},
1184 {.value: 0x1.fffffep+50f, .fmt: chars_format::fixed, .precision: 0, .correct: "2251799679467520"},
1185 {.value: 0x1.fffffep+51f, .fmt: chars_format::fixed, .precision: 0, .correct: "4503599358935040"},
1186 {.value: 0x1.fffffep+52f, .fmt: chars_format::fixed, .precision: 0, .correct: "9007198717870080"},
1187 {.value: 0x1.fffffep+53f, .fmt: chars_format::fixed, .precision: 0, .correct: "18014397435740160"},
1188 {.value: 0x1.fffffep+54f, .fmt: chars_format::fixed, .precision: 0, .correct: "36028794871480320"},
1189 {.value: 0x1.fffffep+55f, .fmt: chars_format::fixed, .precision: 0, .correct: "72057589742960640"},
1190 {.value: 0x1.fffffep+56f, .fmt: chars_format::fixed, .precision: 0, .correct: "144115179485921280"},
1191 {.value: 0x1.fffffep+57f, .fmt: chars_format::fixed, .precision: 0, .correct: "288230358971842560"},
1192 {.value: 0x1.fffffep+58f, .fmt: chars_format::fixed, .precision: 0, .correct: "576460717943685120"},
1193 {.value: 0x1.fffffep+59f, .fmt: chars_format::fixed, .precision: 0, .correct: "1152921435887370240"},
1194 {.value: 0x1.fffffep+60f, .fmt: chars_format::fixed, .precision: 0, .correct: "2305842871774740480"},
1195 {.value: 0x1.fffffep+61f, .fmt: chars_format::fixed, .precision: 0, .correct: "4611685743549480960"},
1196 {.value: 0x1.fffffep+62f, .fmt: chars_format::fixed, .precision: 0, .correct: "9223371487098961920"},
1197 {.value: 0x1.fffffep+63f, .fmt: chars_format::fixed, .precision: 0, .correct: "18446742974197923840"},
1198 {.value: 0x1.fffffep+64f, .fmt: chars_format::fixed, .precision: 0, .correct: "36893485948395847680"},
1199 {.value: 0x1.fffffep+65f, .fmt: chars_format::fixed, .precision: 0, .correct: "73786971896791695360"},
1200 {.value: 0x1.fffffep+66f, .fmt: chars_format::fixed, .precision: 0, .correct: "147573943793583390720"},
1201 {.value: 0x1.fffffep+67f, .fmt: chars_format::fixed, .precision: 0, .correct: "295147887587166781440"},
1202 {.value: 0x1.fffffep+68f, .fmt: chars_format::fixed, .precision: 0, .correct: "590295775174333562880"},
1203 {.value: 0x1.fffffep+69f, .fmt: chars_format::fixed, .precision: 0, .correct: "1180591550348667125760"},
1204 {.value: 0x1.fffffep+70f, .fmt: chars_format::fixed, .precision: 0, .correct: "2361183100697334251520"},
1205 {.value: 0x1.fffffep+71f, .fmt: chars_format::fixed, .precision: 0, .correct: "4722366201394668503040"},
1206 {.value: 0x1.fffffep+72f, .fmt: chars_format::fixed, .precision: 0, .correct: "9444732402789337006080"},
1207 {.value: 0x1.fffffep+73f, .fmt: chars_format::fixed, .precision: 0, .correct: "18889464805578674012160"},
1208 {.value: 0x1.fffffep+74f, .fmt: chars_format::fixed, .precision: 0, .correct: "37778929611157348024320"},
1209 {.value: 0x1.fffffep+75f, .fmt: chars_format::fixed, .precision: 0, .correct: "75557859222314696048640"},
1210 {.value: 0x1.fffffep+76f, .fmt: chars_format::fixed, .precision: 0, .correct: "151115718444629392097280"},
1211 {.value: 0x1.fffffep+77f, .fmt: chars_format::fixed, .precision: 0, .correct: "302231436889258784194560"},
1212 {.value: 0x1.fffffep+78f, .fmt: chars_format::fixed, .precision: 0, .correct: "604462873778517568389120"},
1213 {.value: 0x1.fffffep+79f, .fmt: chars_format::fixed, .precision: 0, .correct: "1208925747557035136778240"},
1214 {.value: 0x1.fffffep+80f, .fmt: chars_format::fixed, .precision: 0, .correct: "2417851495114070273556480"},
1215 {.value: 0x1.fffffep+81f, .fmt: chars_format::fixed, .precision: 0, .correct: "4835702990228140547112960"},
1216 {.value: 0x1.fffffep+82f, .fmt: chars_format::fixed, .precision: 0, .correct: "9671405980456281094225920"},
1217 {.value: 0x1.fffffep+83f, .fmt: chars_format::fixed, .precision: 0, .correct: "19342811960912562188451840"},
1218 {.value: 0x1.fffffep+84f, .fmt: chars_format::fixed, .precision: 0, .correct: "38685623921825124376903680"},
1219 {.value: 0x1.fffffep+85f, .fmt: chars_format::fixed, .precision: 0, .correct: "77371247843650248753807360"},
1220 {.value: 0x1.fffffep+86f, .fmt: chars_format::fixed, .precision: 0, .correct: "154742495687300497507614720"},
1221 {.value: 0x1.fffffep+87f, .fmt: chars_format::fixed, .precision: 0, .correct: "309484991374600995015229440"},
1222 {.value: 0x1.fffffep+88f, .fmt: chars_format::fixed, .precision: 0, .correct: "618969982749201990030458880"},
1223 {.value: 0x1.fffffep+89f, .fmt: chars_format::fixed, .precision: 0, .correct: "1237939965498403980060917760"},
1224 {.value: 0x1.fffffep+90f, .fmt: chars_format::fixed, .precision: 0, .correct: "2475879930996807960121835520"},
1225 {.value: 0x1.fffffep+91f, .fmt: chars_format::fixed, .precision: 0, .correct: "4951759861993615920243671040"},
1226 {.value: 0x1.fffffep+92f, .fmt: chars_format::fixed, .precision: 0, .correct: "9903519723987231840487342080"},
1227 {.value: 0x1.fffffep+93f, .fmt: chars_format::fixed, .precision: 0, .correct: "19807039447974463680974684160"},
1228 {.value: 0x1.fffffep+94f, .fmt: chars_format::fixed, .precision: 0, .correct: "39614078895948927361949368320"},
1229 {.value: 0x1.fffffep+95f, .fmt: chars_format::fixed, .precision: 0, .correct: "79228157791897854723898736640"},
1230 {.value: 0x1.fffffep+96f, .fmt: chars_format::fixed, .precision: 0, .correct: "158456315583795709447797473280"},
1231 {.value: 0x1.fffffep+97f, .fmt: chars_format::fixed, .precision: 0, .correct: "316912631167591418895594946560"},
1232 {.value: 0x1.fffffep+98f, .fmt: chars_format::fixed, .precision: 0, .correct: "633825262335182837791189893120"},
1233 {.value: 0x1.fffffep+99f, .fmt: chars_format::fixed, .precision: 0, .correct: "1267650524670365675582379786240"},
1234 {.value: 0x1.fffffep+100f, .fmt: chars_format::fixed, .precision: 0, .correct: "2535301049340731351164759572480"},
1235 {.value: 0x1.fffffep+101f, .fmt: chars_format::fixed, .precision: 0, .correct: "5070602098681462702329519144960"},
1236 {.value: 0x1.fffffep+102f, .fmt: chars_format::fixed, .precision: 0, .correct: "10141204197362925404659038289920"},
1237 {.value: 0x1.fffffep+103f, .fmt: chars_format::fixed, .precision: 0, .correct: "20282408394725850809318076579840"},
1238 {.value: 0x1.fffffep+104f, .fmt: chars_format::fixed, .precision: 0, .correct: "40564816789451701618636153159680"},
1239 {.value: 0x1.fffffep+105f, .fmt: chars_format::fixed, .precision: 0, .correct: "81129633578903403237272306319360"},
1240 {.value: 0x1.fffffep+106f, .fmt: chars_format::fixed, .precision: 0, .correct: "162259267157806806474544612638720"},
1241 {.value: 0x1.fffffep+107f, .fmt: chars_format::fixed, .precision: 0, .correct: "324518534315613612949089225277440"},
1242 {.value: 0x1.fffffep+108f, .fmt: chars_format::fixed, .precision: 0, .correct: "649037068631227225898178450554880"},
1243 {.value: 0x1.fffffep+109f, .fmt: chars_format::fixed, .precision: 0, .correct: "1298074137262454451796356901109760"},
1244 {.value: 0x1.fffffep+110f, .fmt: chars_format::fixed, .precision: 0, .correct: "2596148274524908903592713802219520"},
1245 {.value: 0x1.fffffep+111f, .fmt: chars_format::fixed, .precision: 0, .correct: "5192296549049817807185427604439040"},
1246 {.value: 0x1.fffffep+112f, .fmt: chars_format::fixed, .precision: 0, .correct: "10384593098099635614370855208878080"},
1247 {.value: 0x1.fffffep+113f, .fmt: chars_format::fixed, .precision: 0, .correct: "20769186196199271228741710417756160"},
1248 {.value: 0x1.fffffep+114f, .fmt: chars_format::fixed, .precision: 0, .correct: "41538372392398542457483420835512320"},
1249 {.value: 0x1.fffffep+115f, .fmt: chars_format::fixed, .precision: 0, .correct: "83076744784797084914966841671024640"},
1250 {.value: 0x1.fffffep+116f, .fmt: chars_format::fixed, .precision: 0, .correct: "166153489569594169829933683342049280"},
1251 {.value: 0x1.fffffep+117f, .fmt: chars_format::fixed, .precision: 0, .correct: "332306979139188339659867366684098560"},
1252 {.value: 0x1.fffffep+118f, .fmt: chars_format::fixed, .precision: 0, .correct: "664613958278376679319734733368197120"},
1253 {.value: 0x1.fffffep+119f, .fmt: chars_format::fixed, .precision: 0, .correct: "1329227916556753358639469466736394240"},
1254 {.value: 0x1.fffffep+120f, .fmt: chars_format::fixed, .precision: 0, .correct: "2658455833113506717278938933472788480"},
1255 {.value: 0x1.fffffep+121f, .fmt: chars_format::fixed, .precision: 0, .correct: "5316911666227013434557877866945576960"},
1256 {.value: 0x1.fffffep+122f, .fmt: chars_format::fixed, .precision: 0, .correct: "10633823332454026869115755733891153920"},
1257 {.value: 0x1.fffffep+123f, .fmt: chars_format::fixed, .precision: 0, .correct: "21267646664908053738231511467782307840"},
1258 {.value: 0x1.fffffep+124f, .fmt: chars_format::fixed, .precision: 0, .correct: "42535293329816107476463022935564615680"},
1259 {.value: 0x1.fffffep+125f, .fmt: chars_format::fixed, .precision: 0, .correct: "85070586659632214952926045871129231360"},
1260 {.value: 0x1.fffffep+126f, .fmt: chars_format::fixed, .precision: 0, .correct: "170141173319264429905852091742258462720"},
1261 {.value: 0x1.fffffep+127f, .fmt: chars_format::fixed, .precision: 0, .correct: "340282346638528859811704183484516925440"},
1262};
1263
1264#endif // FLOAT_FIXED_PRECISION_TO_CHARS_TEST_CASES_HPP
1265

source code of libcxx/test/std/utilities/charconv/charconv.msvc/float_fixed_precision_to_chars_test_cases.hpp