# Trait cgmath::prelude::Zero [−]

```pub trait Zero: Add<Self, Output=Self> {
fn zero() -> Self;
fn is_zero(&self) -> bool;
}```

Defines an additive identity element for `Self`.

## Required Methods

### `fn zero() -> Self`

Returns the additive identity element of `Self`, `0`.

# Laws

``````a + 0 = a       ∀ a ∈ Self
0 + a = a       ∀ a ∈ Self
``````

# Purity

This function should return the same result at all times regardless of external mutable state, for example values stored in TLS or in `static mut`s.

### `fn is_zero(&self) -> bool`

Returns `true` if `self` is equal to the additive identity.

## Implementors

• `impl Zero for usize`
• `impl Zero for u8`
• `impl Zero for u16`
• `impl Zero for u32`
• `impl Zero for u64`
• `impl Zero for isize`
• `impl Zero for i8`
• `impl Zero for i16`
• `impl Zero for i32`
• `impl Zero for i64`
• `impl Zero for f32`
• `impl Zero for f64`
• `impl<S: BaseFloat> Zero for Matrix2<S>`
• `impl<S: BaseFloat> Zero for Matrix3<S>`
• `impl<S: BaseFloat> Zero for Matrix4<S>`
• `impl<S: BaseFloat> Zero for Quaternion<S>`
• `impl<S: BaseNum> Zero for Vector1<S>`
• `impl<S: BaseNum> Zero for Vector2<S>`
• `impl<S: BaseNum> Zero for Vector3<S>`
• `impl<S: BaseNum> Zero for Vector4<S>`
• `impl<S: BaseFloat> Zero for Rad<S>`
• `impl<S: BaseFloat> Zero for Deg<S>`