/*  
 *  - - - - - - - - - - -  
 *   g a l _ c a l 2 j d  
 *  - - - - - - - - - - -  
 *  
 *  This routine is part of the General Astrodynamics Library  
 *  
 *  Description: 
 *  
 *  Gregorian Calendar to Julian Date.  
 *  
 *  This routine is an independent translation of a FORTRAN routine  
 *  that is part of IAU's SOFA software collection.  
 *  
 *  Status:
 *  
 *     support routine.  
 *  
 *  Given:
 *  
 *     iy,im,id            i        year, month, day in Gregorian calendar (Note 1)  
 *  
 *  Returned:
 *  
 *     *djm0               d        MJD zero-point: always 2400000.5  
 *     *djm                d        Modified Julian Date for 0 hrs  
 *     gal_cal2jd          i        status:  
 *                                    0 = OK  
 *                                   -1 = bad year   (Note 3: JD not computed)  
 *                                   -2 = bad month  (JD not computed)  
 *                                   -3 = bad day    (JD computed)  
 *  
 *  Notes:  
 *  
 *  1) The algorithm used is valid from -4800 March 1, but this  
 *     implementation rejects dates before -4799 January 1.  
 *  
 *  2) The Julian Date is returned in two pieces, in the usual SOFA  
 *     manner, which is designed to preserve time resolution.  The  
 *     Julian Date is available as a single number by adding djm0 and  
 *     djm.  
 *  
 *  3) In early eras the conversion is from the "Proleptic Gregorian  
 *     Calendar";  no account is taken of the date(s) of adoption of  
 *     the Gregorian Calendar, nor is the AD/BC numbering convention  
 *     observed.  
 *  
 *  References:  
 *  
 *     Explanatory Supplement to the Astronomical Almanac,  
 *     P. Kenneth Seidelmann (ed), University Science Books (1992),  
 *     Section 12.92 (p604).  
 *  
 *  This revision:
 *  
 *     2001 September 16 ( c version 2008 June 8 )  
 *  
 *  
 *  Copyright (C) 2008 Paul C. L. Willmott. See notes at end.  
 *  
 *-----------------------------------------------------------------------  
 */  
  
#ifndef _GAL_CAL2JD_H_  
#define _GAL_CAL2JD_H_ 1  

#undef __BEGIN_DECLS  
#undef __END_DECLS  
#ifdef __cplusplus  
#define __BEGIN_DECLS extern "C" {  
#define __END_DECLS }  
#else  
#define __BEGIN_DECLS /* empty */  
#define __END_DECLS   /* empty */  
#endif
  
__BEGIN_DECLS  
  
int  
gal_cal2jd  
 (  
    int iy,  
    int im,  
    int id,  
    double *djm0,  
    double *djm
 ) ;  
  
__END_DECLS  
  
#endif /* !_GAL_CAL2JD_H_ */  

/*  
 *  gal - General Astrodynamics Library  
 *  Copyright (C) 2008 Paul C. L. Willmott  
 *  
 *  This program is free software; you can redistribute it and/or modify  
 *  it under the terms of the GNU General Public License as published by  
 *  the Free Software Foundation; either version 2 of the License, or  
 *  (at your option) any later version.  
 *  
 *  This program is distributed in the hope that it will be useful,  
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of  
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 *  GNU General Public License for more details.  
 *  
 *  You should have received a copy of the GNU General Public License along  
 *  with this program; if not, write to the Free Software Foundation, Inc.,  
 *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.  
 *  
 *  Contact:  
 *  
 *  Paul Willmott  
 *  vp9mu@amsat.org  
 */  
