schubfach 0.0.1

Schubfach algorithm for floating-point to string conversion
Documentation
  • Coverage
  • 42.11%
    24 out of 57 items documented0 out of 29 items with examples
  • Size
  • Source code size: 164.67 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 4.46 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 9s Average build duration of successful builds.
  • all releases: 9s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • blueglyph/schubfach_rs
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • blueglyph

schubfach

crate documentation crate

Schubfach algorithm

This is a Rust implementation of the Schufbach algorithm that converts IEEE-754 double-precision floating-point values to their string decimal representation.

It is performant and has a relatively small footprint. For performance comparisons, check the Drachennest project or the Dragonbox project.

Status

WARNING! This is very much work-in-progress.

The code is functional but must still be more thoroughly tested and optimized. The API is not considered as definitive yet, not is the code architecture.

Current features:

  • double-precision values (f64) are supported
  • a simple function converts values to a simple string format, either fixed or scientific depending on the value
  • a more complex function offers more choices, like
    • fixed / scientific format selection
    • precision
    • correct rounding to even
    • interface through method or Display trait

Planned features:

  • engineering format

References

The algorithm is described by its author in the following article:

The author made a Java implementation:

The Rust code is mainly a translation from Alexander Bolz's C++ implementation:

  • https://github.com/abolz/Drachennest

    with the following licence:

    Copyright 2020 Alexander Bolz
    
    Distributed under the Boost Software License, Version 1.0.
     (See accompanying file LICENSE_1_0.txt or copy at 
      https://www.boost.org/LICENSE_1_0.txt)
    

Compatibility

The schubfach crate is tested for rustc 1.68 and greater, on Windows 64-bit and Linux 64/32-bit platforms. There shouldn't be any problem with older versions.

License

Licensed under MIT license.