# fashex - fast hexadecimal string formatting
[![Crates.io][crates-badge]][crates-url]
[![Documentation][docs-badge]][docs-url]
[![License][license-badge]][license-url]
[crates-badge]: https://img.shields.io/crates/v/fashex
[crates-url]: https://crates.io/crates/fashex
[docs-badge]: https://docs.rs/fashex/badge.svg
[docs-url]: https://docs.rs/fashex
[license-badge]: https://img.shields.io/crates/l/fashex
[license-url]: https://codeberg.org/Hanyu/fashex/src/branch/main/LICENSE-APACHE
## Features
- Precise public APIs (`encode` or `decode`).
- Best-effort SIMD acceleration.
- APIs that works in const contexts.
- Unlike crates `const-hex`, `faster-hex`, etc., this crate does not require initialization of the output buffer.
## Disclaimer
Although all tests are passing and hours of fuzzing show no failures, latent bugs may still exist in the code.
1. The SIMD-accelerated code paths for `x86` / `x86_64` architecture are well tested and fuzzed.
1. The SIMD-accelerated code paths for `aarch64` architecture are tested and fuzzed.
1. The SIMD-accelerated code paths for `loongarch64` architecture have not been tested or fuzzed on real hardware.
If you find any bugs, please report them.
## Acknowledgements
This crate is highly inspired by the following repositories:
- [`const-hex`](https://github.com/DaniPopes/const-hex), SPDX-License-Identifier: MIT OR Apache-2.0
- [`faster-hex`](https://github.com/nervosnetwork/faster-hex), SPDX-License-Identifier: MIT OR Apache-2.0
- [`hex-simd`](https://github.com/Nugine/simd), SPDX-License-Identifier: MIT
#### License
<sup>
Licensed under either of <a href="LICENSE-APACHE">Apache License, Version
2.0</a> or <a href="LICENSE-MIT">MIT license</a> at your option.
</sup>
<br>
<sub>
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in these crates by you, as defined in the Apache-2.0 license,
shall be dual licensed as above, without any additional terms or conditions.
</sub>