text: #include "erfa.h"
  #include <stdlib.h>
  
  int eraAf2a(char s, int ideg, int iamin, double asec, double *rad)
  /*
  **  - - - - - - - -
  **   e r a A f 2 a
  **  - - - - - - - -
  **
  **  Convert degrees, arcminutes, arcseconds to radians.
  **
  **  Given:
  **     s         char    sign:  '-' = negative, otherwise positive
  **     ideg      int     degrees
  **     iamin     int     arcminutes
  **     asec      double  arcseconds
  **
  **  Returned:
  **     rad       double  angle in radians
  **
  **  Returned (function value):
  **               int     status:  0 = OK
  **                                1 = ideg outside range 0-359
  **                                2 = iamin outside range 0-59
  **                                3 = asec outside range 0-59.999...
  **
  **  Notes:
  **
  **  1)  The result is computed even if any of the range checks fail.
  **
  **  2)  Negative ideg, iamin and/or asec produce a warning status, but
  **      the absolute value is used in the conversion.
  **
  **  3)  If there are multiple errors, the status value reflects only the
  **      first, the smallest taking precedence.
  **
  **  Copyright (C) 2013-2016, NumFOCUS Foundation.
  **  Derived, with permission, from the SOFA library.  See notes at end of file.
  */
  {
  
  /* Compute the interval. */
     *rad  = ( s == '-' ? -1.0 : 1.0 ) *
             ( 60.0 * ( 60.0 * ( (double) abs(ideg) ) +
                               ( (double) abs(iamin) ) ) +
                                          fabs(asec) ) * ERFA_DAS2R;
  
  /* Validate arguments and return status. */
     if ( ideg < 0 || ideg > 359 ) return 1;
     if ( iamin < 0 || iamin > 59 ) return 2;
     if ( asec < 0.0 || asec >= 60.0 ) return 3;
     return 0;
  
  }
  /*----------------------------------------------------------------------
  **  
  **  
  **  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.
  **  
  */
  