Annotation of researchv8dc/cmd/view2d/halft.c, revision 1.1.1.1

1.1       root        1: #include <stdio.h>
                      2: #include <math.h>
                      3: #include "view2d.h"
                      4: 
                      5: extern Rd2d rd;
                      6: char *progname;
                      7: short timewarp;
                      8: double ts, te;
                      9: int verbose;
                     10: 
                     11: main(argc,argv)
                     12:   int argc;
                     13:   char **argv;
                     14: {
                     15:   register unsigned char *p;
                     16:   register int prange;
                     17:   register short *q;
                     18:   register int r, rmin, ncolor1;
                     19:   int i, j, k;
                     20:   unsigned char *pict;
                     21:   int ip;
                     22:   short *v;
                     23:   int ncolor = 10;
                     24:   short nx, ny;
                     25:   int frame, nframe;
                     26:   int nf;
                     27:   double frtime;
                     28:   char *Malloc();
                     29:   char junk[150];
                     30:   double cleft, cright;
                     31:   int printcol;
                     32:   timewarp = -1;
                     33:   verbose = 0;
                     34:   progname=argv[0];
                     35: 
                     36:   for(argc--, argv++; *argv && (**argv == '-' ); argv++){
                     37:     switch(argv[0][1]){
                     38:      case 'S':
                     39:        break;
                     40:      case 'c':
                     41:        ncolor = atoi(&argv[0][2]);
                     42:        break;
                     43:      case 't':
                     44:        i = sscanf(&argv[0][2], "%he, %he", &ts, &te);
                     45:        if(i<=0) error("bad TS,TE");
                     46:        timewarp = i;
                     47:        break;
                     48:      case 'v':
                     49:        verbose++;
                     50:        if(argv[0][2]=='c') printcol++;
                     51:        break;
                     52:      case 'T':
                     53:      case 'g':
                     54:      case 's':
                     55:        break;
                     56:      default:
                     57:      err:
                     58:        fprintf(stderr,"unrecognized option: %s\n",argv[0]);
                     59:        exit(1);
                     60:      }
                     61:    }
                     62: 
                     63:   if((timewarp>=0)&&verbose)
                     64:     fprintf(stderr,"timewarp=%d ts=%g te=%g\n",timewarp,ts,te);
                     65:   rd2dh(0,&nx,&ny);
                     66:   if((timewarp>=0)&&verbose)
                     67:     fprintf(stderr,"timewarp=%d ts=%g te=%g\n",timewarp,ts,te);
                     68:   if(verbose){
                     69:     fprintf(stderr,"nx=%d ny=%d\n",nx,ny);
                     70:     fprintf(stderr,"fmin=%g fmax=%g\n",rd.fmin,rd.fmax);
                     71:   }
                     72:   v = (short *)Malloc(nx*ny*sizeof(short));
                     73:   pict = (unsigned char *)Malloc(nx*ny*sizeof(char));
                     74: 
                     75:   prange = ((int)rd.pmax)-rd.pmin;
                     76:   if(prange==0) prange = 1;
                     77:   if(printcol){
                     78:     for(j=0; j<=ncolor-1; j++){
                     79:       cleft  = rd.fmin +     j*(rd.fmax-rd.fmin)/ncolor;
                     80:       cright = rd.fmin + (j+1)*(rd.fmax-rd.fmin)/ncolor;
                     81:       fprintf(stderr,"%g to %g\n",
                     82:           cleft, cright );
                     83:     }
                     84:   }
                     85:   frame=1;
                     86:   while(rd2di(&frtime,v)){
                     87:     if((timewarp>=0)&&(frtime>te)) break;
                     88:     if(verbose) fprintf(stderr,"time=%.9g frame %d\n",frtime,frame);
                     89:     p = pict;
                     90:     rmin = rd.pmin;
                     91:     ncolor1 = ncolor-1;
                     92:     for(j=ny-1; j>=0; j--){
                     93:       q = v+j*nx;
                     94:       for(i=0; i<nx; i++,q++,p++){
                     95:         r = *q;
                     96:         if( r < -BIG ){ *p = 0; }
                     97:          else{
                     98:           k = ((r-rmin)*ncolor1)/prange;
                     99:           *p = (k*127)/ncolor1;
                    100:          }
                    101:       }
                    102:     }
                    103:     Write(1,pict,nx*ny*sizeof(unsigned char));
                    104:     frame++;
                    105:   }
                    106:   nframe = frame-1;
                    107:   exit(0);
                    108: }

unix.superglobalmegacorp.com

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