# Struct siege_math::quat::Quat [−] [src]

```pub struct Quat<F> {
pub v: Vec3<F>,
pub w: F,
}```

Quaternion (general)

## Trait Implementations

### `impl<F: Debug> Debug for Quat<F>`[src]

#### `fn fmt(&self, __arg_0: &mut Formatter) -> Result`[src]

Formats the value using the given formatter. Read more

### `impl<F: Clone> Clone for Quat<F>`[src]

#### `fn clone(&self) -> Quat<F>`[src]

Returns a copy of the value. Read more

#### `fn clone_from(&mut self, source: &Self)`1.0.0[src]

Performs copy-assignment from `source`. Read more

### `impl<F: PartialEq> PartialEq for Quat<F>`[src]

#### `fn eq(&self, __arg_0: &Quat<F>) -> bool`[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, __arg_0: &Quat<F>) -> bool`[src]

This method tests for `!=`.

### `impl<F: Hash> Hash for Quat<F>`[src]

#### `fn hash<__HF: Hasher>(&self, __arg_0: &mut __HF)`[src]

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where    H: Hasher, `1.3.0[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl<F: FullFloat> Default for Quat<F>`[src]

#### `fn default() -> Quat<F>`[src]

Returns the "default value" for a type. Read more

### `impl From<Quat<f32>> for Quat<f64>`[src]

#### `fn from(q: Quat<f32>) -> Quat<f64>`[src]

Performs the conversion.

### `impl From<Quat<f64>> for Quat<f32>`[src]

#### `fn from(q: Quat<f64>) -> Quat<f32>`[src]

Performs the conversion.

### `impl<F: FullFloat> From<Quat<F>> for NQuat<F>`[src]

#### `fn from(q: Quat<F>) -> NQuat<F>`[src]

Performs the conversion.

### `impl<F: FullFloat> From<NQuat<F>> for Quat<F>`[src]

#### `fn from(nq: NQuat<F>) -> Quat<F>`[src]

Performs the conversion.

### `impl<F: FullFloat> Add for Quat<F>`[src]

#### `type Output = Quat<F>`

The resulting type after applying the `+` operator.

#### `fn add(self, rhs: Quat<F>) -> Quat<F>`[src]

Performs the `+` operation.

### `impl<F: FullFloat> AddAssign for Quat<F>`[src]

#### `fn add_assign(&mut self, rhs: Quat<F>)`[src]

Performs the `+=` operation.

### `impl<F: FullFloat> Sub for Quat<F>`[src]

#### `type Output = Quat<F>`

The resulting type after applying the `-` operator.

#### `fn sub(self, rhs: Quat<F>) -> Quat<F>`[src]

Performs the `-` operation.

### `impl<F: FullFloat> SubAssign for Quat<F>`[src]

#### `fn sub_assign(&mut self, rhs: Quat<F>)`[src]

Performs the `-=` operation.

### `impl<F: FullFloat> Mul<F> for Quat<F>`[src]

#### `type Output = Quat<F>`

The resulting type after applying the `*` operator.

#### `fn mul(self, rhs: F) -> Quat<F>`[src]

Performs the `*` operation.

### `impl<F: FullFloat> MulAssign<F> for Quat<F>`[src]

#### `fn mul_assign(&mut self, rhs: F)`[src]

Performs the `*=` operation.

### `impl<F: FullFloat> MulAssign for Quat<F>`[src]

#### `fn mul_assign(&mut self, rhs: Quat<F>)`[src]

Performs the `*=` operation.

### `impl<F: FullFloat> Mul for Quat<F>`[src]

#### `type Output = Quat<F>`

The resulting type after applying the `*` operator.

#### `fn mul(self, rhs: Quat<F>) -> Quat<F>`[src]

Performs the `*` operation.

### `impl<F: FullFloat> ApproxEq for Quat<F>`[src]

#### `fn approx_eq(    &self,     other: &Self,     epsilon: <F as ApproxEq>::Flt,     ulps: <<F as ApproxEq>::Flt as Ulps>::U) -> bool`[src]

This method tests for `self` and `other` values to be approximately equal using two methods: epsilon and ulps. If the values differ by less than the given epsilon, they will be considered equal. If the values differ by more than epsilon, but by less than the given ulps, they will also be considered equal. Otherwise they are unequal. Read more

#### `fn approx_ne(    &self,     other: &Self,     epsilon: Self::Flt,     ulps: <Self::Flt as Ulps>::U) -> bool`[src]

This method tests for `self` and `other` values to be not approximately equal using two methods: epsilon and ulps. If the values differ by less than the given epsilon, they will be considered equal. If the values differ by more than epsilon, but by less than the given ulps, they will also be considered equal. Otherwise they are unequal. Read more