rfa 0.5.9

A port ERFA to Rust.
Documentation
use crate::utils::*;
///  Rotate an r-matrix about the z-axis.
///
///  Given:
///     psi    angle (radians)
///
///  Given and returned:
///     r r-matrix, rotated
///
/// # Notes:
///
///  1) Calling this function with positive psi incorporates in the
///     supplied r-matrix r an additional rotation, about the z-axis,
///     anticlockwise as seen looking towards the origin from positive z.
///
///  2) The additional rotation can be represented by this matrix:
///
///         (  + cos(psi)   + sin(psi)     0  )
///         (                                 )
///         (  - sin(psi)   + cos(psi)     0  )
///         (                                 )
///         (       0            0         1  )
///
///  This revision:  2021 May 11
pub fn rz(psi: f64, r:&mut [[f64; 3];3])
{


   let s = sin(psi);
   let c = cos(psi);

   let a00 =   c*r[0][0] + s*r[1][0];
   let a01 =   c*r[0][1] + s*r[1][1];
   let a02 =   c*r[0][2] + s*r[1][2];
   let a10 = - s*r[0][0] + c*r[1][0];
   let a11 = - s*r[0][1] + c*r[1][1];
   let a12 = - s*r[0][2] + c*r[1][2];

   r[0][0] = a00;
   r[0][1] = a01;
   r[0][2] = a02;
   r[1][0] = a10;
   r[1][1] = a11;
   r[1][2] = a12;

/* Finished. */

}