yorick banner

Home

Manual

Packages

Global Index

Keywords

Quick Reference

all functions - r

 
 
 
random


             random(dimension_list)  
             random_seed, seed  
 
     returns an array of random double values with the given  
     DIMENSION_LIST (nil for a scalar result), uniformly distributed  
     on the interval from 0.0 to 1.0.  
     The algorithm is from Press and Teukolsky, Computers in Physics,  
     vol. 6, no. 5, Sep/Oct 1992 (ran2).  They offer a reward of $1000  
     to anyone who can exhibit a statistical test that this random  
     number generator fails in a "non-trivial" way.  
     The random_seed call reinitializes the random number sequence;  
     SEED should be between 0.0 and 1.0 non-inclusive; if SEED is  
     omitted, nil, or out of range, the sequence is reinitialized as  
     when Yorick starts.  
     The numbers are actually at the centers of 2147483562 equal width  
     bins on the interval [0,1].  Although only these 2 billion numbers  
     are possible, the period of the generator is roughly 2.3e18.  
builtin function, documented at i0/std.i   line 711  
SEE ALSO: randomize  
 
 
 
random_ipq


             random_ipq(ipq_model, dimlist)  
 
     returns an array of double values with the given DIMLIST (see array  
     function, nil for a scalar result).  The numbers are distributed  
     according to a piecewise linear function (possibly with power law  
     or exponential tails) specified by the IPQ_MODEL.  The "IPQ" stands  
     for "inverse piecewise quadratic", which the type of function  
     required to transform a uniform random deviate into the piecewise  
     linear distribution.  Use the ipq_setup function to compute  
     IPQ_MODEL.  
interpreted function, defined at i/random.i   line 178  
SEE ALSO: random,   random_x,   random_u,   random_n,  
random_rej,   ipq_setup  
 
 
 
random_n


             random_n(dimlist)  
 
     returns an array of normally distributed random double values with  
     the given DIMLIST (see array function, nil for a scalar result).  
     The mean is 0.0 and the standard deviation is 1.0.  
     The algorithm follows the Box-Muller method (see Numerical Recipes  
     by Press et al.).  
interpreted function, defined at i/random.i   line 129  
SEE ALSO: random,   random_x,   random_u,   random_ipq,  
random_rej  
 
 
 
random_rej


             random_rej(target_dist, ipq_model, dimlist)  
          or random_rej(target_dist, bounding_dist, bounding_rand, dimlist)  
 
     returns an array of double values with the given DIMLIST (see array  
     function, nil for a scalar result).  The numbers are distributed  
     according to the TARGET_DIST function:  
        func target_dist(x)  
     returning u(x)>=0 of same number and dimensionality as x, normalized  
     so that the integral of target_dist(x) from -infinity to +infinity  
     is 1.0.  The BOUNDING_DIST function must have the same calling  
     sequence as TARGET_DIST:  
        func bounding_dist(x)  
     returning b(x)>=u(x) everywhere.  Since u(x) is normalized, the  
     integral of b(x) must be >=1.0.  Finally, BOUNDING_RAND is a  
     function which converts an array of uniformly distributed random  
     numbers on (0,1) -- as returned by random -- into an array  
     distributed according to BOUNDING_DIST:  
        func bounding_rand(uniform_x_01)  
     Mathematically, BOUNDING_RAND is the inverse of the integral of  
     BOUNDING_DIST from -infinity to x, with its input scaled to (0,1).  
     If BOUNDING_DIST is not a function, then it must be an IPQ_MODEL  
     returned by the ipq_setup function.  In this case BOUNDING_RAND is  
     omitted -- ipq_compute will be used automatically.  
interpreted function, defined at i/random.i   line 198  
SEE ALSO: random,   random_x,   random_u,   random_n,  
random_ipq,   ipq_setup  
 
 
 
random_seed


 random_seed  
 
builtin function, documented at i0/std.i   line 711  
SEE random  
 
 
 
random_u


             random_u(a, b, dimlist)  
 
     return uniformly distributed random numbers between A and B.  
     (Will never exactly equal A or B.)  The DIMLIST is as for the  
     array function.  Same as (b-a)*random(dimlist)+a.  If A==0,  
     you are better off just writing B*random(dimlist).  
interpreted function, defined at i/random.i   line 112  
SEE ALSO: random,   random_x,   random_n,   random_ipq,  
random_rej  
 
 
 
random_x


             random_x(dimlist)  
 
     same as random(DIMLIST), except that random_x calls random  
     twice at each point, to avoid the defect that random only  
     can produce about 2.e9 numbers on the interval (0.,1.) (see  
     random for an explanation of these bins).  
     You may set random=random_x to get these "better" random  
     numbers in every call to random.  
     Unlike random, there is a chance in 1.e15 or so that random_x  
     may return exactly 1.0 or 0.0 (the latter may not be possible  
     with IEEE standard arithmetic, while the former apparently is).  
     Since cosmic rays are far more likely, you may as well not  
     worry about this.  Also, because of rounding errors, some bit  
     patterns may still be more likely than others, but the 0.5e-9  
     wide bins of random will be absent.  
interpreted function, defined at i/random.i   line 73  
SEE ALSO: random  
 
 
 
randomize


             randomize  
             randomize()  
 
     set the seed for random "randomly" (based on the timer clock  
     and the current state of random).  As a function, returns the  
     value of the seed passed to random_seed.  
interpreted function, defined at i0/std.i   line 733  
SEE ALSO: random,   random_seed  
 
 
 
