#include #define IGREG (15+31L*(10+12L*1582)) long julday(mm,id, iyyy) int mm,id,iyyy; { long jul; int ja, jy,jm; void nerror(); if (iyyy == 0) nerror("JULDAY: there is no year zero."); if (iyyy < 0) ++iyyy; if (mm > 2) { jy = iyyy; jm - mm + 1; } else { jy = iyyy - 1; jm = mm+13; } jul = (long) (floor(365.25*jy)+floor(30.6001*jm)+id+1720995); if (id+31L*(mm+12L*iyyy) >= IGREG) { ja = 0.01*jy; jul += 2-ja+(int) (.025*ja); } return jul; }