Line | Count | Source |
1 | /// Convert a p-vector into modulus and unit vector. | |
2 | #[inline] | |
3 | 0 | pub fn pn(p: &[f64; 3]) -> (f64, [f64; 3]) { |
4 | 0 | let r = (p[0] * p[0] + p[1] * p[1] + p[2] * p[2]).sqrt(); |
5 | 0 | let u = if r != 0.0 { |
6 | 0 | [p[0] / r, p[1] / r, p[2] / r] |
7 | } else { | |
8 | 0 | [0.0, 0.0, 0.0] |
9 | }; | |
10 | 0 | (r, u) |
11 | 0 | } |