SimdComplexField in simba::simd - Rust
Description: Lane-wise generalisation of `ComplexField` for SIMD complex fields.
Keywords: rust, rustlang, rust-lang, SimdComplexField

# Trait simba::simd::SimdComplexField

source ·

    pub trait SimdComplexField: SubsetOf<Self> + SupersetOf<f64> + Field + Clone + Neg<Output = Self> + Send + Sync + Any + 'static + Debug + NumAssignOps + NumOps + PartialEq {
        type SimdRealField: SimdRealField<SimdBool = <Self as SimdValue>::SimdBool>;

    Show 55 methods    fn from_simd_real(re: Self::SimdRealField) -> Self;
        fn simd_real(self) -> Self::SimdRealField;
        fn simd_imaginary(self) -> Self::SimdRealField;
        fn simd_modulus(self) -> Self::SimdRealField;
        fn simd_modulus_squared(self) -> Self::SimdRealField;
        fn simd_argument(self) -> Self::SimdRealField;
        fn simd_norm1(self) -> Self::SimdRealField;
        fn simd_scale(self, factor: Self::SimdRealField) -> Self;
        fn simd_unscale(self, factor: Self::SimdRealField) -> Self;
        fn simd_floor(self) -> Self;
        fn simd_ceil(self) -> Self;
        fn simd_round(self) -> Self;
        fn simd_trunc(self) -> Self;
        fn simd_fract(self) -> Self;
        fn simd_mul_add(self, a: Self, b: Self) -> Self;
        fn simd_abs(self) -> Self::SimdRealField;
        fn simd_hypot(self, other: Self) -> Self::SimdRealField;
        fn simd_recip(self) -> Self;
        fn simd_conjugate(self) -> Self;
        fn simd_sin(self) -> Self;
        fn simd_cos(self) -> Self;
        fn simd_sin_cos(self) -> (Self, Self);
        fn simd_tan(self) -> Self;
        fn simd_asin(self) -> Self;
        fn simd_acos(self) -> Self;
        fn simd_atan(self) -> Self;
        fn simd_sinh(self) -> Self;
        fn simd_cosh(self) -> Self;
        fn simd_tanh(self) -> Self;
        fn simd_asinh(self) -> Self;
        fn simd_acosh(self) -> Self;
        fn simd_atanh(self) -> Self;
        fn simd_log(self, base: Self::SimdRealField) -> Self;
        fn simd_log2(self) -> Self;
        fn simd_log10(self) -> Self;
        fn simd_ln(self) -> Self;
        fn simd_ln_1p(self) -> Self;
        fn simd_sqrt(self) -> Self;
        fn simd_exp(self) -> Self;
        fn simd_exp2(self) -> Self;
        fn simd_exp_m1(self) -> Self;
        fn simd_powi(self, n: i32) -> Self;
        fn simd_powf(self, n: Self::SimdRealField) -> Self;
        fn simd_powc(self, n: Self) -> Self;
        fn simd_cbrt(self) -> Self;
        fn simd_horizontal_sum(self) -> Self::Element;
        fn simd_horizontal_product(self) -> Self::Element;

        fn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField) { ... }
        fn simd_to_exp(self) -> (Self::SimdRealField, Self) { ... }
        fn simd_signum(self) -> Self { ... }
        fn simd_sinh_cosh(self) -> (Self, Self) { ... }
        fn simd_sinc(self) -> Self { ... }
        fn simd_sinhc(self) -> Self { ... }
        fn simd_cosc(self) -> Self { ... }
        fn simd_coshc(self) -> Self { ... }
    }

Expand description

Lane-wise generalisation of `ComplexField` for SIMD complex fields.

Each lane of an SIMD complex field should contain one complex field.

## Required Associated Types§

source

#### type SimdRealField: SimdRealField<SimdBool = <Self as SimdValue>::SimdBool>

Type of the coefficients of a complex number.

## Required Methods§

source

#### fn from_simd_real(re: Self::SimdRealField) -> Self

Builds a pure-real complex number from the given value.

source

#### fn simd_real(self) -> Self::SimdRealField

The real part of this complex number.

source

#### fn simd_imaginary(self) -> Self::SimdRealField

The imaginary part of this complex number.

source

#### fn simd_modulus(self) -> Self::SimdRealField

The modulus of this complex number.

source

#### fn simd_modulus_squared(self) -> Self::SimdRealField

The squared modulus of this complex number.

source

#### fn simd_argument(self) -> Self::SimdRealField

The argument of this complex number.

source

#### fn simd_norm1(self) -> Self::SimdRealField

The sum of the absolute value of this complex number’s real and imaginary part.

source

#### fn simd_scale(self, factor: Self::SimdRealField) -> Self

Multiplies this complex number by `factor`.

source

#### fn simd_unscale(self, factor: Self::SimdRealField) -> Self

Divides this complex number by `factor`.

source

#### fn simd_floor(self) -> Self

source

#### fn simd_ceil(self) -> Self

source

#### fn simd_round(self) -> Self

source

#### fn simd_trunc(self) -> Self

source

#### fn simd_fract(self) -> Self

source

#### fn simd_mul_add(self, a: Self, b: Self) -> Self

source

#### fn simd_abs(self) -> Self::SimdRealField

The absolute value of this complex number: `self / self.signum()`.

This is equivalent to `self.modulus()`.

source

#### fn simd_hypot(self, other: Self) -> Self::SimdRealField

Computes (self.conjugate() * self + other.conjugate() * other).sqrt()

source

