162 lines
5.5 KiB
Markdown
162 lines
5.5 KiB
Markdown
|
# Release 0.4.2 (2022-06-17)
|
||
|
|
||
|
- [The new `ComplexFloat` trait][95] provides a generic abstraction between
|
||
|
floating-point `T` and `Complex<T>`.
|
||
|
- [`Complex::exp` now handles edge cases with NaN and infinite parts][104].
|
||
|
|
||
|
**Contributors**: @cuviper, @JorisDeRidder, @obsgolem, @YakoYakoYokuYoku
|
||
|
|
||
|
[95]: https://github.com/rust-num/num-complex/pull/95
|
||
|
[104]: https://github.com/rust-num/num-complex/pull/104
|
||
|
|
||
|
# Release 0.4.1 (2022-04-29)
|
||
|
|
||
|
- [`Complex::from_str_radix` now returns an error for radix > 18][90], because
|
||
|
'i' and 'j' as digits are ambiguous with _i_ or _j_ imaginary parts.
|
||
|
- [`Complex<T>` now implements `bytemuck` traits when `T` does][100].
|
||
|
- [`Complex::cis` creates a complex with the given phase][101], _e_<sup>_i_ θ</sup>.
|
||
|
|
||
|
**Contributors**: @bluss, @bradleyharden, @cuviper, @rayhem
|
||
|
|
||
|
[90]: https://github.com/rust-num/num-complex/pull/90
|
||
|
[100]: https://github.com/rust-num/num-complex/pull/100
|
||
|
[101]: https://github.com/rust-num/num-complex/pull/101
|
||
|
|
||
|
# Release 0.4.0 (2021-03-05)
|
||
|
|
||
|
- `rand` support has been updated to 0.8, requiring Rust 1.36.
|
||
|
|
||
|
**Contributors**: @cuviper
|
||
|
|
||
|
# Release 0.3.1 (2020-10-29)
|
||
|
|
||
|
- Clarify the license specification as "MIT OR Apache-2.0".
|
||
|
|
||
|
**Contributors**: @cuviper
|
||
|
|
||
|
# Release 0.3.0 (2020-06-13)
|
||
|
|
||
|
### Enhancements
|
||
|
|
||
|
- [The new "libm" feature passes through to `num-traits`][73], enabling `Float`
|
||
|
features on no-`std` builds.
|
||
|
|
||
|
### Breaking Changes
|
||
|
|
||
|
- `num-complex` now requires Rust 1.31 or greater.
|
||
|
- The "i128" opt-in feature was removed, now always available.
|
||
|
- [Updated public dependences][65]:
|
||
|
- `rand` support has been updated to 0.7, requiring Rust 1.32.
|
||
|
- [Methods for `T: Float` now take values instead of references][82], most
|
||
|
notably affecting the constructor `from_polar`.
|
||
|
|
||
|
**Contributors**: @cuviper, @SOF3, @vks
|
||
|
|
||
|
[65]: https://github.com/rust-num/num-complex/pull/65
|
||
|
[73]: https://github.com/rust-num/num-complex/pull/73
|
||
|
[82]: https://github.com/rust-num/num-complex/pull/82
|
||
|
|
||
|
# Release 0.2.4 (2020-01-09)
|
||
|
|
||
|
- [`Complex::new` is now a `const fn` for Rust 1.31 and later][63].
|
||
|
- [Updated the `autocfg` build dependency to 1.0][68].
|
||
|
|
||
|
**Contributors**: @burrbull, @cuviper, @dingelish
|
||
|
|
||
|
[63]: https://github.com/rust-num/num-complex/pull/63
|
||
|
[68]: https://github.com/rust-num/num-complex/pull/68
|
||
|
|
||
|
# Release 0.2.3 (2019-06-11)
|
||
|
|
||
|
- [`Complex::sqrt()` is now more accurate for negative reals][60].
|
||
|
- [`Complex::cbrt()` computes the principal cube root][61].
|
||
|
|
||
|
**Contributors**: @cuviper
|
||
|
|
||
|
[60]: https://github.com/rust-num/num-complex/pull/60
|
||
|
[61]: https://github.com/rust-num/num-complex/pull/61
|
||
|
|
||
|
# Release 0.2.2 (2019-06-10)
|
||
|
|
||
|
- [`Complex::l1_norm()` computes the Manhattan distance from the origin][43].
|
||
|
- [`Complex::fdiv()` and `finv()` use floating-point for inversion][41], which
|
||
|
may avoid overflows for some inputs, at the cost of trigonometric rounding.
|
||
|
- [`Complex` now implements `num_traits::MulAdd` and `MulAddAssign`][44].
|
||
|
- [`Complex` now implements `Zero::set_zero` and `One::set_one`][57].
|
||
|
- [`Complex` now implements `num_traits::Pow` and adds `powi` and `powu`][56].
|
||
|
|
||
|
**Contributors**: @adamnemecek, @cuviper, @ignatenkobrain, @Schultzer
|
||
|
|
||
|
[41]: https://github.com/rust-num/num-complex/pull/41
|
||
|
[43]: https://github.com/rust-num/num-complex/pull/43
|
||
|
[44]: https://github.com/rust-num/num-complex/pull/44
|
||
|
[56]: https://github.com/rust-num/num-complex/pull/56
|
||
|
[57]: https://github.com/rust-num/num-complex/pull/57
|
||
|
|
||
|
# Release 0.2.1 (2018-10-08)
|
||
|
|
||
|
- [`Complex` now implements `ToPrimitive`, `FromPrimitive`, `AsPrimitive`, and `NumCast`][33].
|
||
|
|
||
|
**Contributors**: @cuviper, @termoshtt
|
||
|
|
||
|
[33]: https://github.com/rust-num/num-complex/pull/33
|
||
|
|
||
|
# Release 0.2.0 (2018-05-24)
|
||
|
|
||
|
### Enhancements
|
||
|
|
||
|
- [`Complex` now implements `num_traits::Inv` and `One::is_one`][17].
|
||
|
- [`Complex` now implements `Sum` and `Product`][11].
|
||
|
- [`Complex` now supports `i128` and `u128` components][27] with Rust 1.26+.
|
||
|
- [`Complex` now optionally supports `rand` 0.5][28], implementing the
|
||
|
`Standard` distribution and [a generic `ComplexDistribution`][30].
|
||
|
- [`Rem` with a scalar divisor now avoids `norm_sqr` overflow][25].
|
||
|
|
||
|
### Breaking Changes
|
||
|
|
||
|
- [`num-complex` now requires rustc 1.15 or greater][16].
|
||
|
- [There is now a `std` feature][22], enabled by default, along with the
|
||
|
implication that building *without* this feature makes this a `#![no_std]`
|
||
|
crate. A few methods now require `FloatCore`, and the remaining methods
|
||
|
based on `Float` are only supported with `std`.
|
||
|
- [The `serde` dependency has been updated to 1.0][7], and `rustc-serialize`
|
||
|
is no longer supported by `num-complex`.
|
||
|
|
||
|
**Contributors**: @clarcharr, @cuviper, @shingtaklam1324, @termoshtt
|
||
|
|
||
|
[7]: https://github.com/rust-num/num-complex/pull/7
|
||
|
[11]: https://github.com/rust-num/num-complex/pull/11
|
||
|
[16]: https://github.com/rust-num/num-complex/pull/16
|
||
|
[17]: https://github.com/rust-num/num-complex/pull/17
|
||
|
[22]: https://github.com/rust-num/num-complex/pull/22
|
||
|
[25]: https://github.com/rust-num/num-complex/pull/25
|
||
|
[27]: https://github.com/rust-num/num-complex/pull/27
|
||
|
[28]: https://github.com/rust-num/num-complex/pull/28
|
||
|
[30]: https://github.com/rust-num/num-complex/pull/30
|
||
|
|
||
|
|
||
|
# Release 0.1.43 (2018-03-08)
|
||
|
|
||
|
- [Fix a usage typo in README.md][20].
|
||
|
|
||
|
**Contributors**: @shingtaklam1324
|
||
|
|
||
|
[20]: https://github.com/rust-num/num-complex/pull/20
|
||
|
|
||
|
|
||
|
# Release 0.1.42 (2018-02-07)
|
||
|
|
||
|
- [num-complex now has its own source repository][num-356] at [rust-num/num-complex][home].
|
||
|
|
||
|
**Contributors**: @cuviper
|
||
|
|
||
|
[home]: https://github.com/rust-num/num-complex
|
||
|
[num-356]: https://github.com/rust-num/num/pull/356
|
||
|
|
||
|
|
||
|
# Prior releases
|
||
|
|
||
|
No prior release notes were kept. Thanks all the same to the many
|
||
|
contributors that have made this crate what it is!
|
||
|
|