const ZERO/ONE/I and implement ConstZero and ConstOnec32 and c64 functions to help construct Complex valuesContributors: @cuviper
Contributors: @cuviper, @WalterSmuts
Contributors: @cuviper, @domna
Contributors: @cuviper, @zyansheep
ComplexFloat trait provides a generic abstraction between floating-point T and Complex<T>.Complex::exp now handles edge cases with NaN and infinite parts.Contributors: @cuviper, @JorisDeRidder, @obsgolem, @YakoYakoYokuYoku
Complex::from_str_radix now returns an error for radix > 18, because ‘i’ and ‘j’ as digits are ambiguous with i or j imaginary parts.Complex<T> now implements bytemuck traits when T does.Complex::cis creates a complex with the given phase, ei θ.Contributors: @bluss, @bradleyharden, @cuviper, @rayhem
rand support has been updated to 0.8, requiring Rust 1.36.Contributors: @cuviper
Contributors: @cuviper
num-traits, enabling Float features on no-std builds.num-complex now requires Rust 1.31 or greater.rand support has been updated to 0.7, requiring Rust 1.32.T: Float now take values instead of references, most notably affecting the constructor from_polar.Contributors: @cuviper, @SOF3, @vks
Contributors: @burrbull, @cuviper, @dingelish
Complex::sqrt() is now more accurate for negative reals.Complex::cbrt() computes the principal cube root.Contributors: @cuviper
Complex::l1_norm() computes the Manhattan distance from the origin.Complex::fdiv() and finv() use floating-point for inversion, which may avoid overflows for some inputs, at the cost of trigonometric rounding.Complex now implements num_traits::MulAdd and MulAddAssign.Complex now implements Zero::set_zero and One::set_one.Complex now implements num_traits::Pow and adds powi and powu.Contributors: @adamnemecek, @cuviper, @ignatenkobrain, @Schultzer
Contributors: @cuviper, @termoshtt
Complex now implements num_traits::Inv and One::is_one.Complex now implements Sum and Product.Complex now supports i128 and u128 components with Rust 1.26+.Complex now optionally supports rand 0.5, implementing the Standard distribution and a generic ComplexDistribution.Rem with a scalar divisor now avoids norm_sqr overflow.num-complex now requires rustc 1.15 or greater.std feature, 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.serde dependency has been updated to 1.0, and rustc-serialize is no longer supported by num-complex.Contributors: @clarcharr, @cuviper, @shingtaklam1324, @termoshtt
Contributors: @shingtaklam1324
Contributors: @cuviper
No prior release notes were kept. Thanks all the same to the many contributors that have made this crate what it is!