/* praytimer.h */

#define DPR     (57.29577951308230876799)/* degree per radian (180/pi) */
#define RPD     (0.01745329251994329577) /* radians per degree (pi/180) */
#define HPR     (3.81971863420548805845) /* hours per radian (12/pi) */
#define	FABS(a)		((a) > 0 ? (a) : -(a))
#define FMOD(a,b)	((a) - floor( (a)/(b) ) * (b))

short   getData(/* short interactive */);
void    makeSchedule (/* void */);

void    computeHours(/* short first, short last */);
void    computeConstants(/* short year */);
double  qibla(/* void */);
double  noontime(/* short nday, double* coaltn */);
double  tempus(/* short nday, double coalt, double time0 */);
void    dayLight(/* short* leap, short hasDayLt,
                    short* begin, short* finish */);

void 	texDcl(/* short n */);
void 	titleTex(/* void */);
void 	displayTex(/* short first, short last, short startdate */);
void 	headrTex(/* short n */);

double  deg2rad(/* double degree */);
double  dm2deg(/* short degree, short minute */);
double 	dms2deg(/* long degree, short min, double sec */);
double 	hms2h(/* short hour, short min, double sec */);

char	name[32], dir[4] = {'E', 'W', 'N', 'S'};
short   ndmnth[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
float   tim[366][8];
short	latd, latm, longd, longm, latIsS, longIsW, hasDayLt;
double	latitude, longitude;
double	timeZone, direc;
short	fajrByInterval;
double	asrShadowRatio, fajrInterval, fajrDepr;
short   year, leap, beginDayLight, endDayLight;
double  cosobl, sinobl, perigee, dmanom, anom0;
double  c1, c2, delsid, sidtm0;

