cauchy

Trait Scalar

Source
pub trait Scalar:
    NumAssign
    + FromPrimitive
    + NumCast
    + Neg<Output = Self>
    + Copy
    + Clone
    + Display
    + Debug
    + LowerExp
    + UpperExp
    + Sum
    + Product
    + Serialize
    + for<'de> Deserialize<'de>
    + 'static {
    type Real: Scalar<Real = Self::Real, Complex = Self::Complex> + NumOps<Self::Real, Self::Real> + Float;
    type Complex: Scalar<Real = Self::Real, Complex = Self::Complex> + NumOps<Self::Real, Self::Complex> + NumOps<Self::Complex, Self::Complex>;

Show 37 methods // Required methods fn real<T: ToPrimitive>(re: T) -> Self::Real; fn complex<T: ToPrimitive>(re: T, im: T) -> Self::Complex; fn from_real(re: Self::Real) -> Self; fn add_real(self, re: Self::Real) -> Self; fn sub_real(self, re: Self::Real) -> Self; fn mul_real(self, re: Self::Real) -> Self; fn div_real(self, re: Self::Real) -> Self; fn add_complex(self, im: Self::Complex) -> Self::Complex; fn sub_complex(self, im: Self::Complex) -> Self::Complex; fn mul_complex(self, im: Self::Complex) -> Self::Complex; fn div_complex(self, im: Self::Complex) -> Self::Complex; fn pow(self, n: Self) -> Self; fn powi(self, n: i32) -> Self; fn powf(self, n: Self::Real) -> Self; fn powc(self, n: Self::Complex) -> Self::Complex; fn re(&self) -> Self::Real; fn im(&self) -> Self::Real; fn as_c(&self) -> Self::Complex; fn conj(&self) -> Self; fn abs(self) -> Self::Real; fn square(self) -> Self::Real; fn sqrt(self) -> Self; fn exp(self) -> Self; fn ln(self) -> Self; fn sin(self) -> Self; fn cos(self) -> Self; fn tan(self) -> Self; fn asin(self) -> Self; fn acos(self) -> Self; fn atan(self) -> Self; fn sinh(self) -> Self; fn cosh(self) -> Self; fn tanh(self) -> Self; fn asinh(self) -> Self; fn acosh(self) -> Self; fn atanh(self) -> Self; fn rand(rng: &mut impl Rng) -> Self;
}

Required Associated Types§

Source

type Real: Scalar<Real = Self::Real, Complex = Self::Complex> + NumOps<Self::Real, Self::Real> + Float

Source

type Complex: Scalar<Real = Self::Real, Complex = Self::Complex> + NumOps<Self::Real, Self::Complex> + NumOps<Self::Complex, Self::Complex>

Required Methods§

Source

fn real<T: ToPrimitive>(re: T) -> Self::Real

Create a new real number

Source

fn complex<T: ToPrimitive>(re: T, im: T) -> Self::Complex

Create a new complex number

Source

fn from_real(re: Self::Real) -> Self

Source

fn add_real(self, re: Self::Real) -> Self

Source

fn sub_real(self, re: Self::Real) -> Self

Source

fn mul_real(self, re: Self::Real) -> Self

Source

fn div_real(self, re: Self::Real) -> Self

Source

fn add_complex(self, im: Self::Complex) -> Self::Complex

Source

fn sub_complex(self, im: Self::Complex) -> Self::Complex

Source

fn mul_complex(self, im: Self::Complex) -> Self::Complex

Source

fn div_complex(self, im: Self::Complex) -> Self::Complex

Source

fn pow(self, n: Self) -> Self

Source

fn powi(self, n: i32) -> Self

Source

fn powf(self, n: Self::Real) -> Self

Source

fn powc(self, n: Self::Complex) -> Self::Complex

Source

fn re(&self) -> Self::Real

Real part

Source

fn im(&self) -> Self::Real

Imaginary part

Source

fn as_c(&self) -> Self::Complex

As a complex number

Source

fn conj(&self) -> Self

Complex conjugate

Source

fn abs(self) -> Self::Real

Absolute value

Source

fn square(self) -> Self::Real

Sqaure of absolute value

Source

fn sqrt(self) -> Self

Source

fn exp(self) -> Self

Source

fn ln(self) -> Self

Source

fn sin(self) -> Self

Source

fn cos(self) -> Self

Source

fn tan(self) -> Self

Source

fn asin(self) -> Self

Source

fn acos(self) -> Self

Source

fn atan(self) -> Self

Source

fn sinh(self) -> Self

Source

