73 short int *iflag, *status;
75 static short int itest, jchar, jday, jflag, jsign,
leap,
76 ndig, num, numa, total_ndig,
k;
91 if ( DEBUG1 )
printf(
"\nshdtype:begin *******************************");
102 if ( DEBUG1 )
printf(
"\nshdtype:at 20");
106 if ( DEBUG1 )
printf(
"\nshdtype:at 25");
113 else if( *status == 2 )
121 if ( DEBUG1 )
printf(
"\nshdtype:at 30 iflag = %d",*iflag);
133 if ( DEBUG1 )
printf(
"\nshdtype:at 35");
140 else if( *status == 2 )
151 if ( DEBUG1 )
printf(
"\nshdtype:getting DS");
161 else if( *status == 2 )
166 else if( *status == 3 )
176 else if( *status == 2 )
181 else if( *status == 3 )
208 if ( DEBUG1 )
printf(
"\nshdtype:getting DN");
217 else if( *status == 2 )
222 else if( *status == 3 )
257 else if( *status == 2 )
262 else if( *status == 3 )
289 if ( DEBUG1 )
printf(
"\nshdtype:getting DD");
298 else if( *status == 2 )
303 else if( *status == 3 )
321 if ( DEBUG1 )
printf(
"\nshdtype:getting DM");
330 else if( *status == 2 )
335 else if( *status == 3 )
354 if ( DEBUG1 )
printf(
"\nshdtype:getting DY");
363 else if( *status == 2 )
368 else if( *status == 3 )
389 if ( DEBUG1 )
printf(
"\nshdtype:getting DT");
398 else if( *status == 2 )
403 else if( *status == 3 )
429 if ( DEBUG1 )
printf(
"\nshdtype: DY");
430 shint( &num, &ndig, 1, status );
436 else if( *status == 2 )
441 else if( *status == 3 )
450 if ( DEBUG1 )
printf(
"\nshdtype:at 85");
451 shint( &num, &ndig, 1, status );
457 else if( *status == 2 )
462 else if( *status == 3 )
479 if ( DEBUG1 )
printf(
"\nshdtype:at 90");
480 shint( &num, &ndig, 1, status );
486 else if( *status == 2 )
491 else if( *status == 3 )
508 if ( DEBUG1 )
printf(
"\nshdtype:at 100");
509 shint( &num, &ndig, 1, status );
515 else if( *status == 2 )
520 else if( *status == 3 )
533 if ( DEBUG1 )
printf(
"\nshdtype:at 110");
534 shint( &num, &ndig, 1, status );
540 else if( *status == 2 )
545 else if( *status == 3 )
560 if ( DEBUG1 )
printf(
"\nshdtype:at 115");
561 shint( &num, &ndig, 1, status );
567 else if( *status == 2 )
572 else if( *status == 3 )
588 if ( DEBUG1 )
printf(
"\nshdtype:at 116");
594 if ( DEBUG1 )
printf(
"\nshdtype:at 120");
602 if ( DEBUG1 )
printf(
"\nshdtype:at 121");
613 if ( DEBUG1 )
printf(
"\nshdtype:at 122");
627 if ( DEBUG1 )
printf(
"\nshdtype:at 125 iflag = %d",*iflag);
657 else if( *status == 2 )
662 else if( *status == 3 )
680 else if( *status == 2 )
685 else if( *status == 3 )
691 total_ndig = total_ndig + 2;
703 else if( *status == 2 )
708 else if( *status == 3 )
714 total_ndig = total_ndig + 2;
725 else if( *status == 2 )
730 else if( *status == 3 )
736 total_ndig = total_ndig + 2;
749 else if( *status == 2 )
754 else if( *status == 3 )
760 total_ndig = total_ndig + 2;
772 else if( *status == 2 )
777 else if( *status == 3 )
783 total_ndig = total_ndig + 2;
794 if ( DEBUG1 )
printf(
"\nshdtype:at 75");
796 if ( DEBUG2 )
printf(
"\nshdtype: at L_75\n total_ndig = %d\n data_.kcent=%d\n data_.kyear=%d\n data_.kmon=%d\n data_.kday=%d\n data_.khour=%d\n data_.kmin=%d",
798 if ( total_ndig == 12 )
801 if ( total_ndig == 10 )
811 if ( total_ndig == 8 )
821 if ( total_ndig == 6 )
831 if ( total_ndig == 4 )
871 data_.
kyear = Idate[3] - ( (int) (Idate[3]/100)) * 100;
885 if( (itest == -6) && (
data_.
kday < Idate[2]) )
887 if( (itest == 6) && (
data_.
kday > Idate[2]) )
899 if ( DEBUG2 )
printf(
"\nshdtype: at L_75\n data_.kcent=%d\n data_.kyear=%d\n data_.kmon=%d\n data_.kday=%d\n data_.khour=%d\n data_.kmin=%d",
927 if ( DEBUG1 )
printf(
"\nshdtype:at 150");
935 if ( DEBUG1 )
printf(
"\nshdtype:at 151");
940 total_ndig = total_ndig + 1;
945 if ( DEBUG1 )
printf(
"\nshdtype:at 155");
946 if ( DEBUG2 )
printf(
"\nshdtype: total_ndig = %d",total_ndig);
950 if ( total_ndig != 7 && total_ndig != 5 && total_ndig != 3
954 if ( total_ndig == 7 )
978 if ( total_ndig == 5 )
998 if ( total_ndig == 3 )
1010 if ( total_ndig == 2 )
1026 if ( DEBUG1 )
printf(
"\nshdtype:at 170");
1030 if( (
leap == 0) && (jday > 365) )
1041 if ( DEBUG1 )
printf(
"\nshdtype:at 180");
1050 else if( *status == 2 )
1075 if ( DEBUG1 )
printf(
"\nshdtype:at 200");
1084 else if( *status == 2 )
1103 if ( DEBUG1 )
printf(
"\nshdtype:at 220");
1115 nextch( &jchar, status );
1121 else if( *status == 2 )
1132 else if( *status == 2 )
1151 if ( DEBUG1 )
printf(
"\nshdtype:at 240");
1153 shint( &num, &ndig, jflag, status );
1159 else if( *status == 2 )
1164 else if( *status == 3 )
1171 if ( DEBUG1 )
printf(
"\nshdtype:at 245");
1183 if ( DEBUG1 )
printf(
"\nshdtype:at 247");
1192 if ( DEBUG1 )
printf(
"\nshdtype:at 250");
1201 if ( DEBUG1 )
printf(
"\nshdtype:at 260");
1210 if ( DEBUG1 )
printf(
"\nshdtype:at 270");
1219 if ( DEBUG1 )
printf(
"\nshdtype: at 280");
1239 if ( DEBUG1 )
printf(
"\nshdtype:at 285");
1251 if ( DEBUG1 )
printf(
"\nshdtype:at 290");
1260 else if( *status == 2 )
1272 if ( DEBUG1 )
printf(
"\nshdtype:at 295");
1279 if ( DEBUG1 )
printf(
"\nshdtype:at 300");
1286 if ( DEBUG1 )
printf(
"\nshdtype:at 310");
1293 if ( DEBUG1 )
printf(
"\nshdtype:at 320");
1300 if ( DEBUG1 )
printf(
"\nshdtype:at 330");
1308 if ( DEBUG1 )
printf(
"\nshdtype:at 340");
1317 if ( DEBUG1 )
printf(
"\nshdtype:at 350");
1320 shint( &num, &ndig, 1, status );
1326 else if( *status == 2 )
1331 else if( *status == 3 )
1344 if ( DEBUG1 )
printf(
"\nshdtype:360 getting DI for increnemtn iflag = %d",*iflag);
1357 else if( *status == 2 )
1366 if ( DEBUG1 )
printf(
"\nshdtype:going to 410");
1370 if ( DEBUG1 )
printf(
"\nshdtype:at 365");
1377 if ( DEBUG1 )
printf(
"\nshdtype:at 370");
1384 if ( DEBUG1 )
printf(
"\nshdtype:at 380");
1391 if ( DEBUG1 )
printf(
"\nshdtype:at 390");
1398 if ( DEBUG1 )
printf(
"\nshdtype:at 400");
1405 if ( DEBUG1 )
printf(
"\nshdtype:at 405");
1413 if ( DEBUG1 )
printf(
"\nshdtype:at 410");
1424 else if( *status == 2 )
1436 if ( DEBUG1 )
printf(
"\nshdtype:at 412");
1444 if ( DEBUG1 )
printf(
"\nshdtype:at 414");
1445 shint( &num, &ndig, jflag, status );
1451 else if( *status == 2 )
1456 else if( *status == 3 )
1465 if ( DEBUG1 )
printf(
"\nshdtype:at 420");
1484 else if( *status == 2 )
1491 if ( DEBUG1 )
printf(
"\nshdtype:510 dtype_.ieee = %d iflag = %d",
dtype_.
ieee,*iflag);
1504 if ( DEBUG1 )
printf(
"\nshdtype:at 600 returning dtype_.ieee = %d iflag = %d",
dtype_.
ieee,*iflag);
void irang(short int *i, short int *min_, short int *max_, short int *status)
printf("fbuf is %s\n", fbuf)
void nextch(short int *ichar, short int *status)
void shcal(short int *iord, short int *leap, short int *lmon, short int *lday)
void shdtype(short int *iflag, short int *status)
void sherr(short int *ier)
void shint(short int *inum, short int *ndig, short int iflag, short int *status)
void shleap(short int *lyear, short int *leap)
void shtdat(short int *lyear, short int *lmon, short int *lday, short int *status)
short int ibuf[MAX_SHEF_INPUT]