range


             range, ymin, ymax  
 
     sets the y-axis plot limits in the current coordinate system to  
     YMIN, YMAX, which may be nil or omitted to leave the corresponding  
     limit unchanged, a number to fix the corresponding limit to a  
     specified value, or the string "e" to make the corresponding limit  
     take on the extreme value of the currently displayed data.  
     Use    limits, xmin, xmin  
     to accomplish the same function for the x-axis plot limits.  
interpreted function, defined at i0/graph.i   line 773  
SEE ALSO: plsys,   limits,   logxy,   plg  
 
 
 
range3


             range3, zmin,zmax  
 
     Set the 3D axis z limits for use with the cage.  
     Use keyword aspect=[ax,ay,az] to set the aspect ratios of the  
     cage to ax:ay:az -- that is, the ratios of the lengths of the  
     cage axes will become ax:ay:az.  
interpreted function, defined at i/pl3d.i   line 221  
SEE ALSO: cage3,   limit3,   plwf,   plwf,   orient3  
 
 
 
raw_not_cdf


 raw_not_cdf  
 
  
interpreted function, defined at i/netcdf.i   line 57  
 
 
 
raw_style


             raw_style: get_style, set_style, read_style, write_style  
             #include "style.i"  
 
     alternatives to the style= keyword of the window command which  
     allow the interpreter to set or get all the details of the  
     window style.  Include "style.i" and read the help for get_style.  
builtin function, documented at i0/graph.i   line 1439  
 
 
 
rdline


             rdline(f)  
          or rdline(f, n, prompt= pstring)  
 
     returns next line from stream F (stdin if F nil).  If N is non-nil,  
     returns a string array containing the next N lines of F.  If  
     end-of-file occurs, rdline returns nil strings.  If F is nil,  
     uses the PSTRING to prompt for input (default "read> ").  
builtin function, documented at i0/std.i   line 1479  
SEE ALSO: read,   open,   close,   bookmark,   backup,   read_n  
 
 
 
read


             n= read(f, format=fstring, obj1, obj2, ...)  
          or n= read(prompt= pstring, format=fstring, obj1, obj2, ...)  
          or n= sread(source, format=fstring, obj1, obj2, ...)  
 
     reads text from I/O stream F (1st form), or from the keyboard (2nd  
     form), or from the string or string array SOURCE (3rd form),  
     interprets it according to the optional FSTRING, and uses that  
     interpretation to assign values to OBJ1, OBJ2, ...  If the input  
     is taken from the keyboard, the optional prompt PSTRING (default  
     "read> ") is printed before each line is read.  The Yorick write  
     function does not interact with the read function -- writes are  
     always to end-of-file, and do not affect the sequence of lines  
     returned by read.  The backup (and bookmark) function is the  
     only way to change the sequence of lines returned by read.  
     There must be one non-supressed conversion specifier (see below)  
     in FSTRING for each OBJ to be read; the type of the conversion  
     specifier must generally match the type of the OBJ.  That is,  
     an integer OBJ requires an integer specifier (d, i, o, u, or x)  
     in FSTRING, a real OBJ requires a real specifier (e, f, or g),  
     and a string OBJ requires a string specifier (s or []).  An OBJ  
     may not be complex, a pointer, a structure instance, or any non-  
     array Yorick object.  If FSTRING is not supplied, or if it has  
     fewer conversion specifiers than the number of OBJ arguments,  
     then Yorick supplies default specifiers ("%ld" for integers,  
     "%lg" for reals, and "%s" for strings).  If FSTRING contains more  
     specifiers than there are OBJ arguments, the part of FSTRING  
     beginning with the first specifier with no OBJ is ignored.  
     The OBJ may be scalar or arrays, but the dimensions of every OBJ  
     must be identical.  If the OBJ are arrays, Yorick behaves as  
     if the read were called in a loop numberof(OBJ1) times, filling  
     one array element of each of the OBJ according to FSTRING on  
     each pass through the loop.  (Note that this behavior includes  
     the case of reading columns of numbers by a single call to read.)  
     The return value N is the total number of scalar assignments  
     which were made as a result of this call.  (If there were 4  
     OBJ arguments, and each was an array with 17 elements, a return  
     value of N==35 would mean the following:  The first 8 elements  
     of OBJ1, OBJ2, OBJ3, and OBJ4 were read, and the 9th element of  
     OBJ1, OBJ2, and OBJ3 was read.)  The read function sets any  
     elements of the OBJ which were not read to zero -- hence,  
     independent of the returned N, the all of the old data in the  
     OBJ arguments is overwritten.  
     The read or sread functions continue reading until either:  
     (1) all elements of all OBJ have been filled, or (2) end-of-file  
     (or end of SOURCE for sread) is reached ("input failure"), or  
     (3) part of FSTRING or a conversion specifier supplied by  
     default fails to match the source text ("matching failure").  
     The FSTRING is composed of a series of "directives" which are  
     (1) whitespace -- means to skip any amount of whitespace in the  
         source text  
     (2) characters other than whitespace and % -- must match the  
         characters in the source text exactly, or matching failure  
         occurs and the read operation stops  
     (3) conversion specifiers beginning with % and ending with a  
         character specifying the type of conversion -- optionally  
         skip whitespace, then convert as many characters as  
         continue to "look like" the conversion type, possibly  
         producing a matching failure  
     The conversion specifier is of the form %*WSC, where:  
  is either the character '*' or not present  
       A specifier beginning with %* does not correspond to any of  
       the OBJ; the converted value will be discarded.  
     W is either a positive decimal integer specifying the maximum  
       field width (not including any skipped leading whitespace),  
       or not present if any number of characters up to end-of-line  
       is acceptable.  
     S is either one of the characters 'h', 'l', or 'L', or not  
       present.  Yorick allows this for compatibility with the C  
       library functions, but ignores it.  
     C is a character specifying the type of conversion:  
       d   - decimal integer  
       i   - decimal, octal (leading 0), or hex (leading 0x) integer  
       o   - octal integer  
       u   - unsigned decimal integer (same as d for Yorick)  
       x, X            - hex integer  
       e, f, g, E, G   - floating point real  
       s   - string of non-whitespace characters  
       [xxx]   - (xxx is any sequence of characters) longest string  
                 of characters matching those in the list  
       [^xxx]  - longest string of characters NOT matching those in  
                 the list (this is how you can extend %s to be  
                 delimited by something other than whitespace)  
       %   - the ordinary % character; complete conversion  
             specification must be "%%"  
     The read function is modeled on the ANSI standard C library  
     fscanf and sscanf functions, but differs in several respects:  
       (1) Yorick's read cannot handle the %c, %p, or %n conversion  
           specifiers in FSTRING.  
       (2) Yorick's read never results in a portion of a line  
           being read -- any unused part of a line is simply discarded  
           (end FSTRING with "%[^\n]" if you want to save the trailing  
           part of an input line).  
       (3) As a side effect of (2), there are some differences between  
           fscanf and Yorick's read in how whitespace extending across  
           newlines is handled.  