#### fn simd_recip(self) -> Self

source

#### fn simd_conjugate(self) -> Self

source

#### fn simd_sin(self) -> Self

source

#### fn simd_cos(self) -> Self

source

#### fn simd_sin_cos(self) -> (Self, Self)

source

#### fn simd_tan(self) -> Self

source

#### fn simd_asin(self) -> Self

source

#### fn simd_acos(self) -> Self

source

#### fn simd_atan(self) -> Self

source

#### fn simd_sinh(self) -> Self

source

#### fn simd_cosh(self) -> Self

source

#### fn simd_tanh(self) -> Self

source

#### fn simd_asinh(self) -> Self

source

#### fn simd_acosh(self) -> Self

source

#### fn simd_atanh(self) -> Self

source

#### fn simd_log(self, base: Self::SimdRealField) -> Self

source

#### fn simd_log2(self) -> Self

source

#### fn simd_log10(self) -> Self

source

#### fn simd_ln(self) -> Self

source

#### fn simd_ln_1p(self) -> Self

source

#### fn simd_sqrt(self) -> Self

source

#### fn simd_exp(self) -> Self

source

#### fn simd_exp2(self) -> Self

source

#### fn simd_exp_m1(self) -> Self

source

#### fn simd_powi(self, n: i32) -> Self

source

#### fn simd_powf(self, n: Self::SimdRealField) -> Self

source

#### fn simd_powc(self, n: Self) -> Self

source

#### fn simd_cbrt(self) -> Self

source

#### fn simd_horizontal_sum(self) -> Self::Element

Computes the sum of all the lanes of `self`.

source

#### fn simd_horizontal_product(self) -> Self::Element

Computes the product of all the lanes of `self`.

## Provided Methods§

source

#### fn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)

The polar form of this complex number: (modulus, arg)

source

#### fn simd_to_exp(self) -> (Self::SimdRealField, Self)

The exponential form of this complex number: (modulus, e^{i arg})

source

#### fn simd_signum(self) -> Self

The exponential part of this complex number: `self / self.modulus()`

source

#### fn simd_sinh_cosh(self) -> (Self, Self)

source

#### fn simd_sinc(self) -> Self

Cardinal sine

source

#### fn simd_sinhc(self) -> Self

source

#### fn simd_cosc(self) -> Self

Cardinal cos

source

#### fn simd_coshc(self) -> Self

## Implementations on Foreign Types§

source§

### impl SimdComplexField for Complex<AutoSimd<[f32; 2]>>

source§

#### fn simd_exp(self) -> Self

Computes `e^(self)`, where `e` is the base of the natural logarithm.

source§

#### fn simd_ln(self) -> Self

Computes the principal value of natural logarithm of `self`.

This function has one branch cut:

- `(-∞, 0]`, continuous from above.

The branch satisfies `-π ≤ arg(ln(z)) ≤ π`.

source§

#### fn simd_sqrt(self) -> Self

Computes the principal value of the square root of `self`.

This function has one branch cut:

- `(-∞, 0)`, continuous from above.

The branch satisfies `-π/2 ≤ arg(sqrt(z)) ≤ π/2`.

source§

#### fn simd_powf(self, exp: Self::SimdRealField) -> Self

Raises `self` to a floating point power.

source§

#### fn simd_log(self, base: AutoSimd<[f32; 2]>) -> Self

Returns the logarithm of `self` with respect to an arbitrary base.

source§

#### fn simd_powc(self, exp: Self) -> Self

Raises `self` to a complex power.

source§

#### fn simd_sin(self) -> Self

Computes the sine of `self`.

source§

#### fn simd_cos(self) -> Self

Computes the cosine of `self`.

source§

#### fn simd_tan(self) -> Self

Computes the tangent of `self`.

source§

#### fn simd_asin(self) -> Self

