Annotation of researchv8dc/cmd/view2d/halft.c, revision 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.