version 0.4.4

This commit is contained in:
Trevor Spiteri 2019-08-24 13:15:28 +02:00
parent 82c7781f0e
commit 50ca556686
4 changed files with 68 additions and 126 deletions

View File

@ -7,7 +7,7 @@
[package]
name = "fixed"
version = "0.4.3"
version = "0.4.4"
authors = ["Trevor Spiteri <tspiteri@ieee.org>"]
description = "Fixed-point numbers"
documentation = "https://docs.rs/fixed"

184
README.md
View File

@ -67,7 +67,7 @@ The conversions supported cover the following cases.
## Whats new
### Version 0.4.4 news (unreleased)
### Version 0.4.4 news (2019-08-24)
* Bug fix: rounding could produce bad output for [`Binary`],
[`Octal`], [`LowerHex`] and [`UpperHex`].
@ -78,12 +78,12 @@ The conversions supported cover the following cases.
* The method [`round_ties_to_even`] and its checked versions were
added.
[`abs`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.abs
[`is_power_of_two`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedU32.html#method.is_power_of_two
[`overflowing_abs`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.overflowing_abs
[`round_ties_to_even`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.round_ties_to_even
[`round_to_zero`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.round_to_zero
[`wrapping_abs`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.wrapping_abs
[`abs`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.abs
[`is_power_of_two`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedU32.html#method.is_power_of_two
[`overflowing_abs`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.overflowing_abs
[`round_ties_to_even`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.round_ties_to_even
[`round_to_zero`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.round_to_zero
[`wrapping_abs`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.wrapping_abs
### Version 0.4.3 news (2019-08-20)
@ -112,93 +112,35 @@ The conversions supported cover the following cases.
* The reexports in the `frac` module and the `LeEqU*` traits were
moved into the new [`types::extra`] module.
[`FRAC_NBITS`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#associatedconstant.FRAC_NBITS
[`Fixed`]: https://docs.rs/fixed/0.4.3/fixed/traits/trait.Fixed.html
[`INT_NBITS`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#associatedconstant.INT_NBITS
[`Wrapping`]: https://docs.rs/fixed/0.4.3/fixed/struct.Wrapping.html
[`count_ones`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.count_ones
[`count_zeros`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.count_zeros
[`from_bits`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.from_bits
[`is_negative`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.is_negative
[`is_positive`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.is_positive
[`leading_zeros`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.leading_zeros
[`max_value`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.max_value
[`min_value`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.min_value
[`overflowing_add`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.overflowing_add
[`overflowing_mul_int`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.overflowing_mul_int
[`overflowing_neg`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.overflowing_neg
[`overflowing_shl`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.overflowing_shl
[`overflowing_shr`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.overflowing_shr
[`overflowing_sub`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.overflowing_sub
[`rotate_left`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.rotate_left
[`rotate_right`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.rotate_right
[`to_bits`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.to_bits
[`trailing_zeros`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.trailing_zeros
[`types::extra`]: https://docs.rs/fixed/0.4.3/fixed/types/extra/index.html
[`wrapping_add`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.wrapping_add
[`wrapping_mul_int`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.wrapping_mul_int
[`wrapping_neg`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.wrapping_neg
[`wrapping_shl`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.wrapping_shl
[`wrapping_shr`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.wrapping_shr
[`wrapping_sub`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.wrapping_sub
### Version 0.4.2 news (2019-08-16)
* The new methods [`from_num`] and [`to_num`] together with their
checked versions were added to all fixed-point numbers.
* The methods `from_fixed`, `to_fixed`, `from_int`, `to_int`,
`from_float`, and `to_float`, and their checked versions, were
deprecated.
* The new method [`from_num`][`Wrapping::from_num`] was added to the
[`Wrapping`] wrapper.
* Bug fix: parsing of decimal fractions was fixed to give correctly
rounded results for long decimal fraction strings, for example
with four fractional bits, 0.96874999… (just below 3132) and
0.96875 (3132) are now parsed correctly as 0.9375 (1516) and 1.0.
[`Wrapping::from_num`]: https://docs.rs/fixed/0.4.3/fixed/struct.Wrapping.html#method.from_num
[`Wrapping`]: https://docs.rs/fixed/0.4.3/fixed/struct.Wrapping.html
### Version 0.4.1 news (2019-08-12)
* All fixed-point types now implement [`FromStr`].
* The methods [`from_str_binary`], [`from_str_octal`] and
[`from_str_hex`] were added.
### Version 0.4.0 news (2019-08-08)
* The [*fixed* crate] now requires rustc version 1.31.0 or later.
* The [`traits`] module was added, with its traits [`Fixed`],
[`FixedSigned`], [`FixedUnsigned`], [`FromFixed`], [`ToFixed`],
[`LossyFrom`] and [`LossyInto`].
* The [`saturating_neg`] method was added to all fixed-point
numbers, and the [`saturating_abs`] method was added to signed
fixed-point numbers.
* The [`consts`] module was added.
* The [`signum`] method now wraps instead of panics in release mode.
#### Incompatible changes
* The sealed traits [`Int`] and [`Float`] now have no provided
methods; the methods in the old implementation are new provided by
[`FromFixed`] and [`ToFixed`].
* Deprecated methods were removed.
#### Contributors
* [@jean-airoldie](https://gitlab.com/jean-airoldie)
* [@tspiteri](https://gitlab.com/tspiteri)
[`FixedSigned`]: https://docs.rs/fixed/0.4.3/fixed/traits/trait.FixedSigned.html
[`FixedUnsigned`]: https://docs.rs/fixed/0.4.3/fixed/traits/trait.FixedUnsigned.html
[`Fixed`]: https://docs.rs/fixed/0.4.3/fixed/traits/trait.Fixed.html
[`Float`]: https://docs.rs/fixed/0.4.3/fixed/sealed/trait.Float.html
[`Int`]: https://docs.rs/fixed/0.4.3/fixed/sealed/trait.Int.html
[`consts`]: https://docs.rs/fixed/0.4.3/fixed/consts/index.html
[`saturating_abs`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.saturating_abs
[`saturating_neg`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.saturating_neg
[`signum`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.signum
[`traits`]: https://docs.rs/fixed/0.4.3/fixed/traits/index.html
[`FRAC_NBITS`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#associatedconstant.FRAC_NBITS
[`Fixed`]: https://docs.rs/fixed/0.4.4/fixed/traits/trait.Fixed.html
[`INT_NBITS`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#associatedconstant.INT_NBITS
[`Wrapping`]: https://docs.rs/fixed/0.4.4/fixed/struct.Wrapping.html
[`count_ones`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.count_ones
[`count_zeros`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.count_zeros
[`from_bits`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.from_bits
[`is_negative`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.is_negative
[`is_positive`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.is_positive
[`leading_zeros`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.leading_zeros
[`max_value`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.max_value
[`min_value`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.min_value
[`overflowing_add`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.overflowing_add
[`overflowing_mul_int`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.overflowing_mul_int
[`overflowing_neg`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.overflowing_neg
[`overflowing_shl`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.overflowing_shl
[`overflowing_shr`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.overflowing_shr
[`overflowing_sub`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.overflowing_sub
[`rotate_left`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.rotate_left
[`rotate_right`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.rotate_right
[`to_bits`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.to_bits
[`trailing_zeros`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.trailing_zeros
[`types::extra`]: https://docs.rs/fixed/0.4.4/fixed/types/extra/index.html
[`wrapping_add`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.wrapping_add
[`wrapping_mul_int`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.wrapping_mul_int
[`wrapping_neg`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.wrapping_neg
[`wrapping_shl`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.wrapping_shl
[`wrapping_shr`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.wrapping_shr
[`wrapping_sub`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.wrapping_sub
### Other releases
@ -268,7 +210,7 @@ it in your crate, add it as a dependency inside [*Cargo.toml*]:
```toml
[dependencies]
fixed = "0.4.3"
fixed = "0.4.4"
```
The *fixed* crate requires rustc version 1.34.0 or later.
@ -288,7 +230,7 @@ To enable features, you can add the dependency like this to
```toml
[dependencies.fixed]
version = "0.4.3"
version = "0.4.4"
features = ["f16", "serde"]
```
@ -318,36 +260,36 @@ additional terms or conditions.
[LICENSE-MIT]: https://opensource.org/licenses/MIT
[`Binary`]: https://doc.rust-lang.org/nightly/std/fmt/trait.Binary.html
[`Display`]: https://doc.rust-lang.org/nightly/std/fmt/trait.Display.html
[`FixedI128`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI128.html
[`FixedI16`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI16.html
[`FixedI32`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html
[`FixedI64`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI64.html
[`FixedI8`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI8.html
[`FixedU128`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedU128.html
[`FixedU16`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedU16.html
[`FixedU32`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedU32.html
[`FixedU64`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedU64.html
[`FixedU8`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedU8.html
[`FromFixed`]: https://docs.rs/fixed/0.4.3/fixed/traits/trait.FromFixed.html
[`FixedI128`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI128.html
[`FixedI16`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI16.html
[`FixedI32`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html
[`FixedI64`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI64.html
[`FixedI8`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI8.html
[`FixedU128`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedU128.html
[`FixedU16`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedU16.html
[`FixedU32`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedU32.html
[`FixedU64`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedU64.html
[`FixedU8`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedU8.html
[`FromFixed`]: https://docs.rs/fixed/0.4.4/fixed/traits/trait.FromFixed.html
[`FromStr`]: https://doc.rust-lang.org/nightly/std/str/trait.FromStr.html
[`From`]: https://doc.rust-lang.org/nightly/std/convert/trait.From.html
[`I20F12`]: https://docs.rs/fixed/0.4.3/fixed/types/type.I20F12.html
[`I4F12`]: https://docs.rs/fixed/0.4.3/fixed/types/type.I4F12.html
[`I4F4`]: https://docs.rs/fixed/0.4.3/fixed/types/type.I4F4.html
[`I20F12`]: https://docs.rs/fixed/0.4.4/fixed/types/type.I20F12.html
[`I4F12`]: https://docs.rs/fixed/0.4.4/fixed/types/type.I4F12.html
[`I4F4`]: https://docs.rs/fixed/0.4.4/fixed/types/type.I4F4.html
[`Into`]: https://doc.rust-lang.org/nightly/std/convert/trait.Into.html
[`LossyFrom`]: https://docs.rs/fixed/0.4.3/fixed/traits/trait.LossyFrom.html
[`LossyInto`]: https://docs.rs/fixed/0.4.3/fixed/traits/trait.LossyInto.html
[`LossyFrom`]: https://docs.rs/fixed/0.4.4/fixed/traits/trait.LossyFrom.html
[`LossyInto`]: https://docs.rs/fixed/0.4.4/fixed/traits/trait.LossyInto.html
[`LowerHex`]: https://doc.rust-lang.org/nightly/std/fmt/trait.LowerHex.html
[`Octal`]: https://doc.rust-lang.org/nightly/std/fmt/trait.Octal.html
[`ToFixed`]: https://docs.rs/fixed/0.4.3/fixed/traits/trait.ToFixed.html
[`U12`]: https://docs.rs/fixed/0.4.3/fixed/types/extra/type.U12.html
[`U20F12`]: https://docs.rs/fixed/0.4.3/fixed/types/type.U20F12.html
[`ToFixed`]: https://docs.rs/fixed/0.4.4/fixed/traits/trait.ToFixed.html
[`U12`]: https://docs.rs/fixed/0.4.4/fixed/types/extra/type.U12.html
[`U20F12`]: https://docs.rs/fixed/0.4.4/fixed/types/type.U20F12.html
[`UpperHex`]: https://doc.rust-lang.org/nightly/std/fmt/trait.UpperHex.html
[`checked_from_num`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.checked_from_num
[`checked_from_num`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.checked_from_num
[`f16`]: https://docs.rs/half/^1/half/struct.f16.html
[`from_num`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.from_num
[`from_str_binary`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.from_str_binary
[`from_str_hex`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.from_str_hex
[`from_str_octal`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.from_str_octal
[`to_num`]: https://docs.rs/fixed/0.4.3/fixed/struct.FixedI32.html#method.to_num
[`from_num`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.from_num
[`from_str_binary`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.from_str_binary
[`from_str_hex`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.from_str_hex
[`from_str_octal`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.from_str_octal
[`to_num`]: https://docs.rs/fixed/0.4.4/fixed/struct.FixedI32.html#method.to_num
[const generics]: https://github.com/rust-lang/rust/issues/44580

View File

@ -5,7 +5,7 @@ modification, are permitted in any medium without royalty provided the
copyright notice and this notice are preserved. This file is offered
as-is, without any warranty. -->
Version 0.4.4 (unreleased)
Version 0.4.4 (2019-08-24)
==========================
* Bug fix: rounding could produce bad output for `Binary`, `Octal`,

View File

@ -136,7 +136,7 @@ it in your crate, add it as a dependency inside [*Cargo.toml*]:
```toml
[dependencies]
fixed = "0.4.3"
fixed = "0.4.4"
```
The *fixed* crate requires rustc version 1.34.0 or later.
@ -156,7 +156,7 @@ To enable features, you can add the dependency like this to
```toml
[dependencies.fixed]
version = "0.4.3"
version = "0.4.4"
features = ["f16", "serde"]
```
@ -222,7 +222,7 @@ additional terms or conditions.
*/
#![no_std]
#![warn(missing_docs)]
#![doc(html_root_url = "https://docs.rs/fixed/0.4.3")]
#![doc(html_root_url = "https://docs.rs/fixed/0.4.4")]
#![doc(test(attr(deny(warnings))))]
#![cfg_attr(feature = "fail-on-warnings", deny(warnings))]
#![allow(clippy::type_repetition_in_bounds)]