rfa 0.5.9

A port ERFA to Rust.
Documentation
use crate::utils::*;
///  Convert position/velocity from spherical to Cartesian coordinates.
///
///  Given:
///   * theta    longitude angle (radians)
///   * phi      latitude angle (radians)
///   * r        radial distance
///   * td       rate of change of theta
///   * pd       rate of change of phi
///   * rd       rate of change of r
///
///  Returned:
///   * pv       pv-vector
///
///  This revision:  2021 May 11
pub fn s2pv(theta: f64, phi: f64, r: f64,
    td: f64, pd: f64, rd: f64,
    pv: &mut [[f64; 3]; 2])
{

    let st = sin(theta);
    let ct = cos(theta);
    let sp = sin(phi);
    let cp = cos(phi);
    let rcp = r * cp;
    let x = rcp * ct;
    let y = rcp * st;
    let rpd = r * pd;
    let w = rpd*sp - cp*rd;
 
    pv[0][0] = x;
    pv[0][1] = y;
    pv[0][2] = r * sp;
    pv[1][0] = -y*td - w*ct;
    pv[1][1] =  x*td - w*st;
    pv[1][2] = rpd*cp + sp*rd;
 
 /* Finished. */
 
 }