File:  [Research Unix] / researchv10no / cmd / sky / pdate.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:35 2018 UTC (8 years, 1 month ago) by root
Branches: belllabs, MAIN
CVS tags: researchv10, HEAD
researchv10 Norman

#include "sky.h"

int	timezone =	5;
int	daylight =	1;

int	dmo[12]
= {
	0,31,59,90,120,151,181,212,243,273,304,334
};
double
dsrc(d, ifa, i)
double d;
double ifa[];
{
	double y;

	do {
		ifa[i] += 1.;
		y = convdate(ifa);
		ddd(d, y, ifa, '>');
	} while(d >= y);
	do {
		ifa[i] -= 1.;
		y = convdate(ifa);
		ddd(d, y, ifa, '<');
	} while(d < y);
	return(d - y);
}

ddd(d, y, ifa, ch)
double d, y, ifa[];
{

}

dtsetup(d, ifa)
double d;
double ifa[];
{

	if(flags & KITCH) {
		d -= timezone/24.;
		bdtsetup(d, ifa);
		if(lastsun(ifa, 4))
			return;
		if(!lastsun(ifa, 10))
			return;
		d += 1./24.;
	}
	bdtsetup(d, ifa);
}

lastsun(ifa, m)
double ifa[];
{

	if(ifa[1] < m)
		return(1);
	if(ifa[1] > m)
		return(0);
	if(ifa[2] < 24)
		return(1);
	return(0); /* fix up later */
}

bdtsetup(d, ifa)
double ifa[];
double d;
{
	double t;

	ifa[0] = floor(1900. + d/365.2425);
	ifa[1] = 1.;
	ifa[2] = 1.;
	ifa[3] = 0.;
	ifa[4] = 0.;
	ifa[1] = floor(1. + dsrc(d, ifa, 0)/30.);
	ifa[2] = floor(1. + dsrc(d, ifa, 1));
	dsrc(d, ifa, 2);

	d -= .5;
	t = (d - floor(d))*24.;
	ifa[3] = floor(t);
	ifa[4] = (t-ifa[3]) * 60.;
}

pdate(d)
double d;
{
	double ifa[5];

	dtsetup(d, ifa);
	printf("%.0f %.0f %.0f", ifa[0], ifa[1], ifa[2]);
}

ptime(d)
double d;
{
	double ifa[5];

	dtsetup(d, ifa);
	printf("%.0f:%.2f", ifa[3], ifa[4]);
}

prlat()
{
/*
	printf("%.4f N.  %.4f W.  %.0f m. above MSL\n", nlat, wlong, elev);
*/
}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.