html-to-markdown 2.24.1 → 2.24.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +9 -6
- data/ext/html-to-markdown-rb/native/Cargo.lock +13 -13
- data/ext/html-to-markdown-rb/native/Cargo.toml +1 -1
- data/lib/html_to_markdown/version.rb +1 -1
- data/rust-vendor/bytemuck/.cargo-checksum.json +1 -1
- data/rust-vendor/bytemuck/.cargo_vcs_info.json +1 -1
- data/rust-vendor/bytemuck/.github/workflows/rust.yml +4 -4
- data/rust-vendor/bytemuck/Cargo.lock +16 -9
- data/rust-vendor/bytemuck/Cargo.toml +6 -2
- data/rust-vendor/bytemuck/Cargo.toml.orig +7 -6
- data/rust-vendor/bytemuck/changelog.md +5 -0
- data/rust-vendor/bytemuck/src/must.rs +1 -1
- data/rust-vendor/bytemuck/src/pod.rs +13 -0
- data/rust-vendor/bytemuck/src/zeroable.rs +13 -0
- data/rust-vendor/bytemuck/src/zeroable_in_option.rs +2 -2
- data/rust-vendor/bytemuck/tests/std_tests.rs +1 -1
- data/rust-vendor/cc/.cargo-checksum.json +1 -1
- data/rust-vendor/cc/.cargo_vcs_info.json +1 -1
- data/rust-vendor/cc/CHANGELOG.md +8 -0
- data/rust-vendor/cc/Cargo.lock +3 -3
- data/rust-vendor/cc/Cargo.toml +2 -2
- data/rust-vendor/cc/Cargo.toml.orig +2 -2
- data/rust-vendor/cc/src/lib.rs +1 -0
- data/rust-vendor/cc/src/target/generated.rs +10 -0
- data/rust-vendor/find-msvc-tools/.cargo-checksum.json +1 -1
- data/rust-vendor/find-msvc-tools/.cargo_vcs_info.json +1 -1
- data/rust-vendor/find-msvc-tools/CHANGELOG.md +6 -0
- data/rust-vendor/find-msvc-tools/Cargo.lock +1 -1
- data/rust-vendor/find-msvc-tools/Cargo.toml +1 -1
- data/rust-vendor/find-msvc-tools/Cargo.toml.orig +1 -1
- data/rust-vendor/find-msvc-tools/src/find_tools.rs +55 -20
- data/rust-vendor/html-to-markdown-rs/src/converter/handlers/link.rs +1 -9
- data/rust-vendor/html-to-markdown-rs/src/converter/inline/link.rs +2 -11
- data/rust-vendor/html-to-markdown-rs/src/converter/list/definition.rs +30 -7
- data/rust-vendor/html-to-markdown-rs/src/converter/semantic/definition_list.rs +30 -7
- data/rust-vendor/html-to-markdown-rs/tests/issue_199_regressions.rs +15 -0
- data/rust-vendor/html-to-markdown-rs/tests/issue_200_regressions.rs +36 -0
- data/rust-vendor/zerocopy/.cargo-checksum.json +1 -1
- data/rust-vendor/zerocopy/.cargo_vcs_info.json +2 -1
- data/rust-vendor/zerocopy/Cargo.lock +3 -3
- data/rust-vendor/zerocopy/Cargo.toml +4 -4
- data/rust-vendor/zerocopy/Cargo.toml.orig +4 -4
- data/rust-vendor/zerocopy/src/doctests.rs +27 -0
- data/rust-vendor/zerocopy/src/error.rs +30 -0
- data/rust-vendor/zerocopy/src/layout.rs +239 -135
- data/rust-vendor/zerocopy/src/lib.rs +16 -0
- data/rust-vendor/zerocopy/src/macros.rs +255 -125
- data/rust-vendor/zerocopy/src/pointer/mod.rs +1 -1
- data/rust-vendor/zerocopy/src/pointer/ptr.rs +109 -23
- data/rust-vendor/zerocopy/src/util/macro_util.rs +344 -383
- data/rust-vendor/zerocopy/src/util/mod.rs +38 -0
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-const.stderr +8 -0
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-a-reference.stderr +10 -0
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-unsized.stderr +11 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-mutable.stderr +10 -0
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-a-reference.stderr +10 -0
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-dst-not-references.stderr +10 -0
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-unsized.stderr +11 -3
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-dst-not-tryfrombytes.stderr +0 -10
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-dst-mutable.stderr +1 -1
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-dst-not-immutable-tryfrombytes.stderr +0 -10
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-src-not-immutable-intobytes.stderr +1 -11
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-const.stderr +9 -0
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-a-reference.stderr +10 -0
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-unsized.stderr +16 -8
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-mutable.stderr +10 -0
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-a-reference.stderr +10 -0
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-dst-not-references.stderr +10 -0
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-unsized.stderr +16 -8
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-dst-not-tryfrombytes.stderr +38 -38
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-dst-not-immutable-tryfrombytes.stderr +33 -33
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-src-not-immutable-intobytes.stderr +12 -12
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-const.stderr +9 -0
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-a-reference.stderr +10 -0
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-unsized.stderr +16 -8
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-mutable.stderr +10 -0
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-a-reference.stderr +10 -0
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-dst-not-references.stderr +10 -0
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-unsized.stderr +16 -8
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-dst-not-tryfrombytes.stderr +38 -38
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-dst-not-immutable-tryfrombytes.stderr +33 -33
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-src-not-immutable-intobytes.stderr +12 -12
- data/rust-vendor/zerocopy-derive/.cargo-checksum.json +1 -1
- data/rust-vendor/zerocopy-derive/.cargo_vcs_info.json +1 -1
- data/rust-vendor/zerocopy-derive/Cargo.lock +1 -1
- data/rust-vendor/zerocopy-derive/Cargo.toml +1 -1
- data/rust-vendor/zerocopy-derive/Cargo.toml.orig +1 -1
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/enum.stderr +3 -3
- data/rust-vendor/zerocopy-derive/tests/ui-nightly/struct.stderr +5 -5
- data/rust-vendor/zerocopy-derive/tests/ui-stable/enum.stderr +3 -3
- data/rust-vendor/zerocopy-derive/tests/ui-stable/struct.stderr +5 -5
- data/rust-vendor/zmij/.cargo-checksum.json +1 -1
- data/rust-vendor/zmij/.cargo_vcs_info.json +1 -1
- data/rust-vendor/zmij/Cargo.lock +16 -16
- data/rust-vendor/zmij/Cargo.toml +1 -1
- data/rust-vendor/zmij/Cargo.toml.orig +1 -1
- data/rust-vendor/zmij/README.md +1 -1
- data/rust-vendor/zmij/src/lib.rs +54 -93
- metadata +4 -50
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-unsized.rs +0 -15
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-unsized.stderr +0 -8
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-unsized.rs +0 -15
- data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-unsized.stderr +0 -8
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-alignment-increase.rs +0 -19
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-alignment-increase.stderr +0 -9
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-size-decrease.rs +0 -19
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-size-decrease.stderr +0 -9
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-size-increase.rs +0 -19
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-size-increase.stderr +0 -17
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-alignment-increase.rs +0 -18
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-alignment-increase.stderr +0 -9
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-size-decrease.rs +0 -18
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-size-decrease.stderr +0 -9
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-size-increase.rs +0 -18
- data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-size-increase.stderr +0 -9
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-unsized.rs +0 -15
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-unsized.stderr +0 -16
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-unsized.rs +0 -15
- data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-unsized.stderr +0 -16
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-alignment-increase.rs +0 -19
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-alignment-increase.stderr +0 -9
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-size-decrease.rs +0 -19
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-size-decrease.stderr +0 -9
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-size-increase.rs +0 -19
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-size-increase.stderr +0 -17
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-alignment-increase.rs +0 -18
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-alignment-increase.stderr +0 -9
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-size-decrease.rs +0 -18
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-size-decrease.stderr +0 -9
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-size-increase.rs +0 -18
- data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-size-increase.stderr +0 -9
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-unsized.rs +0 -15
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-unsized.stderr +0 -16
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-unsized.rs +0 -15
- data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-unsized.stderr +0 -16
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-alignment-increase.rs +0 -19
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-alignment-increase.stderr +0 -9
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-size-decrease.rs +0 -19
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-size-decrease.stderr +0 -9
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-size-increase.rs +0 -19
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-size-increase.stderr +0 -17
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-alignment-increase.rs +0 -18
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-alignment-increase.stderr +0 -9
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-size-decrease.rs +0 -18
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-size-decrease.stderr +0 -9
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-size-increase.rs +0 -18
- data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-size-increase.stderr +0 -9
|
@@ -439,7 +439,7 @@ help: the trait `PaddingFree<IntoBytes1, 1>` is not implemented for `()`
|
|
|
439
439
|
but trait `PaddingFree<IntoBytes1, 0>` is implemented for it
|
|
440
440
|
--> $WORKSPACE/src/util/macro_util.rs
|
|
441
441
|
|
|
|
442
|
-
|
|
442
|
+
62 | impl<T: ?Sized> PaddingFree<T, 0> for () {}
|
|
443
443
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
444
444
|
= help: see issue #48214
|
|
445
445
|
= note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
@@ -457,7 +457,7 @@ help: the trait `PaddingFree<IntoBytes2, 3>` is not implemented for `()`
|
|
|
457
457
|
but trait `PaddingFree<IntoBytes2, 0>` is implemented for it
|
|
458
458
|
--> $WORKSPACE/src/util/macro_util.rs
|
|
459
459
|
|
|
|
460
|
-
|
|
460
|
+
62 | impl<T: ?Sized> PaddingFree<T, 0> for () {}
|
|
461
461
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
462
462
|
= help: see issue #48214
|
|
463
463
|
= note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
@@ -475,7 +475,7 @@ help: the trait `PaddingFree<IntoBytes3, 2>` is not implemented for `()`
|
|
|
475
475
|
but trait `PaddingFree<IntoBytes3, 0>` is implemented for it
|
|
476
476
|
--> $WORKSPACE/src/util/macro_util.rs
|
|
477
477
|
|
|
|
478
|
-
|
|
478
|
+
62 | impl<T: ?Sized> PaddingFree<T, 0> for () {}
|
|
479
479
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
480
480
|
= help: see issue #48214
|
|
481
481
|
= note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
@@ -293,7 +293,7 @@ help: the trait `PaddingFree<IntoBytes2, 1>` is not implemented for `()`
|
|
|
293
293
|
but trait `PaddingFree<IntoBytes2, 0>` is implemented for it
|
|
294
294
|
--> $WORKSPACE/src/util/macro_util.rs
|
|
295
295
|
|
|
|
296
|
-
|
|
296
|
+
62 | impl<T: ?Sized> PaddingFree<T, 0> for () {}
|
|
297
297
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
298
298
|
= help: see issue #48214
|
|
299
299
|
= note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
@@ -311,7 +311,7 @@ help: the trait `PaddingFree<IntoBytes3, 1>` is not implemented for `()`
|
|
|
311
311
|
but trait `PaddingFree<IntoBytes3, 0>` is implemented for it
|
|
312
312
|
--> $WORKSPACE/src/util/macro_util.rs
|
|
313
313
|
|
|
|
314
|
-
|
|
314
|
+
62 | impl<T: ?Sized> PaddingFree<T, 0> for () {}
|
|
315
315
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
316
316
|
= help: see issue #48214
|
|
317
317
|
= note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
@@ -365,7 +365,7 @@ help: the trait `DynamicPaddingFree<IntoBytes5, true>` is not implemented for `(
|
|
|
365
365
|
but trait `DynamicPaddingFree<IntoBytes5, false>` is implemented for it
|
|
366
366
|
--> $WORKSPACE/src/util/macro_util.rs
|
|
367
367
|
|
|
|
368
|
-
|
|
368
|
+
80 | impl<T: ?Sized> DynamicPaddingFree<T, false> for () {}
|
|
369
369
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
370
370
|
= help: see issue #48214
|
|
371
371
|
= note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
@@ -383,7 +383,7 @@ help: the trait `DynamicPaddingFree<IntoBytes6, true>` is not implemented for `(
|
|
|
383
383
|
but trait `DynamicPaddingFree<IntoBytes6, false>` is implemented for it
|
|
384
384
|
--> $WORKSPACE/src/util/macro_util.rs
|
|
385
385
|
|
|
|
386
|
-
|
|
386
|
+
80 | impl<T: ?Sized> DynamicPaddingFree<T, false> for () {}
|
|
387
387
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
388
388
|
= help: see issue #48214
|
|
389
389
|
= note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
@@ -401,7 +401,7 @@ help: the trait `DynamicPaddingFree<IntoBytes7, true>` is not implemented for `(
|
|
|
401
401
|
but trait `DynamicPaddingFree<IntoBytes7, false>` is implemented for it
|
|
402
402
|
--> $WORKSPACE/src/util/macro_util.rs
|
|
403
403
|
|
|
|
404
|
-
|
|
404
|
+
80 | impl<T: ?Sized> DynamicPaddingFree<T, false> for () {}
|
|
405
405
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
406
406
|
= help: see issue #48214
|
|
407
407
|
= note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"files":{".cargo_vcs_info.json":"
|
|
1
|
+
{"files":{".cargo_vcs_info.json":"fc4cfe0823e2b7f29e3cbf71460386760fe0e52e23fd2d654b588bd60b29a99d",".github/workflows/ci.yml":"c6a8fe8d53e0556a4ebaefae94a0b2ffa74288e1652093667b135ed37f4374f2","Cargo.lock":"d4964a22db25c234c84332212016fdab413d4c8cabde24bcd5d57f8f4b6da042","Cargo.toml":"206bff1b72ce6a6d5123d53a6a4930ec103a634efd03deec287f437fc0c54e44","Cargo.toml.orig":"a65a097cbb8779590a2243773290f7dddb2bcaa904255485428dd4c1be39272f","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"cb4094e229373958e8de8b88048f7f09ce41b403b14543469354ba4049075eda","benches/bench.rs":"28d23a29046c4d50c73a19fd81ad80cc97e474af6d8c30f81dcc8c9621065cca","build.rs":"13201b550236a9ff2186b5303c77341d3b0874989fdaf39613a7452e4ce57817","src/hint.rs":"7e03e3c031b7c20127517b794a4b641b3efb6ccd4c7b1aae1b7b6f28b9968052","src/lib.rs":"15a8f3dda4a51320e1da93a052f015b2a9cc720306d3967dce854feab44f96de","src/stdarch_x86.rs":"b19b4c54f0c08c92f96d18c152f796d85cc17f9e6195f3e7d5612f05f28836fb","src/tests.rs":"04ba0d4a2b0e46e0c4f294af3bc1a1c938e72b7f9d0435b2eac0848ce5d4866a","src/traits.rs":"d289ade8d66f03096349f1cf2d4e68fad792e7b089bc956410cf700d9aad67e1","tests/exhaustive.rs":"3d5c1036dcb391bfd038fcb9feb03380b467a184ed9e0463d52f35b521684029","tests/ryu_comparison.rs":"5874eaff05486484029b333a8e7104db62b2706c8e64aecd69d8ccffad0880c3","tests/test.rs":"0f5efa4354a932d767ed561ddee411a10dd71faafa202372f3c00d81b88d1381"},"package":"1966f8ac2c1f76987d69a74d0e0f929241c10e78136434e3be70ff7f58f64214"}
|
data/rust-vendor/zmij/Cargo.lock
CHANGED
|
@@ -46,9 +46,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
|
|
|
46
46
|
|
|
47
47
|
[[package]]
|
|
48
48
|
name = "cc"
|
|
49
|
-
version = "1.2.
|
|
49
|
+
version = "1.2.55"
|
|
50
50
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
51
|
-
checksum = "
|
|
51
|
+
checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29"
|
|
52
52
|
dependencies = [
|
|
53
53
|
"find-msvc-tools",
|
|
54
54
|
"shlex",
|
|
@@ -89,18 +89,18 @@ dependencies = [
|
|
|
89
89
|
|
|
90
90
|
[[package]]
|
|
91
91
|
name = "clap"
|
|
92
|
-
version = "4.5.
|
|
92
|
+
version = "4.5.56"
|
|
93
93
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
94
|
-
checksum = "
|
|
94
|
+
checksum = "a75ca66430e33a14957acc24c5077b503e7d374151b2b4b3a10c83b4ceb4be0e"
|
|
95
95
|
dependencies = [
|
|
96
96
|
"clap_builder",
|
|
97
97
|
]
|
|
98
98
|
|
|
99
99
|
[[package]]
|
|
100
100
|
name = "clap_builder"
|
|
101
|
-
version = "4.5.
|
|
101
|
+
version = "4.5.56"
|
|
102
102
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
103
|
-
checksum = "
|
|
103
|
+
checksum = "793207c7fa6300a0608d1080b858e5fdbe713cdc1c8db9fb17777d8a13e63df0"
|
|
104
104
|
dependencies = [
|
|
105
105
|
"anstyle",
|
|
106
106
|
"clap_lex",
|
|
@@ -159,9 +159,9 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
|
|
|
159
159
|
|
|
160
160
|
[[package]]
|
|
161
161
|
name = "find-msvc-tools"
|
|
162
|
-
version = "0.1.
|
|
162
|
+
version = "0.1.9"
|
|
163
163
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
164
|
-
checksum = "
|
|
164
|
+
checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
|
|
165
165
|
|
|
166
166
|
[[package]]
|
|
167
167
|
name = "getrandom"
|
|
@@ -436,7 +436,7 @@ dependencies = [
|
|
|
436
436
|
"memchr",
|
|
437
437
|
"serde",
|
|
438
438
|
"serde_core",
|
|
439
|
-
"zmij 1.0.
|
|
439
|
+
"zmij 1.0.17",
|
|
440
440
|
]
|
|
441
441
|
|
|
442
442
|
[[package]]
|
|
@@ -545,18 +545,18 @@ checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
|
|
|
545
545
|
|
|
546
546
|
[[package]]
|
|
547
547
|
name = "zerocopy"
|
|
548
|
-
version = "0.8.
|
|
548
|
+
version = "0.8.37"
|
|
549
549
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
550
|
-
checksum = "
|
|
550
|
+
checksum = "7456cf00f0685ad319c5b1693f291a650eaf345e941d082fc4e03df8a03996ac"
|
|
551
551
|
dependencies = [
|
|
552
552
|
"zerocopy-derive",
|
|
553
553
|
]
|
|
554
554
|
|
|
555
555
|
[[package]]
|
|
556
556
|
name = "zerocopy-derive"
|
|
557
|
-
version = "0.8.
|
|
557
|
+
version = "0.8.37"
|
|
558
558
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
559
|
-
checksum = "
|
|
559
|
+
checksum = "1328722bbf2115db7e19d69ebcc15e795719e2d66b60827c6a69a117365e37a0"
|
|
560
560
|
dependencies = [
|
|
561
561
|
"proc-macro2",
|
|
562
562
|
"quote",
|
|
@@ -565,13 +565,13 @@ dependencies = [
|
|
|
565
565
|
|
|
566
566
|
[[package]]
|
|
567
567
|
name = "zmij"
|
|
568
|
-
version = "1.0.
|
|
568
|
+
version = "1.0.17"
|
|
569
569
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
570
|
-
checksum = "
|
|
570
|
+
checksum = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439"
|
|
571
571
|
|
|
572
572
|
[[package]]
|
|
573
573
|
name = "zmij"
|
|
574
|
-
version = "1.0.
|
|
574
|
+
version = "1.0.18"
|
|
575
575
|
dependencies = [
|
|
576
576
|
"criterion",
|
|
577
577
|
"no-panic",
|
data/rust-vendor/zmij/Cargo.toml
CHANGED
data/rust-vendor/zmij/README.md
CHANGED
|
@@ -11,7 +11,7 @@ numbers to decimal strings.
|
|
|
11
11
|
This Rust implementation is a line-by-line port of Victor Zverovich's
|
|
12
12
|
implementation in C++, [https://github.com/vitaut/zmij][upstream].
|
|
13
13
|
|
|
14
|
-
[upstream]: https://github.com/vitaut/zmij/tree/
|
|
14
|
+
[upstream]: https://github.com/vitaut/zmij/tree/fb4fafadd8ad318df51ee00140699062db8d5b3e
|
|
15
15
|
|
|
16
16
|
## Example
|
|
17
17
|
|
data/rust-vendor/zmij/src/lib.rs
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
//! 
|
|
42
42
|
|
|
43
43
|
#![no_std]
|
|
44
|
-
#![doc(html_root_url = "https://docs.rs/zmij/1.0.
|
|
44
|
+
#![doc(html_root_url = "https://docs.rs/zmij/1.0.18")]
|
|
45
45
|
#![deny(unsafe_op_in_unsafe_fn)]
|
|
46
46
|
#![allow(non_camel_case_types, non_snake_case)]
|
|
47
47
|
#![allow(
|
|
@@ -305,6 +305,7 @@ const fn compute_dec_exp(bin_exp: i32, regular: bool) -> i32 {
|
|
|
305
305
|
(bin_exp * LOG10_2_SIG - !regular as i32 * LOG10_3_OVER_4_SIG) >> LOG10_2_EXP
|
|
306
306
|
}
|
|
307
307
|
|
|
308
|
+
#[inline]
|
|
308
309
|
const fn do_compute_exp_shift(bin_exp: i32, dec_exp: i32) -> u8 {
|
|
309
310
|
debug_assert!(dec_exp >= -350 && dec_exp <= 350);
|
|
310
311
|
// log2_pow10_sig = round(log2(10) * 2**log2_pow10_exp) + 1
|
|
@@ -359,6 +360,7 @@ static EXP_SHIFTS: ExpShiftTable = {
|
|
|
359
360
|
// 10^dec_exp puts the decimal point in different bit positions:
|
|
360
361
|
// 3 * 2**59 / 100 = 1.72...e+16 (needs shift = 1 + 1)
|
|
361
362
|
// 3 * 2**60 / 100 = 3.45...e+16 (needs shift = 2 + 1)
|
|
363
|
+
#[inline]
|
|
362
364
|
unsafe fn compute_exp_shift<UInt, const ONLY_REGULAR: bool>(bin_exp: i32, dec_exp: i32) -> u8
|
|
363
365
|
where
|
|
364
366
|
UInt: traits::UInt,
|
|
@@ -464,29 +466,25 @@ unsafe fn write8(buffer: *mut u8, value: u64) {
|
|
|
464
466
|
}
|
|
465
467
|
}
|
|
466
468
|
|
|
467
|
-
// Writes a significand
|
|
468
|
-
// and
|
|
469
|
+
// Writes a significand and removes trailing zeros. value has up to 17 decimal
|
|
470
|
+
// digits (16-17 for normals) for double (num_bits == 64) and up to 9 digits
|
|
471
|
+
// (8-9 for normals) for float. The significant digits start from buffer[1].
|
|
472
|
+
// buffer[0] may contain '0' after this function if the leading digit is zero.
|
|
469
473
|
#[cfg_attr(feature = "no-panic", no_panic)]
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
474
|
+
#[inline]
|
|
475
|
+
unsafe fn write_significand<Float>(mut buffer: *mut u8, value: u64, extra_digit: bool) -> *mut u8
|
|
476
|
+
where
|
|
477
|
+
Float: FloatTraits,
|
|
478
|
+
{
|
|
479
|
+
if Float::NUM_BITS == 32 {
|
|
480
|
+
buffer = unsafe { write_if(buffer, (value / 100_000_000) as u32, extra_digit) };
|
|
481
|
+
let bcd = to_bcd8(value % 100_000_000);
|
|
482
|
+
unsafe {
|
|
483
|
+
write8(buffer, bcd + ZEROS);
|
|
484
|
+
return buffer.add(count_trailing_nonzeros(bcd));
|
|
485
|
+
}
|
|
476
486
|
}
|
|
477
|
-
}
|
|
478
487
|
|
|
479
|
-
// Writes a significand consisting of up to 17 decimal digits (16-17 for
|
|
480
|
-
// normals) and removes trailing zeros. The significant digits start from
|
|
481
|
-
// buffer[1]. buffer[0] may contain '0' after this function if the significand
|
|
482
|
-
// has length 16.
|
|
483
|
-
#[cfg_attr(feature = "no-panic", no_panic)]
|
|
484
|
-
unsafe fn write_significand17(
|
|
485
|
-
mut buffer: *mut u8,
|
|
486
|
-
value: u64,
|
|
487
|
-
has17digits: bool,
|
|
488
|
-
#[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))] value_div10: i64,
|
|
489
|
-
) -> *mut u8 {
|
|
490
488
|
#[cfg(not(any(
|
|
491
489
|
all(target_arch = "aarch64", target_feature = "neon", not(miri)),
|
|
492
490
|
all(target_arch = "x86_64", target_feature = "sse2", not(miri)),
|
|
@@ -495,17 +493,17 @@ unsafe fn write_significand17(
|
|
|
495
493
|
// Digits/pairs of digits are denoted by letters: value = abbccddeeffgghhii.
|
|
496
494
|
let abbccddee = (value / 100_000_000) as u32;
|
|
497
495
|
let ffgghhii = (value % 100_000_000) as u32;
|
|
498
|
-
buffer = unsafe { write_if(buffer, abbccddee / 100_000_000,
|
|
496
|
+
buffer = unsafe { write_if(buffer, abbccddee / 100_000_000, extra_digit) };
|
|
499
497
|
let bcd = to_bcd8(u64::from(abbccddee % 100_000_000));
|
|
500
498
|
unsafe {
|
|
501
|
-
write8(buffer, bcd
|
|
499
|
+
write8(buffer, bcd + ZEROS);
|
|
502
500
|
}
|
|
503
501
|
if ffgghhii == 0 {
|
|
504
502
|
return unsafe { buffer.add(count_trailing_nonzeros(bcd)) };
|
|
505
503
|
}
|
|
506
504
|
let bcd = to_bcd8(u64::from(ffgghhii));
|
|
507
505
|
unsafe {
|
|
508
|
-
write8(buffer.add(8), bcd
|
|
506
|
+
write8(buffer.add(8), bcd + ZEROS);
|
|
509
507
|
buffer.add(8).add(count_trailing_nonzeros(bcd))
|
|
510
508
|
}
|
|
511
509
|
}
|
|
@@ -518,14 +516,15 @@ unsafe fn write_significand17(
|
|
|
518
516
|
|
|
519
517
|
const NEG10K: i32 = -10000 + 0x10000;
|
|
520
518
|
|
|
521
|
-
|
|
519
|
+
#[repr(C, align(64))]
|
|
520
|
+
struct Consts {
|
|
522
521
|
mul_const: u64,
|
|
523
522
|
hundred_million: u64,
|
|
524
523
|
multipliers32: int32x4_t,
|
|
525
524
|
multipliers16: int16x8_t,
|
|
526
525
|
}
|
|
527
526
|
|
|
528
|
-
static
|
|
527
|
+
static CONSTS: Consts = Consts {
|
|
529
528
|
mul_const: 0xabcc77118461cefd,
|
|
530
529
|
hundred_million: 100000000,
|
|
531
530
|
multipliers32: unsafe {
|
|
@@ -541,7 +540,7 @@ unsafe fn write_significand17(
|
|
|
541
540
|
},
|
|
542
541
|
};
|
|
543
542
|
|
|
544
|
-
let mut c = ptr::addr_of!(
|
|
543
|
+
let mut c = ptr::addr_of!(CONSTS);
|
|
545
544
|
|
|
546
545
|
// Compiler barrier, or clang doesn't load from memory and generates 15
|
|
547
546
|
// more instructions.
|
|
@@ -566,7 +565,7 @@ unsafe fn write_significand17(
|
|
|
566
565
|
let a = (umul128(abbccddee, c.mul_const) >> 90) as u64;
|
|
567
566
|
let bbccddee = abbccddee - a * hundred_million;
|
|
568
567
|
|
|
569
|
-
buffer = unsafe { write_if(buffer, a as u32,
|
|
568
|
+
buffer = unsafe { write_if(buffer, a as u32, extra_digit) };
|
|
570
569
|
|
|
571
570
|
unsafe {
|
|
572
571
|
let ffgghhii_bbccddee_64: uint64x1_t =
|
|
@@ -630,22 +629,15 @@ unsafe fn write_significand17(
|
|
|
630
629
|
{
|
|
631
630
|
use crate::stdarch_x86::*;
|
|
632
631
|
|
|
633
|
-
let
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
// for the insertion of the decimal point, so we can use the first place
|
|
638
|
-
// as scratch.
|
|
639
|
-
buffer = unsafe { buffer.offset(isize::from(has17digits) - 1) };
|
|
640
|
-
unsafe {
|
|
641
|
-
*buffer.add(16) = last_digit as u8 + b'0';
|
|
642
|
-
}
|
|
632
|
+
let abbccddee = (value / 100_000_000) as u32;
|
|
633
|
+
let ffgghhii = (value % 100_000_000) as u32;
|
|
634
|
+
let a = abbccddee / 100_000_000;
|
|
635
|
+
let bbccddee = abbccddee % 100_000_000;
|
|
643
636
|
|
|
644
|
-
|
|
645
|
-
let ijklmnop = (value_div10 % 100_000_000) as u32;
|
|
637
|
+
buffer = unsafe { write_if(buffer, a, extra_digit) };
|
|
646
638
|
|
|
647
639
|
#[repr(C, align(64))]
|
|
648
|
-
struct
|
|
640
|
+
struct Consts {
|
|
649
641
|
div10k: u128,
|
|
650
642
|
neg10k: u128,
|
|
651
643
|
div100: u128,
|
|
@@ -663,7 +655,7 @@ unsafe fn write_significand17(
|
|
|
663
655
|
zeros: u128,
|
|
664
656
|
}
|
|
665
657
|
|
|
666
|
-
impl
|
|
658
|
+
impl Consts {
|
|
667
659
|
const fn splat64(x: u64) -> u128 {
|
|
668
660
|
((x as u128) << 64) | x as u128
|
|
669
661
|
}
|
|
@@ -689,28 +681,27 @@ unsafe fn write_significand17(
|
|
|
689
681
|
}
|
|
690
682
|
}
|
|
691
683
|
|
|
692
|
-
static CONSTS:
|
|
693
|
-
div10k:
|
|
694
|
-
neg10k:
|
|
695
|
-
div100:
|
|
696
|
-
div10:
|
|
684
|
+
static CONSTS: Consts = Consts {
|
|
685
|
+
div10k: Consts::splat64(DIV10K_SIG as u64),
|
|
686
|
+
neg10k: Consts::splat64(NEG10K as u64),
|
|
687
|
+
div100: Consts::splat32(DIV100_SIG),
|
|
688
|
+
div10: Consts::splat16(((1u32 << 16) / 10 + 1) as u16),
|
|
697
689
|
#[cfg(target_feature = "sse4.1")]
|
|
698
|
-
neg100:
|
|
690
|
+
neg100: Consts::splat32(NEG100),
|
|
699
691
|
#[cfg(target_feature = "sse4.1")]
|
|
700
|
-
neg10:
|
|
692
|
+
neg10: Consts::splat16((1 << 8) - 10),
|
|
701
693
|
#[cfg(target_feature = "sse4.1")]
|
|
702
|
-
bswap:
|
|
703
|
-
| (
|
|
694
|
+
bswap: Consts::pack8(15, 14, 13, 12, 11, 10, 9, 8) as u128
|
|
695
|
+
| (Consts::pack8(7, 6, 5, 4, 3, 2, 1, 0) as u128) << 64,
|
|
704
696
|
#[cfg(not(target_feature = "sse4.1"))]
|
|
705
|
-
hundred:
|
|
697
|
+
hundred: Consts::splat32(100),
|
|
706
698
|
#[cfg(not(target_feature = "sse4.1"))]
|
|
707
|
-
moddiv10:
|
|
708
|
-
zeros:
|
|
699
|
+
moddiv10: Consts::splat16(10 * (1 << 8) - 1),
|
|
700
|
+
zeros: Consts::splat64(ZEROS),
|
|
709
701
|
};
|
|
710
702
|
|
|
711
703
|
let mut c = ptr::addr_of!(CONSTS);
|
|
712
|
-
//
|
|
713
|
-
// are loaded from memory.
|
|
704
|
+
// Load constants from memory.
|
|
714
705
|
unsafe {
|
|
715
706
|
asm!("/*{0}*/", inout(reg) c);
|
|
716
707
|
}
|
|
@@ -731,9 +722,9 @@ unsafe fn write_significand17(
|
|
|
731
722
|
let moddiv10 = unsafe { _mm_load_si128(ptr::addr_of!((*c).moddiv10).cast::<__m128i>()) };
|
|
732
723
|
let zeros = unsafe { _mm_load_si128(ptr::addr_of!((*c).zeros).cast::<__m128i>()) };
|
|
733
724
|
|
|
734
|
-
// The BCD sequences are based on
|
|
725
|
+
// The BCD sequences are based on ones provided by Xiang JunBo.
|
|
735
726
|
unsafe {
|
|
736
|
-
let x: __m128i = _mm_set_epi64x(i64::from(
|
|
727
|
+
let x: __m128i = _mm_set_epi64x(i64::from(bbccddee), i64::from(ffgghhii));
|
|
737
728
|
let y: __m128i = _mm_add_epi64(
|
|
738
729
|
x,
|
|
739
730
|
_mm_mul_epu32(neg10k, _mm_srli_epi64(_mm_mul_epu32(x, div10k), DIV10K_EXP)),
|
|
@@ -769,15 +760,10 @@ unsafe fn write_significand17(
|
|
|
769
760
|
// Count leading zeros.
|
|
770
761
|
let mask128: __m128i = _mm_cmpgt_epi8(bcd, _mm_setzero_si128());
|
|
771
762
|
let mask = _mm_movemask_epi8(mask128) as u32;
|
|
772
|
-
// We don't need a zero-check here: if the mask were zero, either
|
|
773
|
-
// the significand is zero which is handled elsewhere or the only
|
|
774
|
-
// non-zero digit is the last digit which we factored off. But in
|
|
775
|
-
// that case the number would be printed with a different exponent
|
|
776
|
-
// that shifts the last digit into the first position.
|
|
777
763
|
let len = 32 - mask.leading_zeros() as usize;
|
|
778
764
|
|
|
779
765
|
_mm_storeu_si128(buffer.cast::<__m128i>(), digits);
|
|
780
|
-
buffer.add(
|
|
766
|
+
buffer.add(len)
|
|
781
767
|
}
|
|
782
768
|
}
|
|
783
769
|
}
|
|
@@ -785,11 +771,10 @@ unsafe fn write_significand17(
|
|
|
785
771
|
struct ToDecimalResult {
|
|
786
772
|
sig: i64,
|
|
787
773
|
exp: i32,
|
|
788
|
-
#[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
|
|
789
|
-
sig_div10: i64,
|
|
790
774
|
}
|
|
791
775
|
|
|
792
776
|
#[cfg_attr(feature = "no-panic", no_panic)]
|
|
777
|
+
#[inline]
|
|
793
778
|
fn to_decimal_schubfach<UInt>(bin_sig: UInt, bin_exp: i64, regular: bool) -> ToDecimalResult
|
|
794
779
|
where
|
|
795
780
|
UInt: traits::UInt,
|
|
@@ -824,13 +809,10 @@ where
|
|
|
824
809
|
let div10 = (upper >> BOUND_SHIFT) / UInt::from(10);
|
|
825
810
|
let shorter = div10 * UInt::from(10);
|
|
826
811
|
if (shorter << BOUND_SHIFT) >= lower {
|
|
827
|
-
|
|
812
|
+
return ToDecimalResult {
|
|
828
813
|
sig: shorter.into() as i64,
|
|
829
814
|
exp: dec_exp,
|
|
830
|
-
#[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
|
|
831
|
-
sig_div10: div10.into() as i64,
|
|
832
815
|
};
|
|
833
|
-
return result;
|
|
834
816
|
}
|
|
835
817
|
|
|
836
818
|
let scaled_sig = umulhi_inexact_to_odd(pow10.hi, pow10.lo, bin_sig_shifted << exp_shift);
|
|
@@ -853,8 +835,6 @@ where
|
|
|
853
835
|
ToDecimalResult {
|
|
854
836
|
sig: dec_sig.into() as i64,
|
|
855
837
|
exp: dec_exp,
|
|
856
|
-
#[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
|
|
857
|
-
sig_div10: (dec_sig / UInt::from(10)).into() as i64,
|
|
858
838
|
}
|
|
859
839
|
}
|
|
860
840
|
|
|
@@ -862,6 +842,7 @@ where
|
|
|
862
842
|
// Converts a binary FP number bin_sig * 2**bin_exp to the shortest decimal
|
|
863
843
|
// representation, where bin_exp = raw_exp - exp_offset.
|
|
864
844
|
#[cfg_attr(feature = "no-panic", no_panic)]
|
|
845
|
+
#[inline]
|
|
865
846
|
fn to_decimal_fast<Float, UInt>(bin_sig: UInt, raw_exp: i64, regular: bool) -> ToDecimalResult
|
|
866
847
|
where
|
|
867
848
|
Float: FloatTraits,
|
|
@@ -966,8 +947,6 @@ where
|
|
|
966
947
|
return ToDecimalResult {
|
|
967
948
|
sig: hint::select_unpredictable(round_up, shorter + 10, dec_sig),
|
|
968
949
|
exp: dec_exp,
|
|
969
|
-
#[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
|
|
970
|
-
sig_div10: 0,
|
|
971
950
|
};
|
|
972
951
|
}
|
|
973
952
|
shorter += i64::from(round_up) * 10;
|
|
@@ -975,8 +954,6 @@ where
|
|
|
975
954
|
return ToDecimalResult {
|
|
976
955
|
sig: hint::select_unpredictable(use_shorter, shorter, longer),
|
|
977
956
|
exp: dec_exp,
|
|
978
|
-
#[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
|
|
979
|
-
sig_div10: div10 as i64 + i64::from(use_shorter) * i64::from(round_up),
|
|
980
957
|
};
|
|
981
958
|
}
|
|
982
959
|
to_decimal_schubfach(bin_sig, bin_exp, regular)
|
|
@@ -1019,10 +996,6 @@ where
|
|
|
1019
996
|
dec.sig *= 10;
|
|
1020
997
|
dec.exp -= 1;
|
|
1021
998
|
}
|
|
1022
|
-
#[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
|
|
1023
|
-
{
|
|
1024
|
-
dec.sig_div10 = dec.sig / 10;
|
|
1025
|
-
}
|
|
1026
999
|
} else {
|
|
1027
1000
|
dec = to_decimal_fast::<Float, Float::SigType>(
|
|
1028
1001
|
bin_sig | Float::IMPLICIT_BIT,
|
|
@@ -1039,19 +1012,7 @@ where
|
|
|
1039
1012
|
}
|
|
1040
1013
|
|
|
1041
1014
|
// Write significand.
|
|
1042
|
-
let end =
|
|
1043
|
-
unsafe {
|
|
1044
|
-
write_significand17(
|
|
1045
|
-
buffer.add(1),
|
|
1046
|
-
dec.sig as u64,
|
|
1047
|
-
extra_digit,
|
|
1048
|
-
#[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
|
|
1049
|
-
dec.sig_div10,
|
|
1050
|
-
)
|
|
1051
|
-
}
|
|
1052
|
-
} else {
|
|
1053
|
-
unsafe { write_significand9(buffer.add(1), dec.sig as u32, extra_digit) }
|
|
1054
|
-
};
|
|
1015
|
+
let end = unsafe { write_significand::<Float>(buffer.add(1), dec.sig as u64, extra_digit) };
|
|
1055
1016
|
|
|
1056
1017
|
let length = unsafe { end.offset_from(buffer.add(1)) } as usize;
|
|
1057
1018
|
|