Trait malachite_base::num::arithmetic::traits::CheckedSubfactorial
source · [−]pub trait CheckedSubfactorial: Sized {
fn checked_subfactorial(n: u64) -> Option<Self>;
}
Required Methods
fn checked_subfactorial(n: u64) -> Option<Self>
Implementations on Foreign Types
sourceimpl CheckedSubfactorial for u8
impl CheckedSubfactorial for u8
sourcefn checked_subfactorial(n: u64) -> Option<u8>
fn checked_subfactorial(n: u64) -> Option<u8>
Computes the subfactorial of a number.
The subfactorial of $n$ counts the number of derangements of a set of size $n$; a derangement is a permutation with no fixed points.
If the input is too large, the function returns None
.
$$
f(n) = \begin{cases}
\operatorname{Some}(!n) & \text{if} \quad !n < 2^W, \\
\operatorname{None} & \text{if} \quad !n \geq 2^W,
\end{cases}
$$
where $W$ is Self::WIDTH
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl CheckedSubfactorial for u16
impl CheckedSubfactorial for u16
sourcefn checked_subfactorial(n: u64) -> Option<u16>
fn checked_subfactorial(n: u64) -> Option<u16>
Computes the subfactorial of a number.
The subfactorial of $n$ counts the number of derangements of a set of size $n$; a derangement is a permutation with no fixed points.
If the input is too large, the function returns None
.
$$
f(n) = \begin{cases}
\operatorname{Some}(!n) & \text{if} \quad !n < 2^W, \\
\operatorname{None} & \text{if} \quad !n \geq 2^W,
\end{cases}
$$
where $W$ is Self::WIDTH
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl CheckedSubfactorial for u32
impl CheckedSubfactorial for u32
sourcefn checked_subfactorial(n: u64) -> Option<u32>
fn checked_subfactorial(n: u64) -> Option<u32>
Computes the subfactorial of a number.
The subfactorial of $n$ counts the number of derangements of a set of size $n$; a derangement is a permutation with no fixed points.
If the input is too large, the function returns None
.
$$
f(n) = \begin{cases}
\operatorname{Some}(!n) & \text{if} \quad !n < 2^W, \\
\operatorname{None} & \text{if} \quad !n \geq 2^W,
\end{cases}
$$
where $W$ is Self::WIDTH
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl CheckedSubfactorial for u64
impl CheckedSubfactorial for u64
sourcefn checked_subfactorial(n: u64) -> Option<u64>
fn checked_subfactorial(n: u64) -> Option<u64>
Computes the subfactorial of a number.
The subfactorial of $n$ counts the number of derangements of a set of size $n$; a derangement is a permutation with no fixed points.
If the input is too large, the function returns None
.
$$
f(n) = \begin{cases}
\operatorname{Some}(!n) & \text{if} \quad !n < 2^W, \\
\operatorname{None} & \text{if} \quad !n \geq 2^W,
\end{cases}
$$
where $W$ is Self::WIDTH
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl CheckedSubfactorial for u128
impl CheckedSubfactorial for u128
sourcefn checked_subfactorial(n: u64) -> Option<u128>
fn checked_subfactorial(n: u64) -> Option<u128>
Computes the subfactorial of a number.
The subfactorial of $n$ counts the number of derangements of a set of size $n$; a derangement is a permutation with no fixed points.
If the input is too large, the function returns None
.
$$
f(n) = \begin{cases}
\operatorname{Some}(!n) & \text{if} \quad !n < 2^W, \\
\operatorname{None} & \text{if} \quad !n \geq 2^W,
\end{cases}
$$
where $W$ is Self::WIDTH
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.
sourceimpl CheckedSubfactorial for usize
impl CheckedSubfactorial for usize
sourcefn checked_subfactorial(n: u64) -> Option<usize>
fn checked_subfactorial(n: u64) -> Option<usize>
Computes the subfactorial of a usize
.
The subfactorial of $n$ counts the number of derangements of a set of size $n$; a derangement is a permutation with no fixed points.
If the input is too large, the function returns None
.
$$
f(n) = \begin{cases}
\operatorname{Some}(!n) & \text{if} \quad !n < 2^W, \\
\operatorname{None} & \text{if} \quad !n \geq 2^W,
\end{cases}
$$
where $W$ is Self::WIDTH
.
Worst-case complexity
Constant time and additional memory.
Examples
See here.