text: #include "erfa.h"
  
  void eraFw2m(double gamb, double phib, double psi, double eps,
               double r[3][3])
  /*
  **  - - - - - - - -
  **   e r a F w 2 m
  **  - - - - - - - -
  **
  **  Form rotation matrix given the Fukushima-Williams angles.
  **
  **  Given:
  **     gamb     double         F-W angle gamma_bar (radians)
  **     phib     double         F-W angle phi_bar (radians)
  **     psi      double         F-W angle psi (radians)
  **     eps      double         F-W angle epsilon (radians)
  **
  **  Returned:
  **     r        double[3][3]   rotation matrix
  **
  **  Notes:
  **
  **  1) Naming the following points:
  **
  **           e = J2000.0 ecliptic pole,
  **           p = GCRS pole,
  **           E = ecliptic pole of date,
  **     and   P = CIP,
  **
  **     the four Fukushima-Williams angles are as follows:
  **
  **        gamb = gamma = epE
  **        phib = phi = pE
  **        psi = psi = pEP
  **        eps = epsilon = EP
  **
  **  2) The matrix representing the combined effects of frame bias,
  **     precession and nutation is:
  **
  **        NxPxB = R_1(-eps).R_3(-psi).R_1(phib).R_3(gamb)
  **
  **  3) Three different matrices can be constructed, depending on the
  **     supplied angles:
  **
  **     o  To obtain the nutation x precession x frame bias matrix,
  **        generate the four precession angles, generate the nutation
  **        components and add them to the psi_bar and epsilon_A angles,
  **        and call the present function.
  **
  **     o  To obtain the precession x frame bias matrix, generate the
  **        four precession angles and call the present function.
  **
  **     o  To obtain the frame bias matrix, generate the four precession
  **        angles for date J2000.0 and call the present function.
  **
  **     The nutation-only and precession-only matrices can if necessary
  **     be obtained by combining these three appropriately.
  **
  **  Called:
  **     eraIr        initialize r-matrix to identity
  **     eraRz        rotate around Z-axis
  **     eraRx        rotate around X-axis
  **
  **  Reference:
  **
  **     Hilton, J. et al., 2006, Celest.Mech.Dyn.Astron. 94, 351
  **
  **  Copyright (C) 2013-2016, NumFOCUS Foundation.
  **  Derived, with permission, from the SOFA library.  See notes at end of file.
  */
  {
  /* Construct the matrix. */
     eraIr(r);
     eraRz(gamb, r);
     eraRx(phib, r);
     eraRz(-psi, r);
     eraRx(-eps, r);
  
     return;
  
  }
  /*----------------------------------------------------------------------
  **  
  **  
  **  Copyright (C) 2013-2016, NumFOCUS Foundation.
  **  All rights reserved.
  **  
  **  This library is derived, with permission, from the International
  **  Astronomical Union's "Standards of Fundamental Astronomy" library,
  **  available from http://www.iausofa.org.
  **  
  **  The ERFA version is intended to retain identical functionality to
  **  the SOFA library, but made distinct through different function and
  **  file names, as set out in the SOFA license conditions.  The SOFA
  **  original has a role as a reference standard for the IAU and IERS,
  **  and consequently redistribution is permitted only in its unaltered
  **  state.  The ERFA version is not subject to this restriction and
  **  therefore can be included in distributions which do not support the
  **  concept of "read only" software.
  **  
  **  Although the intent is to replicate the SOFA API (other than
  **  replacement of prefix names) and results (with the exception of
  **  bugs;  any that are discovered will be fixed), SOFA is not
  **  responsible for any errors found in this version of the library.
  **  
  **  If you wish to acknowledge the SOFA heritage, please acknowledge
  **  that you are using a library derived from SOFA, rather than SOFA
  **  itself.
  **  
  **  
  **  TERMS AND CONDITIONS
  **  
  **  Redistribution and use in source and binary forms, with or without
  **  modification, are permitted provided that the following conditions
  **  are met:
  **  
  **  1 Redistributions of source code must retain the above copyright
  **    notice, this list of conditions and the following disclaimer.
  **  
  **  2 Redistributions in binary form must reproduce the above copyright
  **    notice, this list of conditions and the following disclaimer in
  **    the documentation and/or other materials provided with the
  **    distribution.
  **  
  **  3 Neither the name of the Standards Of Fundamental Astronomy Board,
  **    the International Astronomical Union nor the names of its
  **    contributors may be used to endorse or promote products derived
  **    from this software without specific prior written permission.
  **  
  **  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  **  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  **  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  **  FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
  **  COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  **  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  **  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  **  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  **  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  **  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
  **  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  **  POSSIBILITY OF SUCH DAMAGE.
  **  
  */
  