simba 0.5.1

SIMD algebra for Rust
Documentation
## Release v0.5.0
- Update the `num-complex` 0.4 dependency.

## Release v0.4.0
- Update the `rand` 0.8 dependency.
- Add `SimdComplexField::simd_horizontal_sum` and `SimdComplexField::simd_horizontal_product`
  for computing the sum or product of all the lanes of a single SIMD value.

## Release v0.3.0
This release includes a change that is not technically a breaking change because
it won't cause existing code to not compile anymore. However it is an important
semantic change to justify a major release:
- The arguments of `copysign` are now swapped: `a.copysign(b)` will copy the sign of `b` into `a` (the previous
  behavior copied the sign of `a` into `b`). This change was needed to align with the argument order used by
  the standard library, thus avoiding hard-to-debug errors due to mismatching conventions.
- The arguments of `simd_copysign` are now swapped too.

This release also updatse the `num-complex` dependency to its latest version 0.3.

## Release v0.2.4
- Make `Fixed.to_bits` and `Fixed::from_bits` const-fn.
- Make our `Fixed` wrapper type `repr(transparent)`.

## Release v0.2.3
- Add `.to_bits` to our fixed-point number newtype.
- Add `::from_bits` to our fixed-point number newtype.
- Add `Ord` implementation for our fixed-point number newtype.
- Add `Mul<int>, Div<int>, Rem<int>, MulAssign<int>, DivAssign<int>, RemAssign<int>` implementation for our fixed-point
  number newtype, where `int` is the underlying integer used by the fixed-point number.

## Release v0.2.2
- Fix a compilation error when building simba with out `std` and with the `libm` feature.

## Release v0.2.1
- Add SIMD types named, e.g. `AutoF32x4`, based on auto-vectorization only. They don't call any SIMD intrinsics and let the compiler do the
vectorization, if it can.

## Release v0.2.0
- The use of `libm` in `#[no-std]` environments is now opt-in by enabling the `libm` feature.
- If the `libm` is not enabled in a `#[no-std]` environment, then no `RealField` or `ComplexField` impls will be provided for floats.
- Add the `libm_force` cargo feature that forces the use of `libm`, even when we don't target `no-std`.
- Add `copysign` to copy the sign from one number to another.
- Add `simd_horizontal_min`, `simd_horizontal_max` to compute the min/max among the lanes of a single SIMD number.
- Wrap all SIMD bools from `packed_simd` into our own `Simd<_>` newtype.