fn sample<R: Rng + ?Sized>(&self, r: &mut R) -> Perspective3<T> {
        use crate::base::helper;
        let znear = r.gen();
        let zfar = helper::reject_rand(r, |x: &T| !(x.clone() - znear.clone()).is_zero());
        let aspect = helper::reject_rand(r, |x: &T| !x.is_zero());

        Perspective3::new(aspect, r.gen(), znear, zfar)
    }
/// Generate an arbitrary random variate for testing purposes.
Generate an arbitrary random variate for testing purposes.
Generate an arbitrary random variate for testing purposes .
fn sample<R: Rng + ?Sized>(&self, r: &mut R) -> Perspective3<T> {
        use crate::base::helper;
        let znear = r.gen();
        let zfar = helper::reject_rand(r, |x: &T| !(x.clone() - znear.clone()).is_zero());
        let aspect = helper::reject_rand(r, |x: &T| !x.is_zero());
        Perspective3::new(aspect, r.gen(), znear, zfar)
    }
fn sample < R : Rng + ? Sized > ( & self , r : & mut R ) -> Perspective3 < T > { use crate :: base :: helper ; let znear = r . gen ( ) ; let zfar = helper :: reject_rand ( r , | x : & T | ! ( x . clone ( ) - znear . clone ( ) ) . is_zero ( ) ) ; let aspect = helper :: reject_rand ( r , | x : & T | ! x . is_zero ( ) ) ; Perspective3 :: new ( aspect , r . gen ( ) , znear , zfar ) }
Generate an arbitrary random variate for testing purposes.
Generate an arbitrary random variate for testing purposes .
&self
r
&mut R
&self
r
&mut R