builtin function, documented at i0/std.i   line 1373  
SEE ALSO: rdline,   write,   open,   close,   bookmark,   backup,  
save,   restore,   read_n  
 
 
 
readSnapTimings


 readSnapTimings  
 
  
interpreted function, defined at contrib/gadget.i   line 902  
 
 
 
readTimings


              reads gadget Timing file   
 
   EXEMPLE  plg,readTimings("~/gadget/test/timings.txt")(dif);  
interpreted function, defined at contrib/gadget.i   line 911  
SEE ALSO,   asciiRead,  
 
 
 
read_clog


             file= read_clog(file, clog_name)  
 
     raw routine to set the binary data structure of FILE according  
     to the text description in the Contents Log file CLOG_NAME.  
builtin function, documented at i0/std.i   line 1880  
 
 
 
read_flat


 read_flat  
 
  
interpreted function, defined at i/testb.i   line 487  
 
 
 
read_halo_tree


               
 
     read_halo_tree(fname) reads a   
     anahop file and returns a CHalo structure.  
     EXAMPLE  
     h1=read_halo_tree("seed064853998_128_012_000.nodes");  
     ws1; PL,h1.density,h1.mass;  
interpreted function, defined at contrib/gadget.i   line 101  
SEE ALSO:
 
 
 
read_hist


 read_hist  
 
  
interpreted function, defined at i/testb.i   line 328  
 
 
 
read_n


             read_n, f, n0, n1, n2, ...  
 
     grabs the next numbers N0, N1, N2, ... from file F, skipping over  
     any whitespace, comma, semicolon, or colon delimited tokens which  
     are not numbers.  (Actually, only the first and last characters of  
     the token have to look like a number -- 4xxx3 would be read as 4.)  
     ***WARNING*** at most ten Ns are allowed  
     The Ns can be arrays, provided all have the same dimensions.  
interpreted function, defined at i0/std.i   line 1489  
SEE ALSO: read,   rdline  
 
 
 
read_otable


 read_otable  
 
  
interpreted function, defined at i/ylmdec.i   line 369  
 
 
 
read_ptrs


 read_ptrs  
 
  
interpreted function, defined at i/testb.i   line 612  
 
 
 
read_state


 read_state  
 
  
interpreted function, defined at i/ylmdec.i   line 259  
 
 
 
read_style


             read_style, file, landscape, systems, legends, clegends  
 
     read a Gist style sheet (.gs file), and return the data  
     structures as described in the get_style function.  The FILE  
     can be a filename or a text file stream.  
interpreted function, defined at i/style.i   line 312  
SEE ALSO: get_style,   set_style,   write_style  
 
 
 
recenter


             recenter cube on coordinates coor  
 
   EXAMPLE  
   x=span(0,1,15)(,-:1:16)(,,-:1:17);  
   y=span(0,1,16)(-:1:15,)(,,-:1:17);  
   z=span(0,1,17)(-:1:16,)(-:1:15,,);  
   u=abs(x-0.5,y-0.5,z-0.5);  
   v=recenter(u,[3,4,5]);  
   need not be a cube; can be a rectangle or a hypercube  
interpreted function, defined at contrib/split.i   line 604  
SEE ALSO:
 
 
 
recover_file


             recover_file, filename  
          or recover_file, filename, clogfile  
 
     writes the descriptive information at the end of a corrupted  
     binary file FILENAME from its Contents Log file CLOGFILE, which  
     is FILENAME+"L" by default.  
interpreted function, defined at i0/std.i   line 1886  
 
 
 
redraw


             redraw  
 
     redraws the X window associated with the current graphics window.  
builtin function, documented at i0/graph.i   line 278  
SEE ALSO: window,   fma,   hcp,   plg  
 
 
 
redshiftDist


 redshiftDist  
 
  
interpreted function, defined at contrib/correl.i   line 83  
 
 
 
reform


             reform(x, dimlist)  
 
     returns array X reshaped according to dimension list DIMLIST.  
     In most cases, prefer this to reshape.  
interpreted function, defined at i/string.i   line 197  
SEE ALSO: array,   dimsof  
 
 
 