fn cosh(self) -> Self

Source

fn tanh(self) -> Self

Source

fn asinh(self) -> Self

Source

fn acosh(self) -> Self

Source

fn atanh(self) -> Self

Source

fn rand(rng: &mut impl Rng) -> Self

Generate an random number from rand::distributions::Standard

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Scalar for f32

Source§

type Real = f32

Source§

type Complex = Complex<f32>

Source§

fn re(&self) -> Self::Real

Source§

fn im(&self) -> Self::Real

Source§

fn from_real(re: Self::Real) -> Self

Source§

fn pow(self, n: Self) -> Self

Source§

fn powi(self, n: i32) -> Self

Source§

fn powf(self, n: Self::Real) -> Self

Source§

fn powc(self, n: Self::Complex) -> Self::Complex

Source§

fn real<T: ToPrimitive>(re: T) -> Self::Real

Source§

fn complex<T: ToPrimitive>(re: T, im: T) -> Self::Complex

Source§

fn as_c(&self) -> Self::Complex

Source§

fn conj(&self) -> Self

Source§

fn square(self) -> Self::Real

Source§

fn rand(rng: &mut impl Rng) -> Self

Source§

fn add_real(self, re: Self::Real) -> Self

Source§

fn sub_real(self, re: Self::Real) -> Self

Source§

fn mul_real(self, re: Self::Real) -> Self

Source§

fn div_real(self, re: Self::Real) -> Self

Source§

fn add_complex(self, im: Self::Complex) -> Self::Complex

Source§

fn sub_complex(self, im: Self::Complex) -> Self::Complex

Source§

fn mul_complex(self, im: Self::Complex) -> Self::Complex

Source§

fn div_complex(self, im: Self::Complex) -> Self::Complex

Source§

fn sqrt(self) -> Self

Source§

fn abs(self) -> Self

Source§

fn exp(self) -> Self

Source§

fn ln(self) -> Self

Source§

fn sin(self) -> Self

Source§

fn cos(self) -> Self

Source§

fn tan(self) -> Self

Source§

fn sinh(self) -> Self

Source§

fn cosh(self) -> Self

Source§

fn tanh(self) -> Self

Source§

fn asin(self) -> Self

Source§

fn acos(self) -> Self

Source§

fn atan(self) -> Self

Source§

fn asinh(self) -> Self

Source§

fn acosh(self) -> Self

Source§

fn atanh(self) -> Self

Source§

impl Scalar for f64

Source§

type Real = f64

Source§

type Complex = Complex<f64>

Source§

fn re(&self) -> Self::Real

Source§

fn im(&self) -> Self::Real

Source§

fn from_real(re: Self::Real) -> Self

Source§

fn pow(self, n: Self) -> Self

Source§

fn powi(self, n: i32) -> Self

Source§

fn powf(self, n: Self::Real) -> Self

Source§

fn powc(self, n: Self::Complex) -> Self::Complex

Source§

fn real<T: ToPrimitive>(re: T) -> Self::Real

Source§

fn complex<T: ToPrimitive>(re: T, im: T) -> Self::Complex

Source§

fn as_c(&self) -> Self::Complex

Source§

fn conj(&self) -> Self

Source§

fn square(self) -> Self::Real

Source§

fn rand(rng: &mut impl Rng) -> Self

Source§

fn add_real(self, re: Self::Real) -> Self

Source§

fn sub_real(self, re: Self::Real) -> Self

Source§

fn mul_real(self, re: Self::Real) -> Self

Source§

fn div_real(self, re: Self::Real) -> Self

Source§

fn add_complex(self, im: Self::Complex) -> Self::Complex

Source§

fn sub_complex(self, im: Self::Complex) -> Self::Complex

Source§

fn mul_complex(self, im: Self::Complex) -> Self::Complex

Source§

fn div_complex(self, im: Self::Complex) -> Self::Complex

Source§

fn sqrt(self) -> Self

Source§

fn abs(self) -> Self

Source§

fn exp(self) -> Self

Source§

fn ln(self) -> Self

Source§

fn sin(self) -> Self

Source§

fn cos(self) -> Self

Source§

fn tan(self) -> Self

Source§

fn sinh(self) -> Self

Source§

fn cosh(self) -> Self

Source§

fn tanh(self) -> Self

Source§

fn asin(self) -> Self

Source§

fn acos(self) -> Self

Source§

fn atan(self) -> Self

Source§

fn asinh(self) -> Self

Source§

fn acosh(self) -> Self

Source§

fn atanh(self) -> Self

Implementors§