pub struct SpatiallyImplicitHabitat<M: MathsCore> { /* private fields */ }

Implementations§

source§

impl<M: MathsCore> SpatiallyImplicitHabitat<M>

source

pub fn new( local_area: (OffByOneU32, OffByOneU32), local_deme: NonZeroU32, meta_area: (OffByOneU32, OffByOneU32), meta_deme: NonZeroU32 ) -> Self

§Contracts

Post-condition - debug: creates a habitat with a combined local and meta community size

  • ret.get_total_habitat() == old(OffByOneU64::from(local_area.0) * OffByOneU64::from(local_area.1) * OffByOneU64::from(local_deme) + OffByOneU64::from(meta_area.0) * OffByOneU64::from(meta_area.1) * OffByOneU64::from(meta_deme))
source

pub fn local(&self) -> &NonSpatialHabitat<M>

source

pub fn meta(&self) -> &NonSpatialHabitat<M>

Trait Implementations§

source§

impl<M: MathsCore> Clone for SpatiallyImplicitHabitat<M>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<M: Debug + MathsCore> Debug for SpatiallyImplicitHabitat<M>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<M: MathsCore, G: RngCore<M>> DispersalSampler<M, SpatiallyImplicitHabitat<M>, G> for SpatiallyImplicitDispersalSampler<M, G>

§

fn sample_dispersal_from_location( &self, location: &Location, habitat: &H, rng: &mut G ) -> Location

Contracts Read more
source§

impl<M: MathsCore> Habitat<M> for SpatiallyImplicitHabitat<M>

§

type LocationIterator<'a> = impl Iterator<Item = Location> + 'a

§

fn is_finite(&self) -> bool

§

fn get_extent(&self) -> &LandscapeExtent

§

fn is_location_habitable(&self, location: &Location) -> bool

§

fn is_indexed_location_habitable( &self, indexed_location: &IndexedLocation ) -> bool

§

fn get_total_habitat(&self) -> OffByOneU64

Contracts Read more
§

fn get_habitat_at_location(&self, location: &Location) -> u32

Contracts Read more
§

fn map_indexed_location_to_u64_injective( &self, indexed_location: &IndexedLocation ) -> u64

Contracts Read more
§

fn iter_habitable_locations(&self) -> Self::LocationIterator<'_>

source§

impl<M: MathsCore> RustToCuda for SpatiallyImplicitHabitat<M>

source§

impl<M: MathsCore> RustToCudaAsync for SpatiallyImplicitHabitat<M>

source§

impl<M: MathsCore, G: RngCore<M>> SeparableDispersalSampler<M, SpatiallyImplicitHabitat<M>, G> for SpatiallyImplicitDispersalSampler<M, G>

§

fn sample_non_self_dispersal_from_location( &self, location: &Location, habitat: &H, rng: &mut G ) -> Location

Contracts Read more
§

fn get_self_dispersal_probability_at_location( &self, location: &Location, habitat: &H ) -> ClosedUnitF64

Contracts Read more
source§

impl<M: MathsCore> SpeciationProbability<M, SpatiallyImplicitHabitat<M>> for SpatiallyImplicitSpeciationProbability

§

fn get_speciation_probability_at_location( &self, location: &Location, habitat: &H ) -> ClosedUnitF64

Contracts Read more
source§

impl<M: MathsCore, G: RngCore<M>> UniformlySampleableHabitat<M, G> for SpatiallyImplicitHabitat<M>

§

fn sample_habitable_indexed_location(&self, rng: &mut G) -> IndexedLocation

Contracts Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Backup for T
where T: Clone,

§

default unsafe fn backup_unchecked(&self) -> T

§

default unsafe fn __contracts_impl_backup_unchecked(&self) -> T

§

fn backup(&self) -> BackedUp<Self>

source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> ExtractDiscriminant for T

§

type Discriminant = <T as ExtractDiscriminantSpec<<T as DiscriminantKind>::Discriminant>>::Ty

The type of the discriminant, which must satisfy the trait bounds required by core::mem::Discriminant. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> LendToCuda for T
where T: RustToCuda,

source§

fn lend_to_cuda<O, E, F>(&self, inner: F) -> Result<O, E>

Lends an immutable borrow of &self to CUDA: Read more
source§

fn lend_to_cuda_mut<O, E, F>(&mut self, inner: F) -> Result<O, E>

Lends a mutable borrow of &mut self to CUDA iff Self is SafeMutableAliasing: Read more
source§

fn move_to_cuda<O, E, F>(self, inner: F) -> Result<O, E>

Moves self to CUDA iff Self is StackOnly. Read more
source§

impl<T> LendToCudaAsync for T
where T: RustToCudaAsync,

source§

fn lend_to_cuda_async<'stream, O, E, F>( &self, stream: Stream<'stream>, inner: F ) -> Result<O, E>
where E: From<CudaError>, F: FnOnce(Async<'_, 'stream, HostAndDeviceConstRef<'_, DeviceAccessible<<T as RustToCuda>::CudaRepresentation>>>) -> Result<O, E>, T: Sync,

Lends an immutable copy of &self to CUDA: Read more
source§

fn lend_to_cuda_mut_async<'a, 'stream, O, E, F, S>( this: OwningRefMut<'a, Box<S>, T>, stream: Stream<'stream>, inner: F ) -> Result<(Async<'a, 'stream, OwningRefMut<'a, Box<S>, T>, Box<dyn FnOnce(&mut T) -> Result<(), CudaError> + 'a>>, O), E>
where E: From<CudaError>, F: for<'b> FnOnce(Async<'b, 'stream, HostAndDeviceMutRef<'_, DeviceAccessible<<T as RustToCuda>::CudaRepresentation>>>) -> Result<O, E>, S: 'a, T: Sync + SafeMutableAliasing,

Lends a mutable borrow of &mut self to CUDA iff Self is SafeMutableAliasing: Read more
source§

fn move_to_cuda_async<'stream, O, E, F>( self, stream: Stream<'stream>, inner: F ) -> Result<O, E>

Moves self to CUDA iff self is StackOnly. Read more
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Data for T
where T: Send + Clone,

§

impl<T> Erased for T

source§

impl<T> PortableBitSemantics for T
where T: PortableBitSemantics + ?Sized,

source§

impl<T> StackOnly for T
where T: StackOnly,