[][src]Struct oars::constructors::BoseChecked

pub struct BoseChecked<T: Integer> {
    pub prime_base: T,
    pub dimensions: T,
}

Generate an orthogonal array with any prime base and a strength of 2

This technique was described by Art Owen in his Monte Carlo book in Chapter 10.4.

prime_base corresponds to $p$ in the literature. The number of total points, or $n$ is $p^2$.

dimensions determines how many dimensions the resulting point set will be. It must be between 2 and $p + 1$, inclusive.

Note that using this struct directly does not offer parameter checking, so the user should be sure that the supplied parameters are valid. If invalid parameters are supplied, then the resultant orthogonal array with be malformed and invalid. To utilize parameter checking, construct a BoseChecked struct instead.

Fields

prime_base: T

The strength of the orthogonal array. It must be a prime number.

dimensions: T

The dimensionality of the orthogonal array

Implementations

impl<T: Integer> BoseChecked<T>[src]

pub fn verify(self) -> OarsResult<Bose<T>>[src]

Check the parameters for Bose construction

This method ensures that the parameters for Bose construction are valid. If they are not, this will return an error. Upon success, the BoseChecked struct is consumed, and a Bose struct is returned, which implemented the OA generation methods.

use oars::prelude::*;
use oars::constructors::{BoseChecked, Bose};

let bose = BoseChecked {
    prime_base: 3,
    dimensions: 2,
};

// On success, the BoseChecked struct is consumed and replaced with a Bose struct that is
// ready to generate an OA
let oa = bose.verify()?.gen();

Auto Trait Implementations

impl<T> RefUnwindSafe for BoseChecked<T> where
    T: RefUnwindSafe
[src]

impl<T> Send for BoseChecked<T> where
    T: Send
[src]

impl<T> Sync for BoseChecked<T> where
    T: Sync
[src]

impl<T> Unpin for BoseChecked<T> where
    T: Unpin
[src]

impl<T> UnwindSafe for BoseChecked<T> where
    T: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,