|
|
1.1 root 1: # include "stdio.h"
2: # include "math.h"
3: # include "assert.h"
4: # define radp 57.2957795
5: main()
6: {
7: /* reads ascii patch file; converts to binary and does cosine conversion. */
8: char line[100], *s, opat[10];
9: long pos;
10: int k;
11: float a[2];
12: double correct;
13: opat[0]=0;
14: pos=0;
15: correct = cos(40.0/radp);
16: while (gets(line))
17: {
18: if (strncmp(opat, line, 5))
19: fprintf(stderr, "%.5s %ld\n", line, pos);
20: strncpy(opat, line, 5);
21: for(s=line; *s && *s!='\t'; s++)
22: ;
23: sscanf(s, "%lf %lf", a+0, a+1);
24: /* need to multiply longitudes by cosine of latitude */
25: a[1] = a[1]*correct;
26: write (1, a, 2*sizeof(float));
27: for(s=line; *s; s++)
28: ;
29: s -= 3;
30: write (1, s, 1);
31: for(s=line; *s && *s!=','; s++)
32: ;
33: *s=0;
34: k = s-(line+6);
35: if (k<0) k=0;
36: write (1, line+6, k);
37: write (1, "\n", 1);
38: pos+= 2*sizeof(float);
39: pos += k+2;
40: }
41: fprintf(stderr, "ENDED %ld\n", pos);
42: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.