reg_track


             c= reg_track(x, y, z, rays, s)  
 
     track RAYS through regular mesh defined by the 1D coordinate  
     arrays X, Y, and Z.  Return values S and C are as for  
     hex5_track, where the mesh is numberof(X) by numberof(Y) by  
     numberof(Z).  
builtin function, documented at i0/hex.i   line 83  
SEE ALSO: hex5_track,   track_reduce  
 
 
 
remove


 remove  
 
builtin function, documented at i0/std.i   line 1365  
SEE rename  
 
 
 
rename


             rename, old_filename, new_filename  
             remove filename  
 
     rename or remove a file.  
builtin function, documented at i0/std.i   line 1365  
SEE ALSO: open,   close,   openb  
 
 
 
require


 require  
 
builtin function, documented at i0/std.i   line 1614  
SEE include  
 
 
 
reset


 reset  
 
  
interpreted function, defined at i/demo1.i   line 37  
 
 
 
reset_options


             reset_options  
 
     resets all options for the streak, snap, and streak_save functions  
     to their default values.  
interpreted function, defined at i0/drat.i   line 854  
 
 
 
reshape


             reshape, reference, address, type, dimension_list  
          or reshape, reference, type, dimension_list  
          or reshape, reference  
 
     The REFERENCE must be an unadorned variable, not an expression;  
     reshape sets this variable to an LValue at the specified ADDRESS  
     with the specified TYPE and DIMENSION_LIST.  (See the array  
     function documentation for acceptable DIMENSION_LIST formats.)  
     If ADDRESS is an integer (e.g.- a long), the programmer is  
     responsible for assuring that the data at ADDRESS is valid.  
     If ADDRESS is a (Yorick) pointer, Yorick will assure that the  
     data pointed to will not be discarded, and the reshape will  
     fail if TYPE and DIMENSION_LIST extend beyond the pointee  
     bounds.  In the second form, ADDRESS is taken to be &REFERENCE;  
     that is, the TYPE and DIMENSION_LIST of the variable are changed  
     without doing any type conversion.  In the third form, REFERENCE  
     is set to nil ([]).  (Simple redefinition will not work on a  
     variable defined using reshape.)  
     WARNING: There are almost no situations for which reshape is  
       the correct operation.  See reform in Y_SITE/i/string.i.  
builtin function, documented at i0/std.i   line 264  
SEE ALSO: array,   dimsof,   numberof,   is_array,   eq_nocopy  
 
 
 
restore


 restore  
 
builtin function, documented at i0/std.i   line 2311  
SEE save  
 
 
 
restore3


             restore3, view  
 
     Restore a previously saved 3D viewing transformation and lighting.  
     If VIEW is nil, rotate object to viewer's coordinate system.  
interpreted function, defined at i/pl3d.i   line 242  
SEE ALSO: restore3,   rot3,   mov3,   aim3,   light3  
 
 
 
rez_adjust_mesh


             rez_adjust_mesh  
 
     is an optional hook function which is called after any change to the  
     mesh (e.g.- by dragging points) has been made.  If it is defined, it  
     may modify the external variables rez_rt and rez_zt.  This hook can  
     be used, for example, to force points along some k or l line to lie  
     along a symmetry line.  
builtin function, documented at i/rezone.i   line 130  
SEE ALSO: rezone,   rez_all,   rez_mesh  
 
 
 
rez_all


             rez_all  
 
     Click on [Drag Points] to drag points around with the mouse with  
     rez_drag.  
     Click on [Adjust Line] to adjust points along a line segment with  
     rez_ladj.  
     Click on [Adjust Region] to adjust points in a rectangular region  
     with rez_radj.  
     Click on the [Undo] button to undo the previous change.  
     Click on the [Redo] button to redo the previous undo.  
     Click on the [Revert] to return to the original mesh.  
     When you are finished moving points around, click on [OK].  
     Click on [Escape] to exit with a non-zero return value.  
     Click on [Zoom or Pan] to change the plot limits (see rez_zoom).  
     Click on [Set Styles] to change the line styles or colors (see  
     rez_style).  
interpreted function, defined at i/rezone.i   line 423  
SEE ALSO: rez_ladj,   rez_mesh,   rez_zoom,   rez_style,  
rez_adjust_mesh  
 
 
 
rez_chk_palette


 rez_chk_palette  
 
  
interpreted function, defined at i/rezone.i   line 98  
 
 
 
rez_color


 rez_color  
 
builtin function, documented at i/rezone.i   line 39  
SEE rez_kstyle  
 
 
 
rez_ding


 rez_ding  
 
  
interpreted function, defined at i/rezone.i   line 1517  
 
 
 
rez_drag


             rez_drag  
 
     Allow points in the rezone mesh to be dragged around with  
     the mouse.  Press mouse button near a vertex, move mouse  
     to desired position of that vertex, and release button.  
     If the point where you click is less than twice the distance to the  
     second closest point than to the nearest point, the point will not  
     be moved (you will hear a beep when you release the button).  
     Click on the [Undo] button to undo the previous move; you can undo  
     up to 100 previous moves by successive [Undo] clicks.  
     When you are finished moving points around, click on [OK].  
     Click on [Zoom or Pan] to change the plot limits (see rez_zoom).  
     Click on [Set Styles] to change the line styles or colors (see  
     rez_style).  
interpreted function, defined at i/rezone.i   line 532  
SEE ALSO: rez_ladj,   rez_radj,   rez_mesh,   rez_zoom,  
rez_style  
 
 
 
rez_find


 rez_find  
 
  
