diff --git a/Cargo.toml b/Cargo.toml index eb759fb..63754e1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,7 @@ [package] name = "fixed" -version = "0.4.3" +version = "0.4.4" authors = ["Trevor Spiteri "] description = "Fixed-point numbers" documentation = "https://docs.rs/fixed" diff --git a/README.md b/README.md index 7c331d6..b44292b 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ The conversions supported cover the following cases. ## What’s 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 31⁄32) and - 0.96875 (31⁄32) are now parsed correctly as 0.9375 (15⁄16) 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 diff --git a/RELEASES.md b/RELEASES.md index f457689..d18d0e4 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -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`, diff --git a/src/lib.rs b/src/lib.rs index 12cc2e0..5f9d749 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -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)]