Computes the principal value of the inverse sine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Re(asin(z)) ≤ π/2`.

source§

#### fn simd_acos(self) -> Self

Computes the principal value of the inverse cosine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `0 ≤ Re(acos(z)) ≤ π`.

source§

#### fn simd_atan(self) -> Self

Computes the principal value of the inverse tangent of `self`.

This function has two branch cuts:

- `(-∞i, -i]`, continuous from the left.
- `[i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Re(atan(z)) ≤ π/2`.

source§

#### fn simd_sinh(self) -> Self

Computes the hyperbolic sine of `self`.

source§

#### fn simd_cosh(self) -> Self

Computes the hyperbolic cosine of `self`.

source§

#### fn simd_tanh(self) -> Self

Computes the hyperbolic tangent of `self`.

source§

#### fn simd_asinh(self) -> Self

Computes the principal value of inverse hyperbolic sine of `self`.

This function has two branch cuts:

- `(-∞i, -i)`, continuous from the left.
- `(i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Im(asinh(z)) ≤ π/2`.

source§

#### fn simd_acosh(self) -> Self

Computes the principal value of inverse hyperbolic cosine of `self`.

This function has one branch cut:

- `(-∞, 1)`, continuous from above.

The branch satisfies `-π ≤ Im(acosh(z)) ≤ π` and `0 ≤ Re(acosh(z)) < ∞`.

source§

#### fn simd_atanh(self) -> Self

Computes the principal value of inverse hyperbolic tangent of `self`.

This function has two branch cuts:

- `(-∞, -1]`, continuous from above.
- `[1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Im(atanh(z)) ≤ π/2`.

§

#### type SimdRealField = AutoSimd<[f32; 2]>

source§

#### fn simd_horizontal_sum(self) -> Self::Element

source§

#### fn simd_horizontal_product(self) -> Self::Element

source§

#### fn from_simd_real(re: Self::SimdRealField) -> Self

source§

#### fn simd_real(self) -> Self::SimdRealField

source§

#### fn simd_imaginary(self) -> Self::SimdRealField

source§

#### fn simd_argument(self) -> Self::SimdRealField

source§

#### fn simd_modulus(self) -> Self::SimdRealField

source§

#### fn simd_modulus_squared(self) -> Self::SimdRealField

source§

#### fn simd_norm1(self) -> Self::SimdRealField

source§

#### fn simd_recip(self) -> Self

source§

#### fn simd_conjugate(self) -> Self

source§

#### fn simd_scale(self, factor: Self::SimdRealField) -> Self

source§

#### fn simd_unscale(self, factor: Self::SimdRealField) -> Self

source§

#### fn simd_floor(self) -> Self

source§

#### fn simd_ceil(self) -> Self

source§

#### fn simd_round(self) -> Self

source§

#### fn simd_trunc(self) -> Self

source§

#### fn simd_fract(self) -> Self

source§

#### fn simd_mul_add(self, a: Self, b: Self) -> Self

source§

#### fn simd_abs(self) -> Self::SimdRealField

source§

#### fn simd_exp2(self) -> Self

source§

#### fn simd_exp_m1(self) -> Self

source§

#### fn simd_ln_1p(self) -> Self

source§

#### fn simd_log2(self) -> Self

source§

#### fn simd_log10(self) -> Self

source§

#### fn simd_cbrt(self) -> Self

source§

#### fn simd_powi(self, n: i32) -> Self

source§

#### fn simd_hypot(self, b: Self) -> Self::SimdRealField

source§

#### fn simd_sin_cos(self) -> (Self, Self)

source§

#### fn simd_sinh_cosh(self) -> (Self, Self)

source§

### impl SimdComplexField for Complex<AutoSimd<[f32; 4]>>

source§

#### fn simd_exp(self) -> Self

Computes `e^(self)`, where `e` is the base of the natural logarithm.

source§

#### fn simd_ln(self) -> Self

Computes the principal value of natural logarithm of `self`.

This function has one branch cut:

- `(-∞, 0]`, continuous from above.

The branch satisfies `-π ≤ arg(ln(z)) ≤ π`.

source§

#### fn simd_sqrt(self) -> Self

Computes the principal value of the square root of `self`.

This function has one branch cut:

- `(-∞, 0)`, continuous from above.

The branch satisfies `-π/2 ≤ arg(sqrt(z)) ≤ π/2`.

source§

#### fn simd_powf(self, exp: Self::SimdRealField) -> Self

Raises `self` to a floating point power.

source§

#### fn simd_log(self, base: AutoSimd<[f32; 4]>) -> Self

Returns the logarithm of `self` with respect to an arbitrary base.

source§

#### fn simd_powc(self, exp: Self) -> Self

Raises `self` to a complex power.

source§

#### fn simd_sin(self) -> Self

Computes the sine of `self`.

source§

#### fn simd_cos(self) -> Self

Computes the cosine of `self`.

source§

#### fn simd_tan(self) -> Self

Computes the tangent of `self`.

source§

#### fn simd_asin(self) -> Self

Computes the principal value of the inverse sine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Re(asin(z)) ≤ π/2`.

source§

#### fn simd_acos(self) -> Self

Computes the principal value of the inverse cosine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `0 ≤ Re(acos(z)) ≤ π`.

source§

#### fn simd_atan(self) -> Self

Computes the principal value of the inverse tangent of `self`.

This function has two branch cuts:

- `(-∞i, -i]`, continuous from the left.
- `[i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Re(atan(z)) ≤ π/2`.

source§

#### fn simd_sinh(self) -> Self

Computes the hyperbolic sine of `self`.

source§

#### fn simd_cosh(self) -> Self

Computes the hyperbolic cosine of `self`.

source§

#### fn simd_tanh(self) -> Self

Computes the hyperbolic tangent of `self`.

source§

#### fn simd_asinh(self) -> Self

Computes the principal value of inverse hyperbolic sine of `self`.

This function has two branch cuts:

- `(-∞i, -i)`, continuous from the left.
- `(i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Im(asinh(z)) ≤ π/2`.

source§

#### fn simd_acosh(self) -> Self

Computes the principal value of inverse hyperbolic cosine of `self`.

This function has one branch cut:

- `(-∞, 1)`, continuous from above.

The branch satisfies `-π ≤ Im(acosh(z)) ≤ π` and `0 ≤ Re(acosh(z)) < ∞`.

source§

#### fn simd_atanh(self) -> Self

Computes the principal value of inverse hyperbolic tangent of `self`.

This function has two branch cuts:

- `(-∞, -1]`, continuous from above.
- `[1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Im(atanh(z)) ≤ π/2`.

§

#### type SimdRealField = AutoSimd<[f32; 4]>

source§

#### fn simd_horizontal_sum(self) -> Self::Element

source§

#### fn simd_horizontal_product(self) -> Self::Element

source§

#### fn from_simd_real(re: Self::SimdRealField) -> Self

source§

#### fn simd_real(self) -> Self::SimdRealField

source§

#### fn simd_imaginary(self) -> Self::SimdRealField

source§

#### fn simd_argument(self) -> Self::SimdRealField

source§

#### fn simd_modulus(self) -> Self::SimdRealField

source§

#### fn simd_modulus_squared(self) -> Self::SimdRealField

source§

#### fn simd_norm1(self) -> Self::SimdRealField

source§

#### fn simd_recip(self) -> Self

source§

#### fn simd_conjugate(self) -> Self

source§

#### fn simd_scale(self, factor: Self::SimdRealField) -> Self

source§

#### fn simd_unscale(self, factor: Self::SimdRealField) -> Self

source§

#### fn simd_floor(self) -> Self

source§

#### fn simd_ceil(self) -> Self

source§

#### fn simd_round(self) -> Self

source§

#### fn simd_trunc(self) -> Self

source§

#### fn simd_fract(self) -> Self

source§

#### fn simd_mul_add(self, a: Self, b: Self) -> Self

source§

#### fn simd_abs(self) -> Self::SimdRealField

source§

#### fn simd_exp2(self) -> Self

source§

#### fn simd_exp_m1(self) -> Self

source§

#### fn simd_ln_1p(self) -> Self

source§

#### fn simd_log2(self) -> Self

source§

#### fn simd_log10(self) -> Self

source§

#### fn simd_cbrt(self) -> Self

source§

#### fn simd_powi(self, n: i32) -> Self

source§

#### fn simd_hypot(self, b: Self) -> Self::SimdRealField

source§

#### fn simd_sin_cos(self) -> (Self, Self)

source§

#### fn simd_sinh_cosh(self) -> (Self, Self)

source§

### impl SimdComplexField for Complex<AutoSimd<[f32; 8]>>

source§

#### fn simd_exp(self) -> Self

Computes `e^(self)`, where `e` is the base of the natural logarithm.

source§

#### fn simd_ln(self) -> Self

Computes the principal value of natural logarithm of `self`.

This function has one branch cut:

- `(-∞, 0]`, continuous from above.

The branch satisfies `-π ≤ arg(ln(z)) ≤ π`.

source§

#### fn simd_sqrt(self) -> Self

Computes the principal value of the square root of `self`.

This function has one branch cut:

- `(-∞, 0)`, continuous from above.

The branch satisfies `-π/2 ≤ arg(sqrt(z)) ≤ π/2`.

source§

#### fn simd_powf(self, exp: Self::SimdRealField) -> Self

Raises `self` to a floating point power.

source§

#### fn simd_log(self, base: AutoSimd<[f32; 8]>) -> Self

Returns the logarithm of `self` with respect to an arbitrary base.

source§

#### fn simd_powc(self, exp: Self) -> Self

Raises `self` to a complex power.

source§

#### fn simd_sin(self) -> Self

Computes the sine of `self`.

source§

#### fn simd_cos(self) -> Self

Computes the cosine of `self`.

source§

#### fn simd_tan(self) -> Self

Computes the tangent of `self`.

source§

#### fn simd_asin(self) -> Self

Computes the principal value of the inverse sine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Re(asin(z)) ≤ π/2`.

source§

#### fn simd_acos(self) -> Self

Computes the principal value of the inverse cosine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `0 ≤ Re(acos(z)) ≤ π`.

source§

#### fn simd_atan(self) -> Self

Computes the principal value of the inverse tangent of `self`.

This function has two branch cuts:

- `(-∞i, -i]`, continuous from the left.
- `[i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Re(atan(z)) ≤ π/2`.

source§

#### fn simd_sinh(self) -> Self

Computes the hyperbolic sine of `self`.

source§

#### fn simd_cosh(self) -> Self

Computes the hyperbolic cosine of `self`.

source§

#### fn simd_tanh(self) -> Self

Computes the hyperbolic tangent of `self`.

source§

#### fn simd_asinh(self) -> Self

Computes the principal value of inverse hyperbolic sine of `self`.

This function has two branch cuts:

- `(-∞i, -i)`, continuous from the left.
- `(i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Im(asinh(z)) ≤ π/2`.

source§

#### fn simd_acosh(self) -> Self

Computes the principal value of inverse hyperbolic cosine of `self`.

This function has one branch cut:

- `(-∞, 1)`, continuous from above.

The branch satisfies `-π ≤ Im(acosh(z)) ≤ π` and `0 ≤ Re(acosh(z)) < ∞`.

source§

#### fn simd_atanh(self) -> Self

Computes the principal value of inverse hyperbolic tangent of `self`.

This function has two branch cuts:

- `(-∞, -1]`, continuous from above.
- `[1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Im(atanh(z)) ≤ π/2`.

§

#### type SimdRealField = AutoSimd<[f32; 8]>

source§

#### fn simd_horizontal_sum(self) -> Self::Element

source§

#### fn simd_horizontal_product(self) -> Self::Element

source§

#### fn from_simd_real(re: Self::SimdRealField) -> Self

source§

#### fn simd_real(self) -> Self::SimdRealField

source§

#### fn simd_imaginary(self) -> Self::SimdRealField

source§

#### fn simd_argument(self) -> Self::SimdRealField

source§

#### fn simd_modulus(self) -> Self::SimdRealField

source§

#### fn simd_modulus_squared(self) -> Self::SimdRealField

source§

#### fn simd_norm1(self) -> Self::SimdRealField

source§

#### fn simd_recip(self) -> Self

source§

#### fn simd_conjugate(self) -> Self

source§

#### fn simd_scale(self, factor: Self::SimdRealField) -> Self

source§

#### fn simd_unscale(self, factor: Self::SimdRealField) -> Self

source§

#### fn simd_floor(self) -> Self

source§

#### fn simd_ceil(self) -> Self

source§

#### fn simd_round(self) -> Self

source§

#### fn simd_trunc(self) -> Self

source§

#### fn simd_fract(self) -> Self

source§

#### fn simd_mul_add(self, a: Self, b: Self) -> Self

source§

#### fn simd_abs(self) -> Self::SimdRealField

source§

#### fn simd_exp2(self) -> Self

source§

#### fn simd_exp_m1(self) -> Self

source§

#### fn simd_ln_1p(self) -> Self

source§

#### fn simd_log2(self) -> Self

source§

#### fn simd_log10(self) -> Self

source§

#### fn simd_cbrt(self) -> Self

source§

#### fn simd_powi(self, n: i32) -> Self

source§

#### fn simd_hypot(self, b: Self) -> Self::SimdRealField

source§

#### fn simd_sin_cos(self) -> (Self, Self)

source§

#### fn simd_sinh_cosh(self) -> (Self, Self)

source§

### impl SimdComplexField for Complex<AutoSimd<[f32; 16]>>

source§

#### fn simd_exp(self) -> Self

Computes `e^(self)`, where `e` is the base of the natural logarithm.

source§

#### fn simd_ln(self) -> Self

Computes the principal value of natural logarithm of `self`.

This function has one branch cut:

- `(-∞, 0]`, continuous from above.

The branch satisfies `-π ≤ arg(ln(z)) ≤ π`.

source§

#### fn simd_sqrt(self) -> Self

Computes the principal value of the square root of `self`.

This function has one branch cut:

- `(-∞, 0)`, continuous from above.

The branch satisfies `-π/2 ≤ arg(sqrt(z)) ≤ π/2`.

source§

#### fn simd_powf(self, exp: Self::SimdRealField) -> Self

Raises `self` to a floating point power.

source§

#### fn simd_log(self, base: AutoSimd<[f32; 16]>) -> Self

Returns the logarithm of `self` with respect to an arbitrary base.

source§

#### fn simd_powc(self, exp: Self) -> Self

Raises `self` to a complex power.

source§

#### fn simd_sin(self) -> Self

Computes the sine of `self`.

source§

#### fn simd_cos(self) -> Self

Computes the cosine of `self`.

source§

#### fn simd_tan(self) -> Self

Computes the tangent of `self`.

source§

#### fn simd_asin(self) -> Self

Computes the principal value of the inverse sine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Re(asin(z)) ≤ π/2`.

source§

#### fn simd_acos(self) -> Self

Computes the principal value of the inverse cosine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `0 ≤ Re(acos(z)) ≤ π`.

source§

#### fn simd_atan(self) -> Self

Computes the principal value of the inverse tangent of `self`.

This function has two branch cuts:

- `(-∞i, -i]`, continuous from the left.
- `[i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Re(atan(z)) ≤ π/2`.

source§

#### fn simd_sinh(self) -> Self

Computes the hyperbolic sine of `self`.

source§

#### fn simd_cosh(self) -> Self

Computes the hyperbolic cosine of `self`.

source§

#### fn simd_tanh(self) -> Self

Computes the hyperbolic tangent of `self`.

source§

#### fn simd_asinh(self) -> Self

Computes the principal value of inverse hyperbolic sine of `self`.

This function has two branch cuts:

- `(-∞i, -i)`, continuous from the left.
- `(i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Im(asinh(z)) ≤ π/2`.

source§

#### fn simd_acosh(self) -> Self

Computes the principal value of inverse hyperbolic cosine of `self`.

This function has one branch cut:

- `(-∞, 1)`, continuous from above.

The branch satisfies `-π ≤ Im(acosh(z)) ≤ π` and `0 ≤ Re(acosh(z)) < ∞`.

source§

#### fn simd_atanh(self) -> Self

Computes the principal value of inverse hyperbolic tangent of `self`.

This function has two branch cuts:

- `(-∞, -1]`, continuous from above.
- `[1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Im(atanh(z)) ≤ π/2`.

§

#### type SimdRealField = AutoSimd<[f32; 16]>

source§

#### fn simd_horizontal_sum(self) -> Self::Element

source§

#### fn simd_horizontal_product(self) -> Self::Element

source§

#### fn from_simd_real(re: Self::SimdRealField) -> Self

source§

#### fn simd_real(self) -> Self::SimdRealField

source§

#### fn simd_imaginary(self) -> Self::SimdRealField

source§

#### fn simd_argument(self) -> Self::SimdRealField

source§

#### fn simd_modulus(self) -> Self::SimdRealField

source§

#### fn simd_modulus_squared(self) -> Self::SimdRealField

source§

#### fn simd_norm1(self) -> Self::SimdRealField

source§

#### fn simd_recip(self) -> Self

source§

#### fn simd_conjugate(self) -> Self

source§

#### fn simd_scale(self, factor: Self::SimdRealField) -> Self

source§

#### fn simd_unscale(self, factor: Self::SimdRealField) -> Self

source§

#### fn simd_floor(self) -> Self

source§

#### fn simd_ceil(self) -> Self

source§

#### fn simd_round(self) -> Self

source§

#### fn simd_trunc(self) -> Self

source§

#### fn simd_fract(self) -> Self

source§

#### fn simd_mul_add(self, a: Self, b: Self) -> Self

source§

#### fn simd_abs(self) -> Self::SimdRealField

source§

#### fn simd_exp2(self) -> Self

source§

#### fn simd_exp_m1(self) -> Self

source§

#### fn simd_ln_1p(self) -> Self

source§

#### fn simd_log2(self) -> Self

source§

#### fn simd_log10(self) -> Self

source§

#### fn simd_cbrt(self) -> Self

source§

#### fn simd_powi(self, n: i32) -> Self

source§

#### fn simd_hypot(self, b: Self) -> Self::SimdRealField

source§

#### fn simd_sin_cos(self) -> (Self, Self)

source§

#### fn simd_sinh_cosh(self) -> (Self, Self)

source§

### impl SimdComplexField for Complex<AutoSimd<[f64; 2]>>

source§

#### fn simd_exp(self) -> Self

Computes `e^(self)`, where `e` is the base of the natural logarithm.

source§

#### fn simd_ln(self) -> Self

Computes the principal value of natural logarithm of `self`.

This function has one branch cut:

- `(-∞, 0]`, continuous from above.

The branch satisfies `-π ≤ arg(ln(z)) ≤ π`.

source§

#### fn simd_sqrt(self) -> Self

Computes the principal value of the square root of `self`.

This function has one branch cut:

- `(-∞, 0)`, continuous from above.

The branch satisfies `-π/2 ≤ arg(sqrt(z)) ≤ π/2`.

source§

#### fn simd_powf(self, exp: Self::SimdRealField) -> Self

Raises `self` to a floating point power.

source§

#### fn simd_log(self, base: AutoSimd<[f64; 2]>) -> Self

Returns the logarithm of `self` with respect to an arbitrary base.

source§

#### fn simd_powc(self, exp: Self) -> Self

Raises `self` to a complex power.

source§

#### fn simd_sin(self) -> Self

Computes the sine of `self`.

source§

#### fn simd_cos(self) -> Self

Computes the cosine of `self`.

source§

#### fn simd_tan(self) -> Self

Computes the tangent of `self`.

source§

#### fn simd_asin(self) -> Self

Computes the principal value of the inverse sine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Re(asin(z)) ≤ π/2`.

source§

#### fn simd_acos(self) -> Self

Computes the principal value of the inverse cosine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `0 ≤ Re(acos(z)) ≤ π`.

source§

#### fn simd_atan(self) -> Self

Computes the principal value of the inverse tangent of `self`.

This function has two branch cuts:

- `(-∞i, -i]`, continuous from the left.
- `[i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Re(atan(z)) ≤ π/2`.

source§

#### fn simd_sinh(self) -> Self

Computes the hyperbolic sine of `self`.

source§

#### fn simd_cosh(self) -> Self

Computes the hyperbolic cosine of `self`.

source§

#### fn simd_tanh(self) -> Self

Computes the hyperbolic tangent of `self`.

source§

#### fn simd_asinh(self) -> Self

Computes the principal value of inverse hyperbolic sine of `self`.

This function has two branch cuts:

- `(-∞i, -i)`, continuous from the left.
- `(i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Im(asinh(z)) ≤ π/2`.

source§

#### fn simd_acosh(self) -> Self

Computes the principal value of inverse hyperbolic cosine of `self`.

This function has one branch cut:

- `(-∞, 1)`, continuous from above.

The branch satisfies `-π ≤ Im(acosh(z)) ≤ π` and `0 ≤ Re(acosh(z)) < ∞`.

source§

#### fn simd_atanh(self) -> Self

Computes the principal value of inverse hyperbolic tangent of `self`.

This function has two branch cuts:

- `(-∞, -1]`, continuous from above.
- `[1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Im(atanh(z)) ≤ π/2`.

§

#### type SimdRealField = AutoSimd<[f64; 2]>

source§

#### fn simd_horizontal_sum(self) -> Self::Element

source§

#### fn simd_horizontal_product(self) -> Self::Element

source§

#### fn from_simd_real(re: Self::SimdRealField) -> Self

source§

#### fn simd_real(self) -> Self::SimdRealField

source§

#### fn simd_imaginary(self) -> Self::SimdRealField

source§

#### fn simd_argument(self) -> Self::SimdRealField

source§

#### fn simd_modulus(self) -> Self::SimdRealField

source§

#### fn simd_modulus_squared(self) -> Self::SimdRealField

source§

#### fn simd_norm1(self) -> Self::SimdRealField

source§

#### fn simd_recip(self) -> Self

source§

#### fn simd_conjugate(self) -> Self

source§

#### fn simd_scale(self, factor: Self::SimdRealField) -> Self

source§

#### fn simd_unscale(self, factor: Self::SimdRealField) -> Self

source§

#### fn simd_floor(self) -> Self

source§

#### fn simd_ceil(self) -> Self

source§

#### fn simd_round(self) -> Self

source§

#### fn simd_trunc(self) -> Self

source§

#### fn simd_fract(self) -> Self

source§

#### fn simd_mul_add(self, a: Self, b: Self) -> Self

source§

#### fn simd_abs(self) -> Self::SimdRealField

source§

#### fn simd_exp2(self) -> Self

source§

#### fn simd_exp_m1(self) -> Self

source§

#### fn simd_ln_1p(self) -> Self

source§

#### fn simd_log2(self) -> Self

source§

#### fn simd_log10(self) -> Self

source§

#### fn simd_cbrt(self) -> Self

source§

#### fn simd_powi(self, n: i32) -> Self

source§

#### fn simd_hypot(self, b: Self) -> Self::SimdRealField

source§

#### fn simd_sin_cos(self) -> (Self, Self)

source§

#### fn simd_sinh_cosh(self) -> (Self, Self)

source§

### impl SimdComplexField for Complex<AutoSimd<[f64; 4]>>

source§

#### fn simd_exp(self) -> Self

Computes `e^(self)`, where `e` is the base of the natural logarithm.

source§

#### fn simd_ln(self) -> Self

Computes the principal value of natural logarithm of `self`.

This function has one branch cut:

- `(-∞, 0]`, continuous from above.

The branch satisfies `-π ≤ arg(ln(z)) ≤ π`.

source§

#### fn simd_sqrt(self) -> Self

Computes the principal value of the square root of `self`.

This function has one branch cut:

- `(-∞, 0)`, continuous from above.

The branch satisfies `-π/2 ≤ arg(sqrt(z)) ≤ π/2`.

source§

#### fn simd_powf(self, exp: Self::SimdRealField) -> Self

Raises `self` to a floating point power.

source§

#### fn simd_log(self, base: AutoSimd<[f64; 4]>) -> Self

Returns the logarithm of `self` with respect to an arbitrary base.

source§

#### fn simd_powc(self, exp: Self) -> Self

Raises `self` to a complex power.

source§

#### fn simd_sin(self) -> Self

Computes the sine of `self`.

source§

#### fn simd_cos(self) -> Self

Computes the cosine of `self`.

source§

#### fn simd_tan(self) -> Self

Computes the tangent of `self`.

source§

#### fn simd_asin(self) -> Self

Computes the principal value of the inverse sine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Re(asin(z)) ≤ π/2`.

source§

#### fn simd_acos(self) -> Self

Computes the principal value of the inverse cosine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `0 ≤ Re(acos(z)) ≤ π`.

source§

#### fn simd_atan(self) -> Self

Computes the principal value of the inverse tangent of `self`.

This function has two branch cuts:

- `(-∞i, -i]`, continuous from the left.
- `[i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Re(atan(z)) ≤ π/2`.

source§

#### fn simd_sinh(self) -> Self

Computes the hyperbolic sine of `self`.

source§

#### fn simd_cosh(self) -> Self

Computes the hyperbolic cosine of `self`.

source§

#### fn simd_tanh(self) -> Self

Computes the hyperbolic tangent of `self`.

source§

#### fn simd_asinh(self) -> Self

Computes the principal value of inverse hyperbolic sine of `self`.

This function has two branch cuts:

- `(-∞i, -i)`, continuous from the left.
- `(i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Im(asinh(z)) ≤ π/2`.

source§

#### fn simd_acosh(self) -> Self

Computes the principal value of inverse hyperbolic cosine of `self`.

This function has one branch cut:

- `(-∞, 1)`, continuous from above.

The branch satisfies `-π ≤ Im(acosh(z)) ≤ π` and `0 ≤ Re(acosh(z)) < ∞`.

source§

#### fn simd_atanh(self) -> Self

Computes the principal value of inverse hyperbolic tangent of `self`.

This function has two branch cuts:

- `(-∞, -1]`, continuous from above.
- `[1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Im(atanh(z)) ≤ π/2`.

§

#### type SimdRealField = AutoSimd<[f64; 4]>

source§

#### fn simd_horizontal_sum(self) -> Self::Element

source§

#### fn simd_horizontal_product(self) -> Self::Element

source§

#### fn from_simd_real(re: Self::SimdRealField) -> Self

source§

#### fn simd_real(self) -> Self::SimdRealField

source§

#### fn simd_imaginary(self) -> Self::SimdRealField

source§

#### fn simd_argument(self) -> Self::SimdRealField

source§

#### fn simd_modulus(self) -> Self::SimdRealField

source§

#### fn simd_modulus_squared(self) -> Self::SimdRealField

source§

#### fn simd_norm1(self) -> Self::SimdRealField

source§

#### fn simd_recip(self) -> Self

source§

#### fn simd_conjugate(self) -> Self

source§

#### fn simd_scale(self, factor: Self::SimdRealField) -> Self

source§

#### fn simd_unscale(self, factor: Self::SimdRealField) -> Self

source§

#### fn simd_floor(self) -> Self

source§

#### fn simd_ceil(self) -> Self

source§

#### fn simd_round(self) -> Self

source§

#### fn simd_trunc(self) -> Self

source§

#### fn simd_fract(self) -> Self

source§

#### fn simd_mul_add(self, a: Self, b: Self) -> Self

source§

#### fn simd_abs(self) -> Self::SimdRealField

source§

#### fn simd_exp2(self) -> Self

source§

#### fn simd_exp_m1(self) -> Self

source§

#### fn simd_ln_1p(self) -> Self

source§

#### fn simd_log2(self) -> Self

source§

#### fn simd_log10(self) -> Self

source§

#### fn simd_cbrt(self) -> Self

source§

#### fn simd_powi(self, n: i32) -> Self

source§

#### fn simd_hypot(self, b: Self) -> Self::SimdRealField

source§

#### fn simd_sin_cos(self) -> (Self, Self)

source§

#### fn simd_sinh_cosh(self) -> (Self, Self)

source§

### impl SimdComplexField for Complex<AutoSimd<[f64; 8]>>

source§

#### fn simd_exp(self) -> Self

Computes `e^(self)`, where `e` is the base of the natural logarithm.

source§

#### fn simd_ln(self) -> Self

Computes the principal value of natural logarithm of `self`.

This function has one branch cut:

- `(-∞, 0]`, continuous from above.

The branch satisfies `-π ≤ arg(ln(z)) ≤ π`.

source§

#### fn simd_sqrt(self) -> Self

Computes the principal value of the square root of `self`.

This function has one branch cut:

- `(-∞, 0)`, continuous from above.

The branch satisfies `-π/2 ≤ arg(sqrt(z)) ≤ π/2`.

source§

#### fn simd_powf(self, exp: Self::SimdRealField) -> Self

Raises `self` to a floating point power.

source§

#### fn simd_log(self, base: AutoSimd<[f64; 8]>) -> Self

Returns the logarithm of `self` with respect to an arbitrary base.

source§

#### fn simd_powc(self, exp: Self) -> Self

Raises `self` to a complex power.

source§

#### fn simd_sin(self) -> Self

Computes the sine of `self`.

source§

#### fn simd_cos(self) -> Self

Computes the cosine of `self`.

source§

#### fn simd_tan(self) -> Self

Computes the tangent of `self`.

source§

#### fn simd_asin(self) -> Self

Computes the principal value of the inverse sine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Re(asin(z)) ≤ π/2`.

source§

#### fn simd_acos(self) -> Self

Computes the principal value of the inverse cosine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `0 ≤ Re(acos(z)) ≤ π`.

source§

#### fn simd_atan(self) -> Self

Computes the principal value of the inverse tangent of `self`.

This function has two branch cuts:

- `(-∞i, -i]`, continuous from the left.
- `[i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Re(atan(z)) ≤ π/2`.

source§

#### fn simd_sinh(self) -> Self

Computes the hyperbolic sine of `self`.

source§

#### fn simd_cosh(self) -> Self

Computes the hyperbolic cosine of `self`.

source§

#### fn simd_tanh(self) -> Self

Computes the hyperbolic tangent of `self`.

source§

#### fn simd_asinh(self) -> Self

Computes the principal value of inverse hyperbolic sine of `self`.

This function has two branch cuts:

- `(-∞i, -i)`, continuous from the left.
- `(i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Im(asinh(z)) ≤ π/2`.

source§

#### fn simd_acosh(self) -> Self

Computes the principal value of inverse hyperbolic cosine of `self`.

This function has one branch cut:

- `(-∞, 1)`, continuous from above.

The branch satisfies `-π ≤ Im(acosh(z)) ≤ π` and `0 ≤ Re(acosh(z)) < ∞`.

source§

#### fn simd_atanh(self) -> Self

Computes the principal value of inverse hyperbolic tangent of `self`.

This function has two branch cuts:

- `(-∞, -1]`, continuous from above.
- `[1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Im(atanh(z)) ≤ π/2`.

§

#### type SimdRealField = AutoSimd<[f64; 8]>

source§

#### fn simd_horizontal_sum(self) -> Self::Element

source§

#### fn simd_horizontal_product(self) -> Self::Element

source§

#### fn from_simd_real(re: Self::SimdRealField) -> Self

source§

#### fn simd_real(self) -> Self::SimdRealField

source§

#### fn simd_imaginary(self) -> Self::SimdRealField

source§

#### fn simd_argument(self) -> Self::SimdRealField

source§

#### fn simd_modulus(self) -> Self::SimdRealField

source§

#### fn simd_modulus_squared(self) -> Self::SimdRealField

source§

#### fn simd_norm1(self) -> Self::SimdRealField

source§

#### fn simd_recip(self) -> Self

source§

#### fn simd_conjugate(self) -> Self

source§

#### fn simd_scale(self, factor: Self::SimdRealField) -> Self

source§

#### fn simd_unscale(self, factor: Self::SimdRealField) -> Self

source§

#### fn simd_floor(self) -> Self

source§

#### fn simd_ceil(self) -> Self

source§

#### fn simd_round(self) -> Self

source§

#### fn simd_trunc(self) -> Self

source§

#### fn simd_fract(self) -> Self

source§

#### fn simd_mul_add(self, a: Self, b: Self) -> Self

source§

#### fn simd_abs(self) -> Self::SimdRealField

source§

#### fn simd_exp2(self) -> Self

source§

#### fn simd_exp_m1(self) -> Self

source§

#### fn simd_ln_1p(self) -> Self

source§

#### fn simd_log2(self) -> Self

source§

#### fn simd_log10(self) -> Self

source§

#### fn simd_cbrt(self) -> Self

source§

#### fn simd_powi(self, n: i32) -> Self

source§

#### fn simd_hypot(self, b: Self) -> Self::SimdRealField

source§

#### fn simd_sin_cos(self) -> (Self, Self)

source§

#### fn simd_sinh_cosh(self) -> (Self, Self)

## Implementors§

source§

### impl SimdComplexField for AutoSimd<[f32; 2]>

§

#### type SimdRealField = AutoSimd<[f32; 2]>

source§

### impl SimdComplexField for AutoSimd<[f32; 4]>

§

#### type SimdRealField = AutoSimd<[f32; 4]>

source§

### impl SimdComplexField for AutoSimd<[f32; 8]>

§

#### type SimdRealField = AutoSimd<[f32; 8]>

source§

### impl SimdComplexField for AutoSimd<[f32; 16]>

§

#### type SimdRealField = AutoSimd<[f32; 16]>

source§

### impl SimdComplexField for AutoSimd<[f64; 2]>

§

#### type SimdRealField = AutoSimd<[f64; 2]>

source§

### impl SimdComplexField for AutoSimd<[f64; 4]>

§

#### type SimdRealField = AutoSimd<[f64; 4]>

source§

### impl SimdComplexField for AutoSimd<[f64; 8]>

§

#### type SimdRealField = AutoSimd<[f64; 8]>

source§

### impl<T: ComplexField> SimdComplexField for T

§

#### type SimdRealField = <T as ComplexField>::RealField