interpreted function, defined at i/rezone.i   line 1493  
 
 
 
rez_getrz


 rez_getrz  
 
  
interpreted function, defined at i/rezone.i   line 1451  
 
 
 
rez_getvar


 rez_getvar  
 
  
interpreted function, defined at i/rezone.i   line 1506  
 
 
 
rez_kstyle


             rez_kstyle, rez_lstyle, rez_color  
 
     is a vector of three longs:  [type,width,color]  
     type MUST be 1, 2, 3, 4, or 5,  
     width MUST be 1, 2, 3, 4, 5, 6, 7, or 8,  
     and color MUST be -1, -2, -3, -4, -5, -6, -7, -8, -9, or -10  
     Either or both parameters may be set before or after including  
     rez.i; by default:  
       rez_kstyle= [4, 1, -2]    (dashdot, thin, foreground color)  
       rez_lstyle= [1, 1, -2]    (solid, thin, foreground color)  
     To distinguish K and L by color instead of type, try:  
       rez_kstyle= [1, 1, -7]    (dashdot, thin, blue)  
       rez_lstyle= [1, 1, -5]    (solid, thin, red)  
     If the variable rez_color is true (non-nil and non-zero) when  
     this file is included, then these will be the default.  
builtin function, documented at i/rezone.i   line 39  
SEE ALSO: rez_load_hook  
 
 
 
rez_ladj


             rez_ladj  
 
     Adjust the points along a logical line segment PQ:  
     Click on [Set P] or [Set Q] to set the endpoints of the segment.  
     When P and Q have been set, click [OK]; this button will  
     read [Cancel] if P and Q do not have either the same K or the  
     same L index.  
     Click on [Smooth] to smooth the points along PQ.  
     Click on [Equal Space] to make the points along PQ equally spaced.  
     This forces PQ to be a straight line.  
     Drag any point between P and Q to get equal ratio spacing of all  
     the points between P and Q.  This also forces PQ to be a straight  
     line; if PQ is initially curved, you may want to click on  
     [Equal Space] before you attempt to drag points.  
     Click on the [Undo] button to undo the previous adjustment; you can  
     undo up to 20 previous adjustments by successive [Undo] clicks.  
     When you are finished adjusting lines, click on [OK].  
     Click on [Zoom or Pan] to change the plot limits (see rez_zoom).  
     Click on [Set Styles] to change the line styles or colors (see  
     rez_style).  
     Hint:  
         You can select a center point as the second point during  
         rez_ladj.  When you do this, the K (or L) value of this second  
         point will be the same as that of the first point --  
         otherwise there is no way to distinguish among all of the  
         logical points at the center.  
interpreted function, defined at i/rezone.i   line 615  
SEE ALSO: rez_drag,   rez_radj,   rez_mesh,   rez_zoom,  
rez_style  
 
 
 
rez_load_hook


             rez_load_hook  
 
     If non-nil, filename to be included immediately after rez.i.  
     This file can be used to set personalized default values for the  
     many parameters.  
     Some parameters may be set before loading rez.i, as well  
builtin function, documented at i/rezone.i   line 30  
SEE ALSO: rez_kstyle,   rez_lstyle  
 
 
 
rez_lstyle


 rez_lstyle  
 
builtin function, documented at i/rezone.i   line 39  
SEE rez_kstyle  
 
 
 
rez_mark


             rez_mark  
 
     Causes rezone functions to mark bowtied or chevroned (boomeranged)  
     zones when the mesh is plotted.  MUST have one of the following values:  
       0 to not mark bowtied or chevroned zones  
       1 to put a B at the center of the positive triangle of bowtied zones  
       2 to put a C at the center of the larger wing of chevroned zones  
       3 to mark both bowtied and chevroned zones  
     By default, rez_mark is 3; you may set it to a different value  
     either before or after including rez.i.  
builtin function, documented at i/rezone.i   line 66  
SEE ALSO: rez_mesh,   rez_next,   rez_prev,   rez_drag  
 
 
 
rez_mesh


             rez_mesh, rt, zt, ireg  
 
       -or- rez_mesh, rt, zt  
       -or- rez_mesh, zfile  
     set mesh for rez_... commands.  If ZFILE is specified, it must be a  
     binary file containing variables RT, ZT, and (optionally) IREG.  
interpreted function, defined at i/rezone.i   line 1373  
SEE ALSO: rez_all,   rez_adjust_mesh  
 
 
 
rez_next


             rez_next  
 
     zoom in on next bowtied (or chevroned) zone (after rez_mesh).  
     With numeric argument, zooms to that bowtie (or chevron).  With  
     numeric argument 0, zooms to current bowtie (or chevron).  
interpreted function, defined at i/rezone.i   line 1410  
SEE ALSO: rez_prev,   rez_mark,   rez_drag  
 
 
 
rez_palette


             rez_palette  
 
     3-by-ncolors array used as a palette when rez_regs region coloring  
     is set.  The index in rez_regs is the second index into rez_palette.  
     The length 3 first index is [r,g,b].  
     The default is 15 pastels.  
builtin function, documented at i/rezone.i   line 84  
SEE ALSO: rez_regs  
 
 
 
rez_plm


 rez_plm  
 
  
interpreted function, defined at i/rezone.i   line 140  
 
 
 
rez_prev


             rez_prev  
 
     zoom in on previous bowtied (or chevroned) zone (after rez_mesh).  
interpreted function, defined at i/rezone.i   line 1442  
SEE ALSO: rez_next,   rez_mark,   rez_drag  
 
 
 
rez_ptexist


 rez_ptexist  
 
  
