Trait extendr_api::prelude::modules::core::Conjugate

pub unsafe trait Conjugate: Entity {
    type Conj: Entity + Conjugate<Conj = Self, Canonical = Self::Canonical>;
    type Canonical: Entity + Conjugate<Canonical = Self::Canonical>;

    // Required method
    fn canonicalize(self) -> Self::Canonical;
}
Expand description

Trait for types that may be implicitly conjugated.

§Safety

The associated types and functions must fulfill their respective contracts.

Required Associated Types§

type Conj: Entity + Conjugate<Conj = Self, Canonical = Self::Canonical>

Must have the same layout as Self, and Conj::Unit must have the same layout as Unit.

type Canonical: Entity + Conjugate<Canonical = Self::Canonical>

Must have the same layout as Self, and Canonical::Unit must have the same layout as Unit.

Required Methods§

fn canonicalize(self) -> Self::Canonical

Performs the implicit conjugation operation on the given value, returning the canonical form.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl Conjugate for f32

§

impl Conjugate for f64

§

impl<E> Conjugate for Complex<E>
where E: Entity + ComplexField,

§

type Conj = ComplexConj<E>

§

type Canonical = Complex<E>

§

fn canonicalize(self) -> <Complex<E> as Conjugate>::Canonical

Implementors§

§

impl Conjugate for c32

§

impl Conjugate for c32conj

§

type Conj = c32

§

type Canonical = c32

§

impl Conjugate for c64

§

impl Conjugate for c64conj

§

type Conj = c64

§

type Canonical = c64

§

impl Conjugate for Symbolic

§

type Conj = Symbolic

§

type Canonical = Symbolic

§

impl<E> Conjugate for ComplexConj<E>
where E: Entity + ComplexField,

§

type Conj = Complex<E>

§

type Canonical = Complex<E>