diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3840efb..6c1a140 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -215,7 +215,7 @@ x86_64-gnulinux-tarpaulin: - cargo/ script: - rustup toolchain install --profile minimal beta-$TARGET - - cargo +beta-$TARGET install --version 0.14.3 --locked cargo-tarpaulin + - cargo +beta-$TARGET install --version 0.15.0 --locked cargo-tarpaulin - stdbuf -oL cargo +beta-$TARGET tarpaulin -v --ignore-tests --exclude-files build.rs --features "az f16 num-traits serde std unwrapped" | tee tarpaulin.log - echo "Check that coverage not less than $REQ_COVERAGE%" - tail -1 tarpaulin.log | awk '{ if ($1 < '$REQ_COVERAGE') { exit 1 } }' diff --git a/Cargo.toml b/Cargo.toml index 32af665..d68b56a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,7 @@ [package] name = "fixed" -version = "1.3.0" +version = "1.4.0" authors = ["Trevor Spiteri "] description = "Fixed-point numbers" documentation = "https://docs.rs/fixed" diff --git a/README.md b/README.md index 01cbead..1f7b231 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ The conversions supported cover the following cases. ## What’s new -### Version 1.4.0 news (unreleased) +### Version 1.4.0 news (2020-10-22) * The following methods were added to all fixed-point types, to the [`Fixed`][tf-1-4] trait, and to the [`Wrapping`][w-1-4] wrapper: @@ -99,12 +99,12 @@ The conversions supported cover the following cases. to write manually ([issue 24]). This makes it incompatible with the version in 1.3.0. -[f-crec-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/struct.FixedI32.html#method.checked_recip -[f-orec-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/struct.FixedI32.html#method.overflowing_recip -[f-rec-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/struct.FixedI32.html#method.recip -[f-srec-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/struct.FixedI32.html#method.saturating_recip -[f-wrec-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/struct.FixedI32.html#method.wrapping_recip -[feat-exp-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/#experimental-optional-features +[f-crec-1-4]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI32.html#method.checked_recip +[f-orec-1-4]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI32.html#method.overflowing_recip +[f-rec-1-4]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI32.html#method.recip +[f-srec-1-4]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI32.html#method.saturating_recip +[f-wrec-1-4]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI32.html#method.wrapping_recip +[feat-exp-1-4]: https://docs.rs/fixed/~1.4/fixed/#experimental-optional-features [issue 23]: https://gitlab.com/tspiteri/fixed/-/issues/23 [issue 24]: https://gitlab.com/tspiteri/fixed/-/issues/24 [nt-0-2-fc]: https://docs.rs/num-traits/^0.2/num_traits/float/trait.FloatConst.html @@ -116,8 +116,8 @@ The conversions supported cover the following cases. [nt-0-2-signed]: https://docs.rs/num-traits/^0.2/num_traits/sign/trait.Signed.html [nt-0-2-tp]: https://docs.rs/num-traits/^0.2/num_traits/cast/trait.ToPrimitive.html [nt-0-2-unsigned]: https://docs.rs/num-traits/^0.2/num_traits/sign/trait.Unsigned.html -[tf-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/traits/trait.Fixed.html -[w-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/struct.Wrapping.html +[tf-1-4]: https://docs.rs/fixed/~1.4/fixed/traits/trait.Fixed.html +[w-1-4]: https://docs.rs/fixed/~1.4/fixed/struct.Wrapping.html ### Version 1.3.0 news (2020-10-15) @@ -147,15 +147,6 @@ The conversions supported cover the following cases. [tf-ma-1-3]: https://docs.rs/fixed/~1.3/fixed/traits/trait.Fixed.html#tymethod.mul_add [w-ma-1-3]: https://docs.rs/fixed/~1.3/fixed/struct.Wrapping.html#method.mul_add -### Version 1.2.0 news (2020-09-02) - - * The [`const_fixed_from_int!`][cffi-1-2] macro was added to make it - easy to define constant fixed-point numbers using integer - expressions ([issue 20]). - -[cffi-1-2]: https://docs.rs/fixed/~1.2/fixed/macro.const_fixed_from_int.html -[issue 20]: https://gitlab.com/tspiteri/fixed/-/issues/20 - ### Other releases Details on other releases can be found in [*RELEASES.md*]. @@ -238,7 +229,7 @@ it in your crate, add it as a dependency inside [*Cargo.toml*]: ```toml [dependencies] -fixed = "1.3" +fixed = "1.4" ``` The *fixed* crate requires rustc version 1.44.0 or later. @@ -263,7 +254,7 @@ To enable features, you can add the dependency like this to ```toml [dependencies.fixed] -version = "1.3" +version = "1.4" features = ["f16", "serde"] ``` @@ -290,7 +281,8 @@ There are three experimental feature: formats. This feature requires the `serde` and the `std` optional features. (The plan is to upgrade this to an optional feature in version 1.5.0.) **Warning:** numbers serialized when this feature - is enabled cannot be deserialized when this feature is disabled. + is enabled cannot be deserialized when this feature is disabled, + and vice versa. ## License @@ -323,40 +315,40 @@ additional terms or conditions. [`Binary`]: https://doc.rust-lang.org/nightly/core/fmt/trait.Binary.html [`Display`]: https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html [`Error`]: https://doc.rust-lang.org/nightly/std/error/trait.Error.html -[`FixedI128`]: https://docs.rs/fixed/~1.3/fixed/struct.FixedI128.html -[`FixedI16`]: https://docs.rs/fixed/~1.3/fixed/struct.FixedI16.html -[`FixedI32`]: https://docs.rs/fixed/~1.3/fixed/struct.FixedI32.html -[`FixedI64`]: https://docs.rs/fixed/~1.3/fixed/struct.FixedI64.html -[`FixedI8`]: https://docs.rs/fixed/~1.3/fixed/struct.FixedI8.html -[`FixedU128`]: https://docs.rs/fixed/~1.3/fixed/struct.FixedU128.html -[`FixedU16`]: https://docs.rs/fixed/~1.3/fixed/struct.FixedU16.html -[`FixedU32`]: https://docs.rs/fixed/~1.3/fixed/struct.FixedU32.html -[`FixedU64`]: https://docs.rs/fixed/~1.3/fixed/struct.FixedU64.html -[`FixedU8`]: https://docs.rs/fixed/~1.3/fixed/struct.FixedU8.html -[`FromFixed`]: https://docs.rs/fixed/~1.3/fixed/traits/trait.FromFixed.html +[`FixedI128`]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI128.html +[`FixedI16`]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI16.html +[`FixedI32`]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI32.html +[`FixedI64`]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI64.html +[`FixedI8`]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI8.html +[`FixedU128`]: https://docs.rs/fixed/~1.4/fixed/struct.FixedU128.html +[`FixedU16`]: https://docs.rs/fixed/~1.4/fixed/struct.FixedU16.html +[`FixedU32`]: https://docs.rs/fixed/~1.4/fixed/struct.FixedU32.html +[`FixedU64`]: https://docs.rs/fixed/~1.4/fixed/struct.FixedU64.html +[`FixedU8`]: https://docs.rs/fixed/~1.4/fixed/struct.FixedU8.html +[`FromFixed`]: https://docs.rs/fixed/~1.4/fixed/traits/trait.FromFixed.html [`FromStr`]: https://doc.rust-lang.org/nightly/core/str/trait.FromStr.html [`From`]: https://doc.rust-lang.org/nightly/core/convert/trait.From.html -[`I20F12`]: https://docs.rs/fixed/~1.3/fixed/types/type.I20F12.html -[`I4F12`]: https://docs.rs/fixed/~1.3/fixed/types/type.I4F12.html -[`I4F4`]: https://docs.rs/fixed/~1.3/fixed/types/type.I4F4.html +[`I20F12`]: https://docs.rs/fixed/~1.4/fixed/types/type.I20F12.html +[`I4F12`]: https://docs.rs/fixed/~1.4/fixed/types/type.I4F12.html +[`I4F4`]: https://docs.rs/fixed/~1.4/fixed/types/type.I4F4.html [`Into`]: https://doc.rust-lang.org/nightly/core/convert/trait.Into.html -[`LosslessTryFrom`]: https://docs.rs/fixed/~1.3/fixed/traits/trait.LosslessTryFrom.html -[`LosslessTryInto`]: https://docs.rs/fixed/~1.3/fixed/traits/trait.LosslessTryInto.html -[`LossyFrom`]: https://docs.rs/fixed/~1.3/fixed/traits/trait.LossyFrom.html -[`LossyInto`]: https://docs.rs/fixed/~1.3/fixed/traits/trait.LossyInto.html +[`LosslessTryFrom`]: https://docs.rs/fixed/~1.4/fixed/traits/trait.LosslessTryFrom.html +[`LosslessTryInto`]: https://docs.rs/fixed/~1.4/fixed/traits/trait.LosslessTryInto.html +[`LossyFrom`]: https://docs.rs/fixed/~1.4/fixed/traits/trait.LossyFrom.html +[`LossyInto`]: https://docs.rs/fixed/~1.4/fixed/traits/trait.LossyInto.html [`LowerHex`]: https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html [`Octal`]: https://doc.rust-lang.org/nightly/core/fmt/trait.Octal.html -[`ParseFixedError`]: https://docs.rs/fixed/~1.3/fixed/struct.ParseFixedError.html -[`ToFixed`]: https://docs.rs/fixed/~1.3/fixed/traits/trait.ToFixed.html -[`U12`]: https://docs.rs/fixed/~1.3/fixed/types/extra/type.U12.html -[`U20F12`]: https://docs.rs/fixed/~1.3/fixed/types/type.U20F12.html +[`ParseFixedError`]: https://docs.rs/fixed/~1.4/fixed/struct.ParseFixedError.html +[`ToFixed`]: https://docs.rs/fixed/~1.4/fixed/traits/trait.ToFixed.html +[`U12`]: https://docs.rs/fixed/~1.4/fixed/types/extra/type.U12.html +[`U20F12`]: https://docs.rs/fixed/~1.4/fixed/types/type.U20F12.html [`UpperHex`]: https://doc.rust-lang.org/nightly/core/fmt/trait.UpperHex.html [`bf16`]: https://docs.rs/half/^1/half/struct.bf16.html -[`checked_from_num`]: https://docs.rs/fixed/~1.3/fixed/struct.FixedI32.html#method.checked_from_num +[`checked_from_num`]: https://docs.rs/fixed/~1.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/~1.3/fixed/struct.FixedI32.html#method.from_num -[`from_str_binary`]: https://docs.rs/fixed/~1.3/fixed/struct.FixedI32.html#method.from_str_binary -[`from_str_hex`]: https://docs.rs/fixed/~1.3/fixed/struct.FixedI32.html#method.from_str_hex -[`from_str_octal`]: https://docs.rs/fixed/~1.3/fixed/struct.FixedI32.html#method.from_str_octal -[`to_num`]: https://docs.rs/fixed/~1.3/fixed/struct.FixedI32.html#method.to_num +[`from_num`]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI32.html#method.from_num +[`from_str_binary`]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI32.html#method.from_str_binary +[`from_str_hex`]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI32.html#method.from_str_hex +[`from_str_octal`]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI32.html#method.from_str_octal +[`to_num`]: https://docs.rs/fixed/~1.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 7e284ae..31a5016 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 1.4.0 (unreleased) +Version 1.4.0 (2020-10-22) ========================== * The following methods were added to all fixed-point types, to the @@ -27,12 +27,12 @@ Version 1.4.0 (unreleased) to write manually ([issue 24]). This makes it incompatible with the version in 1.3.0. -[f-crec-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/struct.FixedI32.html#method.checked_recip -[f-orec-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/struct.FixedI32.html#method.overflowing_recip -[f-rec-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/struct.FixedI32.html#method.recip -[f-srec-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/struct.FixedI32.html#method.saturating_recip -[f-wrec-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/struct.FixedI32.html#method.wrapping_recip -[feat-exp-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/#experimental-optional-features +[f-crec-1-4]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI32.html#method.checked_recip +[f-orec-1-4]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI32.html#method.overflowing_recip +[f-rec-1-4]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI32.html#method.recip +[f-srec-1-4]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI32.html#method.saturating_recip +[f-wrec-1-4]: https://docs.rs/fixed/~1.4/fixed/struct.FixedI32.html#method.wrapping_recip +[feat-exp-1-4]: https://docs.rs/fixed/~1.4/fixed/#experimental-optional-features [issue 23]: https://gitlab.com/tspiteri/fixed/-/issues/23 [issue 24]: https://gitlab.com/tspiteri/fixed/-/issues/24 [nt-0-2-fc]: https://docs.rs/num-traits/^0.2/num_traits/float/trait.FloatConst.html @@ -44,8 +44,8 @@ Version 1.4.0 (unreleased) [nt-0-2-signed]: https://docs.rs/num-traits/^0.2/num_traits/sign/trait.Signed.html [nt-0-2-tp]: https://docs.rs/num-traits/^0.2/num_traits/cast/trait.ToPrimitive.html [nt-0-2-unsigned]: https://docs.rs/num-traits/^0.2/num_traits/sign/trait.Unsigned.html -[tf-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/traits/trait.Fixed.html -[w-1-4]: https://tspiteri.gitlab.io/fixed/dev/fixed/struct.Wrapping.html +[tf-1-4]: https://docs.rs/fixed/~1.4/fixed/traits/trait.Fixed.html +[w-1-4]: https://docs.rs/fixed/~1.4/fixed/struct.Wrapping.html Version 1.3.0 (2020-10-15) ========================== diff --git a/src/lib.rs b/src/lib.rs index f197830..654fa3e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -163,7 +163,7 @@ it in your crate, add it as a dependency inside [*Cargo.toml*]: ```toml [dependencies] -fixed = "1.3" +fixed = "1.4" ``` The *fixed* crate requires rustc version 1.44.0 or later. @@ -188,7 +188,7 @@ To enable features, you can add the dependency like this to ```toml [dependencies.fixed] -version = "1.3" +version = "1.4" features = ["f16", "serde"] ``` @@ -215,7 +215,8 @@ There are three experimental feature: formats. This feature requires the `serde` and the `std` optional features. (The plan is to upgrade this to an optional feature in version 1.5.0.) **Warning:** numbers serialized when this feature - is enabled cannot be deserialized when this feature is disabled. + is enabled cannot be deserialized when this feature is disabled, + and vice versa. ## License @@ -288,7 +289,7 @@ additional terms or conditions. */ #![cfg_attr(not(feature = "std"), no_std)] #![warn(missing_docs)] -#![doc(html_root_url = "https://docs.rs/fixed/~1.3")] +#![doc(html_root_url = "https://docs.rs/fixed/~1.4")] #![doc(test(attr(deny(warnings))))] #![cfg_attr(feature = "fail-on-warnings", deny(warnings))] @@ -431,7 +432,7 @@ assert_eq!(two_point_75.to_string(), \"2.8\"); ``` [*typenum* crate]: https://crates.io/crates/typenum -[`Unsigned`]: https://docs.rs/typenum/^1.3/typenum/marker_traits/trait.Unsigned.html +[`Unsigned`]: https://docs.rs/typenum/^1.10/typenum/marker_traits/trait.Unsigned.html [const generics]: https://github.com/rust-lang/rust/issues/44580 "; #[repr(transparent)]