setparams() { trakflag = FALSE; input = getparam("in"); times = getparam("times"); xvar = getparam("xvar"); if (hasvalue("xlabel")) xlabel = getparam("xlabel"); else xlabel = xvar; setrange(xrange, getparam("xrange")); yvar = getparam("yvar"); if (hasvalue("ylabel")) ylabel = getparam("ylabel"); else ylabel = yvar; setrange(yrange, getparam("yrange")); zvar = getparam("zvar"); if (hasvalue("zlabel")) zlabel = getparam("zlabel"); else zlabel = zvar; setrange(zrange, getparam("zrange")); visib = getparam("visib"); psize = getparam("psize"); fillcircle = getbparam("fill_circle"); if (hasvalue("xticks")) setticks(xticks, &nxticks, getparam("xticks")); else { xticks[0] = xrange[0]; xticks[1] = xrange[1]; nxticks = - getiparam("nxticks"); } if (hasvalue("yticks")) setticks(yticks, &nyticks, getparam("yticks")); else { yticks[0] = yrange[0]; yticks[1] = yrange[1]; nyticks = - getiparam("nyticks"); } if (hasvalue("zticks")) setticks(zticks, &nzticks, getparam("zticks")); else { zticks[0] = zrange[0]; zticks[1] = zrange[1]; nzticks = - getiparam("nzticks"); } s2box_opt = getparam("s2box"); #ifdef COLOR color = getparam("color"); setrange(crange, getparam("crange")); #endif }
void setparams() { input = getparam("in"); otimes = getparam("times"); if (strcmp(otimes,"all")==0) { trange[0] = -HUGE; trange[1] = HUGE; } else setrange(trange, otimes); nplot=getiparam("nplot"); xvar = getparam("xvar"); xvar_idx = get_idx(xvar); if (hasvalue("xlabel")) xlabel = getparam("xlabel"); else xlabel = xvar; setrange(xrange, getparam("xrange")); yvar = getparam("yvar"); yvar_idx = get_idx(yvar); if (hasvalue("ylabel")) ylabel = getparam("ylabel"); else ylabel = yvar; setrange(yrange, getparam("yrange")); visib = getparam("visib"); psize = getparam("psize"); #ifdef COLOR color = getparam("color"); #endif maxsteps = getiparam("maxsteps"); }
int FMmark_active( FMAP_T *fmap, char *dbname, int active[] ) { char *dp, *pp, *pc; char dname[ 32 ]; char range[ 32 ]; int f, pcnt, p, p1; int pl, ph; FM_ENTRY_T *fme; dp = dbname; if( pp = strchr( dp, ':' ) ){ strncpy( dname, dp, pp - dp ); dname[ pp - dp ] = '\0'; }else strcpy( dname, dp ); if( !strcmp( dname, "all" ) ){ for( f = 0; f < fmap->f_nentries; f++ ) active[ f ] = 1; return( 0 ); } if( ( fme = FMget_fmentry( fmap, dname, UNDEF ) ) == NULL ){ fprintf( stderr, "FMmark_active: unknown db '%s'", dp ); return( 1 ); } for( pcnt = 0, p1 = p = fme - fmap->f_entries; ; ){ pcnt++; if( p == fmap->f_nentries - 1 ) break; p++; fme++; if( strcmp( fme->f_dname, dname ) ) break; } if( pp == NULL || pp[1] == '\0' ){ for( p = 0; p < pcnt; p++ ) active[ p1 + p ] = 1; return( 0 ); } for( ++pp; pp && *pp; ){ if( pc = strchr( pp, ',' ) ){ strncpy( range, pp, pc - pp ); range[ pc - pp ] = '\0'; pp = pc + 1; }else{ strcpy( range, pp ); pp = pc; } if( setrange( range, &pl, &ph, pcnt ) ) return( 1 ); for( p = pl - 1; p < ph; p++ ) active[ p1 + p ] = 1; } return( 0 ); }
int main(int argc, string argv[]) { real rrange[2], rmax; int np; double lgrs; gsprof *gsp; stream ostr; initparam(argv, defv); setrange(rrange, getparam("rrange")); np = getiparam("npoint"); rmax = pow(2.0, floor(log2(32.0 / getdparam("alpha")))); if (rmax < rrange[1] && getbparam("smartrange")) { lgrs = log2(rrange[1] / rrange[0]) / (np - 1); np = 1 + log2(rmax / rrange[0]) / lgrs; eprintf("[%s: warning: npoint = %d -> %d rrange[1] = %f -> %f]\n", getprog(), getiparam("npoint"), np, rrange[1], rmax); rrange[1] = rmax; } gsp = gsp_expd(getdparam("mtot"), getdparam("alpha"), getdparam("zdisk"), np, rrange[0], rrange[1]); ostr = stropen(getparam("out"), "w"); put_history(ostr); gsp_write(ostr, gsp); fflush(NULL); return 0; }
int main(int argc, string argv[]) { string prog, itags[MaxBodyFields]; stream xstr; int nprof, nbody, nsamp; real *prof1, *prof2, rrange[2], tnow; bodyptr btab = NULL; initparam(argv, defv); layout_body(fields, Precision, NDIM); prog = mktemp((string) copxstr("/tmp/sm_XXXXXX", sizeof(char))); xstr = execmap(prog); get_history(xstr); nprof = getiparam("nprof"); prof1 = (real *) allocate((2 + nprof) * sizeof(real)); prof2 = (real *) allocate((2 + nprof) * sizeof(real)); setrange(rrange, getparam("rrange")); nsamp = 0; while (get_snap(xstr, &btab, &nbody, &tnow, itags, FALSE)) { setprofile(prof1, prof2, nprof, rrange, btab, nbody); nsamp++; } if (unlink(prog) != 0) error("%s: can't unlink %s\n", getargv0(), prog); if (nsamp == 0) error("%s: no data in input\n", getargv0()); listdensity(prof1, prof2, nprof, rrange, nsamp); return (0); }
int main(int argc, string argv[]) { stream istr; gsprof *tgsp, *mgsp; real beta_a, *sig2, rrange[2], lgrs, r; int np, i; initparam(argv, defv); istr = stropen(getparam("gsp"), "r"); get_history(istr); tgsp = get_gsprof(istr); strclose(istr); if (! strnull(getparam("grav"))) { istr = stropen(getparam("grav"), "r"); get_history(istr); mgsp = get_gsprof(istr); strclose(istr); } else mgsp = tgsp; beta_a = getdparam("beta_a"); sig2 = calc_sig2_gsp(tgsp, mgsp, beta_a); np = getiparam("npoint"); setrange(rrange, getparam("rrange")); lgrs = rlog2(rrange[1] / rrange[0]) / (np - 1); printf("%12s %12s\n", "radius", "sig_r^2"); for (i = 0; i < np; i++) { r = rrange[0] * rpow(2.0, lgrs * i); printf("%12.5f %12.7f\n", r, sig2_gsp(tgsp, mgsp, beta_a, sig2, r)); } return (0); }
/* Insert the given character at the current cursor position. * Do nothing if the line would become too long. * Do nothing if the character is not printable. * The cursor moves to the right one column, provided it doesn't * move past dl_max_col. */ void dlinsert(displine *line, key k) { char restbuf[MAXWIDTH+1]; /* Char from cursor to end. */ char insbuf[2]; /* Char to insert. */ if (line->dl_length >= line->wwidth) return; if (!printable(k)) return; getrange(line, restbuf, line->wcur_col, line->wwidth); insbuf[0] = k; insbuf[1] = '\000'; setrange(line, insbuf, line->wcur_col, line->wcur_col); setrange(line, restbuf, line->wcur_col+1, line->wwidth); dlright(line); }
int main(int argc, string argv[]) { real rrange[2]; gsprof *gsp; stream ostr; initparam(argv, defv); setrange(rrange, getparam("rrange")); gsp = plumgsp(getdparam("mtot"), getdparam("a"), getiparam("npoint"), rrange[0], rrange[1]); ostr = stropen(getparam("out"), "w"); put_history(ostr); put_gsprof(ostr, gsp); strclose(ostr); return (0); }
setparams() { string inname = getparam("in"); nmax = nemo_file_lines(inname,getiparam("nmax")); if (nmax<0) error("Error opening %s",inname); if (nmax==0) error("No data?"); instr = stropen (inname,"r"); if (hasvalue("out")) outstr=stropen(getparam("out"),"w"); else outstr=NULL; nxcol = nemoinpi(getparam("xcol"),xcolnr,MAXCOL); if (nxcol<0) error("Illegal xcol= nxcol=%d",nxcol); nycol = nemoinpi(getparam("ycol"),ycolnr,MAXCOL); if (nycol<0) error("Illegal ycol= nycol=%d",nycol); if (hasvalue("dxcol")) dxcolnr = getiparam("dxcol"); else dxcolnr = 0; if (hasvalue("dycol")) dycolnr = getiparam("dycol"); else dycolnr = 0; if (hasvalue("xrange")) setrange(xrange,getparam("xrange")); else { xrange[0] = -HUGE; xrange[1] = HUGE; } method = getparam("fit"); nsigma = getdparam("nsigma"); order = getiparam("order"); if (order<0) error("order=%d of %s cannot be negative",order,method); Qtab = getbparam("tab"); mpfit_mode = getiparam("mpfit"); }
setparams() { string tmpstr; int tmpint, i; infile = getparam ("in"); cntstr = getparam ("contour"); /* get contour levels */ if (*cntstr==0) { /* ncntval = 0; /* this will cause a grayscale plot */ gray=TRUE; } else { ncntval = nemoinpr(getparam("contour"),cntval,MCNTVAL); tmpstr = getparam("gray"); if (*tmpstr==0) gray=FALSE; else gray=getbparam("gray"); } if (hasvalue("mmin")) mmin = getdparam("mmin"); else mmin = UNDEF; if (hasvalue("mmax")) mmax = getdparam("mmax"); else mmax= UNDEF; power=getdparam("power"); if (hasvalue("xrange")) setrange(xplot,getparam("xrange")); else xplot[0] = xplot[1] = UNDEF; if (hasvalue("yrange")) setrange(yplot,getparam("yrange")); else yplot[0] = yplot[1] = UNDEF; headline = getparam("headline"); if (hasvalue("tab")) { tabstr = stropen(getparam("tab"),"w"); tmpstr = getparam("format"); sprintf(format4,"%s %s %s %s\n",tmpstr,tmpstr,tmpstr,tmpstr); } cmode = getiparam("cmode"); if (hasvalue("blankval")) { blankval = getrparam("blankval"); contour_setdef(1,blankval); } else blankval = -999.9; /* only relevant for greyscale now , use NaN ?? */ if (hasvalue("ltype")) { lwidth = getiparam("ltype"); /* oops, skip ltype for now */ } }
int redis_string::setrange(const char* key, unsigned offset, const char* value) { return setrange(key, strlen(key), offset, value, strlen(value)); }
setparams() { stream instr; string intpol; int i,j,n, nbadvel,nbadsig,nbadden; real vel, sig, den, minvel, maxvel, minsig, maxsig; real f=4.0; /* f*sigma is the assumed contributions of signal */ nz = getiparam("nz"); setrange(zrange, getparam("zrange")); if (zrange[0] >= zrange[1]) error("Bad zrange"); zrange[2] = (zrange[1]-zrange[0])/nz; instr = stropen(getparam("invel"),"r"); read_image(instr,&velptr); strclose(instr); if (hasvalue("inden")) { instr = stropen(getparam("inden"),"r"); read_image(instr,&denptr); strclose(instr); } if (hasvalue("insig")) { instr = stropen(getparam("insig"),"r"); read_image(instr,&sigptr); strclose(instr); } else sigdef = getdparam("sigdefault"); n = nbadvel = nbadsig = nbadden = 0; for (j=0; j<Ny(velptr); j++) for (i=0; i<Nx(velptr); i++) { vel = MapValue(velptr,i,j); if (denptr) { den = MapValue(denptr,i,j); if (den < 0) { nbadden++; continue; } else if (den == 0) continue; } if (sigptr) { sig = MapValue(sigptr,i,j); if (sig < 0) { nbadsig++; continue; } } else sig = sigdef; if (vel-f*sig < zrange[0]) nbadvel++; if (vel+f*sig > zrange[1]) nbadvel++; if (n==0) { minvel = vel-f*sig; maxvel = vel+f*sig; minsig = maxsig = sig; } else { minvel = MIN(minvel,vel-f*sig); maxvel = MAX(maxvel,vel+f*sig); minsig = MIN(minsig,sig); maxsig = MAX(maxsig,sig); } n++; } if (nbadden) warning("%d bad density pixels (density < 0)",nbadden); if (nbadsig) warning("%d bad sigma pixels (sigma < 0)",nbadsig); if (nbadvel) warning("%d/%d pixels outside your zrange %g %g\n", nbadvel,Nx(velptr)*Ny(velptr),zrange[0],zrange[1]); dprintf(0,"Minvel=%g Maxvel=%g (using %g sigma) Minsig=%g Maxsig=%g\n", minvel,maxvel,f,minsig,maxsig); }
/* Starting at column, col, set the characters in the display line, line, * to the given string, str. * This differs from setnadline because it does not pad the line with blanks. * Overflows are avoided by truncation. * Note that col is a one-based position, not zero-based as strings are. * This cannot be used to initialize a line, since it does not set the * characters before column col. */ void setndline(displine *line, char *str, int col) { setrange(line, str, col, line->wwidth); }