Enum demes::SizeFunction
source · [−]pub enum SizeFunction {
Constant,
Exponential,
Linear,
}
Expand description
Specify how deme sizes change during an Epoch
.
Examples
let yaml = "
time_units: years
generation_time: 25
description:
A deme of 50 individuals that grew to 100 individuals
in the last 100 years.
Default behavior is that size changes are exponential.
demes:
- name: deme
epochs:
- start_size: 50
end_time: 100
- start_size: 50
end_size: 100
";
let graph = demes::loads(yaml).unwrap();
let deme = graph.get_deme_from_name("deme").unwrap();
assert_eq!(deme.num_epochs(), 2);
let last_epoch = deme.get_epoch(1).unwrap();
assert!(matches!(last_epoch.size_function(),
demes::SizeFunction::Exponential));
let first_epoch = deme.get_epoch(0).unwrap();
assert!(matches!(first_epoch.size_function(),
demes::SizeFunction::Constant));
Let’s change the function to linear for the second epoch:
let yaml = "
time_units: years
generation_time: 25
description:
A deme of 50 individuals that grew to 100 individuals
in the last 100 years.
demes:
- name: deme
epochs:
- start_size: 50
end_time: 100
- start_size: 50
end_size: 100
size_function: linear
";
let graph = demes::loads(yaml).unwrap();
let deme = graph.get_deme_from_name("deme").unwrap();
let last_epoch = deme.get_epoch(1).unwrap();
assert!(matches!(last_epoch.size_function(),
demes::SizeFunction::Linear));
Variants
Constant
Exponential
Linear
Trait Implementations
sourceimpl Clone for SizeFunction
impl Clone for SizeFunction
sourcefn clone(&self) -> SizeFunction
fn clone(&self) -> SizeFunction
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for SizeFunction
impl Debug for SizeFunction
sourceimpl<'de> Deserialize<'de> for SizeFunction
impl<'de> Deserialize<'de> for SizeFunction
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Display for SizeFunction
impl Display for SizeFunction
sourceimpl PartialEq<SizeFunction> for SizeFunction
impl PartialEq<SizeFunction> for SizeFunction
sourceimpl Serialize for SizeFunction
impl Serialize for SizeFunction
impl Copy for SizeFunction
impl Eq for SizeFunction
impl StructuralEq for SizeFunction
impl StructuralPartialEq for SizeFunction
Auto Trait Implementations
impl RefUnwindSafe for SizeFunction
impl Send for SizeFunction
impl Sync for SizeFunction
impl Unpin for SizeFunction
impl UnwindSafe for SizeFunction
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.