@@ -9,10 +9,10 @@ use crate::util::EPSILON;
99pub type Vector = Vector3 < f64 > ;
1010
1111pub fn random_in_unit_sphere ( ) -> Vector {
12- let mut rng = rand:: thread_rng ( ) ;
12+ let mut rng = rand:: rng ( ) ;
1313
14- let theta = TAU * rng. gen :: < f64 > ( ) ;
15- let phi = ( 1.0 - 2.0 * rng. gen :: < f64 > ( ) ) . acos ( ) ;
14+ let theta = TAU * rng. random :: < f64 > ( ) ;
15+ let phi = ( 1.0 - 2.0 * rng. random :: < f64 > ( ) ) . acos ( ) ;
1616 let x = phi. sin ( ) * theta. cos ( ) ;
1717 let y = phi. sin ( ) * theta. sin ( ) ;
1818 let z = phi. cos ( ) ;
@@ -21,18 +21,18 @@ pub fn random_in_unit_sphere() -> Vector {
2121}
2222
2323pub fn random_in_unit_disk ( ) -> Vector {
24- let mut rng = rand:: thread_rng ( ) ;
24+ let mut rng = rand:: rng ( ) ;
2525
26- let sqrt_r: f64 = rng. gen :: < f64 > ( ) . sqrt ( ) ;
27- let theta: f64 = rng. gen_range ( 0.0 ..TAU ) ;
26+ let sqrt_r: f64 = rng. random :: < f64 > ( ) . sqrt ( ) ;
27+ let theta: f64 = rng. random_range ( 0.0 ..TAU ) ;
2828
2929 Vector3 :: new ( sqrt_r * theta. cos ( ) , sqrt_r * theta. sin ( ) , 0. )
3030}
3131
3232pub fn rand_range ( min : f64 , max : f64 ) -> Vector {
33- let mut rng = rand:: thread_rng ( ) ;
33+ let mut rng = rand:: rng ( ) ;
3434
35- let dist = Uniform :: new_inclusive ( min, max) ;
35+ let dist = Uniform :: new_inclusive ( min, max) . unwrap ( ) ;
3636
3737 Vector3 :: new ( rng. sample ( dist) , rng. sample ( dist) , rng. sample ( dist) )
3838}
0 commit comments