interpreted function, defined at i/rezone.i   line 1474  
 
 
 
rez_qrt


             rez_qrt, rez_qzt, rez_qireg  
 
     are the names of the mesh variables for rez_mesh, "rt", "zt", and  
     "ireg" by default.  Note that ireg is optional.  
builtin function, documented at i/rezone.i   line 1364  
 
 
 
rez_radj


             rez_radj  
 
     Adjust the points in a logical rectangle PQRS:  
     Click on [Set P] or [Set R] to set the endpoints of the segment.  
     When P and R have been set, click [OK]; this button will  
     read [Cancel] if P and R have the same K or the same L index.  
     Click on a point on any edge of PQRS (but not one of the corners)  
     to copy the spacings on that edge throughout the entire region.  
     All of the lines of the same type (K-line or L-line) as the edge  
     you clicked on will become straight lines.  
     Click on [Smooth] to smooth the points interior to PQRS.  
     Click on [Smooth 4] to perform the smooth operation four times.  
     Click on the [Undo] button to undo the previous adjustment; you can  
     undo up to 10 previous adjustments by successive [Undo] clicks.  
     When you are finished adjusting regions, click on [OK].  
     Click on [Zoom or Pan] to change the plot limits (see rez_zoom).  
     Click on [Set Styles] to change the line styles or colors (see  
     rez_style).  
     Hint:  
         You can select a center point as the second point during  
         rez_radj.  When you do this, the K (or L) value of this second  
         point will be the same as that of the first point --  
         otherwise there is no way to distinguish among all of the  
         logical points at the center.  The center point will be labeled  
         Q instead of R as usual, and you will need to choose a third  
         point (S) to complete the rectangle PQRS.  
interpreted function, defined at i/rezone.i   line 865  
SEE ALSO: rez_drag,   rez_ladj,   rez_mesh,   rez_zoom,  
rez_style  
 
 
 
rez_range


 rez_range  
 
  
interpreted function, defined at i/rezone.i   line 1515  
 
 
 
rez_regs


             rez_regs  
 
     is a vector of region numbers which are to be drawn in the colors  
     specified in rez_palette.  Thus:  
        rez_regs= [3,5]  
     causes regions 3 and 5 to be drawn in colors.  All other regions have  
     white backgrounds.  Hilighting too many regions in this way may slow  
     down the redraws unacceptably.  To highlight all regions, use:  
        rez_regs= indgen(max(rez_ireg))  
     This won't work on monochrome monitors, of course.  
     The default is rez_regs=[].  
builtin function, documented at i/rezone.i   line 116  
SEE ALSO: rez_palette  
 
 
 
rez_solve


 rez_solve  
 
  
interpreted function, defined at i/rezone.i   line 1522  
 
 
 
rez_style


 rez_style  
 
  
interpreted function, defined at i/rezone.i   line 1258  
 
 
 
rez_test


 rez_test  
 
  
interpreted function, defined at i/rezone.i   line 1565  
 
 
 
rez_toggle


 rez_toggle  
 
  
interpreted function, defined at i/rezone.i   line 261  
 
 
 
rez_zoom


             rez_zoom  
 
     Change limits after setting rez_mesh.  
     There are two modes of operation:  
     (1) P-mode:  
         Click on a point to magnify or demagnify about that point.  
         Drag the point to move it to a different position in the  
         viewport.  The left button zooms in (magnifies by 1.5), the  
         right button zooms out (demagnifies by 1.5), and the middle  
         button pans (no magnification change).  If you click just  
         below or just above the tick marks, only the x coordinate  
         is changed; clicking just to the left or just to the right  
         of the viewport changes only the y coordinate.  
     (2) R-mode:  
         Left drag out a rectangle to set the limits to that rectangle.  
         Right drag out a rectangle to cram the entire current viewport  
         into that rectangle (an analog to zooming out).  
         Middle drag to pan as in P-mode (the rubber band rectangle is  
         meaningless in this case).  
      Click the [R-mode] (or [P-mode]) button to change modes.  
      Click the [OK] button when you are satisfied with the limits.  
      Click the [Undo] button to remove the effect of the previous  
      zoom-click.  Up to 100 successive undo operations are allowed.  
      Click the [Polar] button to toggle polar coordinates.  The  
      vertical axis will be theta, and the horizontal axis radius.  
      The polar coordinate origin will be at (zt,rt) = (0,0).  
      Click the [Next], [Prev], or [First] buttons to focus in on  
      zones which are bowtied or chevroned.  These zones are marked  
      by a B or a C, respectively (if rez_mark is set).  
interpreted function, defined at i/rezone.i   line 1113  
SEE ALSO: rez_mesh  
 
 
 
