|
|
1.1 ! root 1: #include "sky.h" ! 2: ! 3: int timezone = 5; ! 4: int daylight = 1; ! 5: ! 6: int dmo[12] ! 7: = { ! 8: 0,31,59,90,120,151,181,212,243,273,304,334 ! 9: }; ! 10: double ! 11: dsrc(d, ifa, i) ! 12: double d; ! 13: double ifa[]; ! 14: { ! 15: double y; ! 16: ! 17: do { ! 18: ifa[i] += 1.; ! 19: y = convdate(ifa); ! 20: ddd(d, y, ifa, '>'); ! 21: } while(d >= y); ! 22: do { ! 23: ifa[i] -= 1.; ! 24: y = convdate(ifa); ! 25: ddd(d, y, ifa, '<'); ! 26: } while(d < y); ! 27: return(d - y); ! 28: } ! 29: ! 30: ddd(d, y, ifa, ch) ! 31: double d, y, ifa[]; ! 32: { ! 33: ! 34: } ! 35: ! 36: dtsetup(d, ifa) ! 37: double d; ! 38: double ifa[]; ! 39: { ! 40: ! 41: if(flags & KITCH) { ! 42: d -= timezone/24.; ! 43: bdtsetup(d, ifa); ! 44: if(lastsun(ifa, 4)) ! 45: return; ! 46: if(!lastsun(ifa, 10)) ! 47: return; ! 48: d += 1./24.; ! 49: } ! 50: bdtsetup(d, ifa); ! 51: } ! 52: ! 53: lastsun(ifa, m) ! 54: double ifa[]; ! 55: { ! 56: ! 57: if(ifa[1] < m) ! 58: return(1); ! 59: if(ifa[1] > m) ! 60: return(0); ! 61: if(ifa[2] < 24) ! 62: return(1); ! 63: return(0); /* fix up later */ ! 64: } ! 65: ! 66: bdtsetup(d, ifa) ! 67: double ifa[]; ! 68: double d; ! 69: { ! 70: double t; ! 71: ! 72: ifa[0] = floor(1900. + d/365.2425); ! 73: ifa[1] = 1.; ! 74: ifa[2] = 1.; ! 75: ifa[3] = 0.; ! 76: ifa[4] = 0.; ! 77: ifa[1] = floor(1. + dsrc(d, ifa, 0)/30.); ! 78: ifa[2] = floor(1. + dsrc(d, ifa, 1)); ! 79: dsrc(d, ifa, 2); ! 80: ! 81: d -= .5; ! 82: t = (d - floor(d))*24.; ! 83: ifa[3] = floor(t); ! 84: ifa[4] = (t-ifa[3]) * 60.; ! 85: } ! 86: ! 87: pdate(d) ! 88: double d; ! 89: { ! 90: double ifa[5]; ! 91: ! 92: dtsetup(d, ifa); ! 93: printf("%.0f %.0f %.0f", ifa[0], ifa[1], ifa[2]); ! 94: } ! 95: ! 96: ptime(d) ! 97: double d; ! 98: { ! 99: double ifa[5]; ! 100: ! 101: dtsetup(d, ifa); ! 102: printf("%.0f:%.2f", ifa[3], ifa[4]); ! 103: } ! 104: ! 105: prlat() ! 106: { ! 107: /* ! 108: printf("%.4f N. %.4f W. %.0f m. above MSL\n", nlat, wlong, elev); ! 109: */ ! 110: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.