rezone


             rezone, filename  
 
       -or- rezone  
     Invoke the mouse-driven rezoner.  Input is taken from variables  
     rt, zt, and ireg in the file FILENAME (which is prompted for if  
     omitted).  Output is written to a different file as rt, zt, and  
     ireg.  The output file also contains copies rez_rt, rez_zt, and  
     rez_ireg in case the mesh under a different name is desirable,  
     as well as rez_rt0, rez_zt0, and rez_ireg0, which are the original  
     mesh.  
     If you click on [Escape], you may continue rezoning where you left  
     off by typing   rezone   with no arguments.  
     When you are finished, click [OK] to write the output file.  
     Use [Zoom or Pan] and [Set Styles] to change the plot limits or  
     line colors and styles.  The [Zoom or Pan] screen has buttons which  
     "warp" you to each bowtied or chevroned "problem" zone, as well as  
     a button to toggle between rectangular and polar coordinates.  
     Click [Drag Points] to drag points one at a time with the mouse.  
     Click [Adjust Line] to smooth the points on logical line segments.  
     You first click on the endpoints P and Q, then click a button to  
     smooth or equal space the poionts between P and Q, or drag any  
     point between P and Q to establish equal ratio zones ("ER" operation).  
     Click [Adjust Region] to smooth the points in logically rectangular  
     regions.  You first click on the opposite corners P and R of the  
     rectangle PQRS, then click a button to smooth the interior points,  
     or click on a point on one of the four edges to transfer the spacing  
     on that edge throughout the region PQRS ("EQ" operation).  
     The [Undo] (or [Redo]) button removes the effect of the most  
     recent drag points, adjust line, or adjust region operation.  
     Hints:  
     (0) After [Escape], the current mesh is in the variables  
         rez_zt, rez_rt, and rez_ireg.  You can change these  
         variables "by hand" before restarting rezone to make  
         algebraic adjustments.  
     (1) Switch to polar coordinates during an [Adjust Line] or  
         [Adjust Region] in order to get points to lie along a  
         circular arc.  If your center point is not (0,0), you  
         will need to [Escape] and subtract your center point  
         from the rez_zt and rez_rt variables yourself, then  
         [Escape] a second time to restore the proper coordinates  
         before you write the output file.  
     (2) You can select a center point as the second point during  
         [Adjust Line] or [Adjust Region].  When you do this, the  
         K (or L) value of this second point will be the same as  
         that of the first point -- otherwise there is no way to  
         distinguish among all of the logical points at the center.  
         In an [Adjust Region], the center point will be labeled  
         Q instead of R as usual, and you will need to choose a  
         third point (S) to complete the rectangle PQRS.  
     (3) If you set the variable rez_color=1 before you include  
         rezone.i, you will get K lines and L lines drawn in different  
         colors instead of the default (which is K lines dashdot and  
         L lines solid).  
     (4) If you have a color monitor, you can set rez_regs before  
         invoking rezone in order to highlight a list of regions.  
     The ALL keyword will be passed to the nbow function, which will  
     not be called if the QUIET keyword is non-nil and non-zero.  By  
     default, a short summary of bowtied and chevroned zones is printed.  
     If you need help on how to use one of the screens, try getting  
     help on the appropriate on of these see-also topics, e.g.-  
        help, rez_style  
     to get help on the [Set Styles] screen.  
interpreted function, defined at i/rezone.i   line 294  
SEE ALSO: rez_all,   rez_drag,   rez_ladj,   rez_radj,  
rez_zoom,   rez_style,   rez_color,   rez_regs,  
rez_adjust_mesh,   toy_mesh  
 
 
 
rgb_read


             rgb = rgb_read()  
          or rgb = rgb_read(n)  
 
     Read contents of current graphics window, or of graphics window N.  
     RGB is a 3xNXxNY array of char where NXxNY is the current shape of  
     the window in pixels.  RGB(1,,) is the red component, RGB(2,,) is  
     the green component, and RGB(3,,) is the blue component, with 0  
     black and 255 full intensity.  RGB(,,1) is the top row of the  
     window, RGB(,,2) the second row, and so on to RGB(,,0), which is  
     the bottom row.  (So RGB(,,::-1) to pli redraws a copy.)  
builtin function, documented at i0/graph.i   line 1376  
 
 
 
rk4


             y_at_x_plus_dx= rk4(y,dydx, x,dx, derivative)  
 
     takes a single 4th order Runge-Kutta step from X to X+DX.  
     DERIVATIVE(y,x) is a function returning dydx; the input DYDX  
     is DERIVATIVE(y,x) at the input (X,Y).  This fourth evaluation  
     of DERIVATIVE must be performed by the caller of rk4.  
interpreted function, defined at i/rkutta.i   line 233  
 
 
 
rk_integrate


             y= rk_integrate(derivative, y1, x, epsilon, dx1)  
 
     integrates dydx= DERIVATIVE(y,x) beginning at (X(1),Y1) and  
     going to X(0) with fractional error EPSILON.  The result is  
     the value of y at each value in the list X.  If non-nil, DX1  
     will be used as initial guess for the first step size.  
     Otherwise, X(2)-X(1) will be the first step size guess.  
     The list of X values must be monotone -- strictly increasing  
     or strictly decreasing; the Runge-Kutta step sizes are selected  
     adaptively until the next X value would be passed, when the  
     step size is adjusted to complete the step exactly.  
     The external variable rk_maxits (default 10000) is the  
     maximum number of steps rk_integrate will take.  
     If a function rk_yscale(y,dydx,x,dx) exists, it is used  
     to compute an appropriate yscale to give the EPSILON error  
     criterion meaning.  Otherwise, yscale is taken to be:  
        abs(y)+abs(dydx*dx)+1.e-30  
     Based on odeint from Numerical Recipes (Press, et.al.).  
     If the function you are trying to integrate is very  
     smooth, and your X values are fairly far apart, bs_integrate  
     may work better than rk_integrate.  
interpreted function, defined at i/rkutta.i   line 14  
SEE ALSO: rkutta,   bs_integrate,   rk_maxits,   rk_minstep,  
rk_maxstep,   rk_ngood,   rk_nbad,   rkdumb,   rk4  
 
 
 
rk_store


 rk_store  
 
  
interpreted function, defined at i/rkutta.i   line 163  
 
 
 
rkdumb


             y_of_x= rkdumb(derivative, y0,x0, x1,nsteps)  
 
     integrates dydx= DERIVATIVE(y,x) beginning at (X0,Y0) and  
     going to X1 in NSTEPS 4th order Runge-Kutta steps.  The  
     result is dimsof(Y0)-by-(NSTEPS+1) values of y at the points  
     span(X0, X1, NSTEPS+1).  
     If the nosave= keyword is non-zero, the returned value will  
     simply be the final y value.  
interpreted function, defined at i/rkutta.i   line 184  
 
 
 
rkqc


 rkqc  
 
  
interpreted function, defined at i/rkutta.i   line 205  
 
 
 
rkutta


             y1= rkutta(derivative, y0,x0, x1,epsilon, dx0)  
 
     integrates dydx= DERIVATIVE(y,x) beginning at (X0,Y0) and  
     going to X1 with fractional error EPSILON.  The result is  
     the value of y at X1.  DX0 will be used as the initial guess  
     for a step size.  
     If the external variable rk_nstore is >0, rk_y and rk_x  
     will contain up to rk_nstore intermediate values after the  
     call to rkutta.  Consider using rk_integrate if you need  
     this feature; using rk_nstore gives you the results at  
     intermediate values which will tend to be closer where  
     the Runge-Kutta step size was smaller, while rk_integrate  
     forces you to specify precisely which x values you want.  
     The external variable rk_maxits (default 10000) is the  
     maximum number of steps rkutta will take.  The variable  
     rk_minstep (default 0.0) is the minimum step size.  The  
     variable rk_maxstep (default 1.e35) is the maximum step  
     size, which you may need if you are storing intermediate  
     values (particularly with bstoer).  
     If a function rk_yscale(y,dydx,x,dx) exists, it is used  
     to compute an appropriate yscale to give the EPSILON error  
     criterion meaning.  Otherwise, yscale is taken to be:  
        abs(y)+abs(dydx*dx)+1.e-30  
     Based on odeint from Numerical Recipes (Press, et.al.).  
     If the function you are trying to integrate is very  
     smooth, bstoer will probably work better than rkutta.  
interpreted function, defined at i/rkutta.i   line 52  
SEE ALSO: rk_integrate,   bstoer,   rk_nstore,   rk_maxits,  
rk_minstep,   rk_maxstep,   rk_ngood,   rk_nbad,  
rkdumb,   rk4  
 
 
 
rm_hist


 rm_hist  
 
  
interpreted function, defined at i/testb.i   line 68  
 
 
 
rmdir


 rmdir  
 
builtin function, documented at i0/std.i   line 1703  
SEE mkdir  
 
 
 
roll


             roll(x, ljoff, rjoff)  
          or roll, x, ljoff, rjoff  
          or roll(x)  
          or roll, x  
 
     "rolls" selected dimensions of the array X.  The roll offsets  
     LJOFF and RJOFF (both optional) work in the same fashion as the  
     LJDIR and RJDIR arguments to the fft function:  
        A scalar LJDIR (and nil RJDIR) rolls all dimensions of X by  
        the specified offset.  
        Otherwise, the elements of the LJDIR vector [ljoff1, ljoff2, ...]  
        are used as the roll offsets for the first, second, etc.  
        dimensions of X.  
        Similarly, the elements of the RJDIR vector [..., rjoff1, rjoff0]  
        are matched to the final dimensions of X, so the next to last  
        dimension is rolled by rjoff1 and the last dimension by rjoff0.  
        As a special case (mostly for use with the fft function), if  
        both LJDIR and RJDIR are nil, every dimension is rolled by  
        half of its length.  Thus,  
           roll(x)  
        it equivalent to  
           roll(x, dimsof(x)(2:0)/2)  
     The result of the roll function is complex if X is complex, otherwise  
     double (i.e.- any other array type is promoted to type double).  If  
     roll is invoked as a subroutine, the operation is performed in place.  
interpreted function, defined at i0/fft.i   line 254  
SEE ALSO: fft  
 
 
 
romberg


             integral= romberg(function, a, b)  
          or integral= romberg(function, a, b, epsilon)  
 
     returns the integral of FUNCTION(x) from A to B.  If EPSILON is  
     given, Simpson's rule is refined until that fractional accuracy  
     is obtained.  EPSILON defaults to 1.e-6.  
     If the notvector= keyword is supplied and non-zero, then FUNCTION  
     may not be called with a list of x values to return a list of  
     results.  By default, FUNCTION is assumed to be a vector function.  
     If the function is not very smooth, simpson may work better.  
interpreted function, defined at i/romberg.i   line 10  
SEE ALSO: simpson,   max_doublings  
 
 
 
rot3


             rot3, xa,ya,za  
 
     rotate the current 3D plot by XA about viewer's x-axis,  
     YA about viewer's y-axis, and ZA about viewer's z-axis.  
interpreted function, defined at i/pl3d.i   line 57  
SEE ALSO: orient3,   mov3,   aim3,   setz3,   undo3,   save3,  
restore3,   light3  
 
 
 
rotext


             plt, rotext(text,path), x, y  
 
     return TEXT string as is (PATH=0), reversed (PATH=1), reversed and  
     with a '\n' between each character, or with '\n' between characters  
     (PATH=3).  When plotted, these strings correspond to the original  
     meaning of the text path= keyword.  That is, successive characters  
     will appear to the right, left, up, or down according to whether  
     PATH is 0, 1, 2, or 3  
interpreted function, defined at i/txpath.i   line 12  
SEE ALSO: plt  
 
 
 
rzextr


 rzextr  
 
  
interpreted function, defined at i/rkutta.i   line 338