section i of routines in global.i

yorick banner

Home

Manual

Packages

Global Index

Keywords

Quick Reference

all functions - i

 
 
 
i86_primitives


             i86_primitives, file  
 
     sets FILE primitive data types to be native to Linux i86 machines.  

interpreted function, defined at i0/std.i   line 2027  
 
 
 
ijakowski


 ijakowski  
 
  

interpreted function, defined at i/demo4.i   line 85  
 
 
 
im_part


             im_part(z)  
 
     returns the imaginary part of its argument.  
     Unlike z.im, works if z is not complex (returns zero).  

interpreted function, defined at i0/std.i   line 658  
 
 
 
include


             #include "yorick_source.i"  
             require, filename  
             include, filename  
          or include, filename, now  
 
     #include is a parser directive, not a Yorick statement.  Use it  
     to read Yorick source code which you have saved in a file; the  
     file yorick_source.i will be read one line at a time, exactly as  
     if you had typed those lines at the keyboard.  The following  
     directories are searched (in this order) to find yorick_source.i:  
        .               (current working directory)  
	~/Yorick        (your personal directory of Yorick functions)  
	Y_SITE/include  (Yorick distribution library)  
	Y_SITE/contrib  (contributed source at your site)  
     To find out what is available in the Yorick/include directory,  
     type:  
         library  
     You can also type  
         Y_SITE  
     to find the name of the site directory at your site, go to the  
     include or contrib subdirectory, and browse through the *.i files.  
     This is a good way to learn how to write a Yorick program.  Be  
     alert for files like README as well.  
     The require function checks to see whether FILENAME has already  
     been included (actually whether any file with the same final  
     path component has been included).  If so, require is a no-op,  
     otherwise, the action is the same as the include function with  
     NOW == 1.  
     The include function causes Yorick to parse and execute FILENAME  
     immediately.  The effect is similar to the #include parser  
     directive, except the finding, parsing, and execution of FILENAME  
     occurs at runtime.  If the NOW argument is given and positive,  
     the include occurs immediately, if nil or 0, it occurs just before  
     the next line would have been parsed.  If NOW is negative, the  
     include file is pushed onto a stack, and will be popped off and  
     parsed when all pending input has been processed.  
     Unless you are writing a startup file, or have some truly bizarre  
     technical reason for using the include function, use #include  
     instead.  The functional form of include may involve recursive  
     parsing, which you will not be able to understand without deep  
     study.  Stick with #include.  

builtin function, documented at i0/std.i   line 1483  
SEE ALSO: set_path,   Y_SITE  
 
 
 
indgen


             indgen(n)  
          or indgen(start:stop)  
          or indgen(start:stop:step)  
 
     returns "index generator" list -- an array of longs running from  
     1 to N, inclusive.  In the second and third forms, the index  
     values specified by the index range are returned.  

builtin function, documented at i0/std.i   line 892  
SEE ALSO: span,   spanl,   array  
 
 
 
info


             info, expr  
 
     prints the data type and array dimensions of EXPR.  

interpreted function, defined at i0/std.i   line 157  
SEE ALSO: help,   print  
 
 
 
install_struct


             install_struct, file, struct_name  
          or install_struct, file, struct_name, size, align, order  

          or install_struct, file, struct_name, size, align, order, layout  
 
     installs the data type named STRUCT_NAME in the binary FILE.  In  
     the two argument form, STRUCT_NAME must have been built by one or  
     more calls to the add_member function.  In the 5 and 6 argument calls,  
     STRUCT_NAME is a primitive data type -- an integer type for the 5  
     argument call, and a floating point type for the 6 argument call.  
     The 5 argument form may also be used to declare opaque data types.  
     SIZE is the size of an instance in bytes, ALIGN is its alignment  
     boundary (also in bytes), and ORDER is the byte order.  ORDER is  
     1 for most significant byte first, -1 for least significant byte  
     first, and 0 for opaque (unconverted) data.  Other ORDER values  
     represent more complex byte permutations (2 is the byte order for  
     VAX floating point numbers).  If ORDER equals SIZE, then the data  
     type is not only opaque, but also must be read sequentially.  
     LAYOUT is an array of 7 long values parameterizing the floating  
     point format, [sign_address, exponent_address, exponent_size,  
     mantissa_address, mantissa_size, mantissa_normalized, exponent_bias]  
     (the addresses and sizes are in bits, reduced to MSB first order).  
     Use, e.g., nameof(float) for STRUCT_NAME to redefine the meaning  
     of the float data type for FILE.  

builtin function, documented at i0/std.i   line 2472  
SEE ALSO: add_variable,   add_member  
 
 
 
integ


             integ(y, x, xp)  
          or integ(y, x, xp, which)  
 
     See the interp function for an explanation of the meanings of the  
     arguments.  The integ function returns ypi which is the integral  
     of the piecewise linear curve (X(i), Y(i)) (i=1, ..., numberof(X))  
     from X(1) to XP.  The curve (X, Y) is regarded as constant outside  
     the bounds of X.  Note that X must be monotonically increasing or  

builtin function, documented at i0/std.i   line 987  
SEE ALSO: interp,   digitize,   span  
 
 
 
integ_flat


             integ_flat(opac, source, rays, mesh, slimits)  
          or integ_flat(opac, source, ray_paths)  
 
     returns ngroup-by-2-by-nrays result, where result(,1,..) is  
     the transparency factors, and result(,2,..) is the self-emission  
     for each group on each ray.  The input OPAC and SOURCE are the  
     opacity (an inverse length) and the source function (a specific  
     intensity).  They are mesh-by-ngroups zone centered arrays.  The  
     result has the same units as SOURCE.  
     In the second form, RAY_PATHS was returned by the track_rays  
     function.  

interpreted function, defined at i0/drat.i   line 1111  
SEE ALSO: integ_linear,   track_rays,   form_mesh,   streak,  
snap  
 
 
 
integ_linear


             integ_linear(opac, source, rays, mesh, slimits)  
          or integ_linear(opac, source, ray_paths)  
 
     returns ngroup-by-2-by-nrays result, where result(,1,..) is  
     the transparency factors, and result(,2,..) is the self-emission  
     for each group on each ray.  The input OPAC and SOURCE are the  
     opacity (an inverse length) and the source function (a specific  
     intensity).  They are mesh-by-ngroups arrays; OPAC is zone centered,  
     while SOURCE is point centered (using pcen_source).  The result  
     has the same units as SOURCE.  
     In the second form, RAY_PATHS was returned by the track_rays  
     function.  
     The integ_linear routine assumes that the SOURCE function varies  
     linearly between the entry and exit points from each zone.  This  
     assumption is poor near the turning point, and causes the result  
     to be a discontinuous function of the ray coordinates, unlike the  
     integ_flat result.  

interpreted function, defined at i0/drat.i   line 1154  
SEE ALSO: pcen_source,   integ_flat,   track_rays,  
form_mesh,   streak,   snap  
 
 
 
internal_rays


             internal_rays(rays)  
 
     returns 6-element (cos,sin,y,z,x,r) representation of RAYS.  
     The first dimension of RAYS may be length 3, 5, or 6 to represent  
     the ray(s) in TDG/DIRT coordinates (x,y,theta), "best" coordinates  
     (x,y,z,theta,phi), or internal coordinates (cos,sin,y,z,x,r),  
     respectively.  The first dimension of the result always has length 6.  
     The internal coordinates are what Drat uses internally to  
     describe the ray.  The coordinate system is rotated about the  
     z-axis until the ray lies in a plane of constant y (there are at  
     least two ways to do this).  The point (x,y,z) can be any point on  
     the ray, and r=sqrt(x^2+y^2) is the corresponding cylindrical radius.  
     The clockwise angle theta from the +z-axis to the ray direction  
     (which always lies in the zx-plane) determines cos=cos(theta) and  
     sin=sin(theta).  
     As a specification of a ray, this system is triply redundant because  
     the point (x,y,z) could be any point on the ray, both the sine and  
     cosine of theta appear, and r=sqrt(x^2+y^2).  
     However, the slimits parameter -- used to specify the points along  
     a ray where the transport integration starts and stops -- is  
     measured from the point (x,y,z) specified as a part of the  
     (cos,sin,y,z,x,r) ray coordinate.  Thus, any change in the point  
     (x,y,z) on a ray must be accompanied by a corresponding change in  
     the slimits for that ray.  

interpreted function, defined at i/rays.i   line 155  
SEE ALSO: form_rays,   best_rays,   dirt_rays,   get_s0,  
picture_rays  
 
 
 
interp


             interp(y, x, xp)  
          or interp(y, x, xp, which)  
 
     returns yp such that (XP, yp) lies on the piecewise linear curve  
     (X(i), Y(i)) (i=1, ..., numberof(X)).  Points beyond X(1) are set  
     to Y(1); points beyond X(0) are set to Y(0).  The array X must be  
     one dimensional, have numberof(X)>=2, and be either monotonically  
     increasing or monotonically decreasing.  The array Y may have more  
     than one dimension, but dimension WHICH must be the same length as  
     X.  WHICH defaults to 1, the first dimension of Y.  WHICH may be  
     non-positive to count dimensions from the end of Y; a WHICH of 0  
     means the final dimension of Y.  The result yp has dimsof(XP)  
     in place of the WHICH dimension of Y (if XP is scalar, the WHICH  
     dimension is not present).  (The dimensions of the result are the  
     same as if an index list with dimsof(XP) were placed in slot  
     WHICH of Y.)  

builtin function, documented at i0/std.i   line 968  
SEE ALSO: integ,   digitize,   span  
 
 
 
interp2


             z0= interp2(y0,x0, z,y,x)  
 
       -or- z0= interp2(y0,x0, z,y,x,reg)  
     return the bilinear interpolate of the function Z(X,Y) at the  
     points (X0,Y0).  The X, Y, and optional REG arrays specify a  
     quadrilateral mesh as for the plm function.  The Z values are  
     specified at the vertices of this mesh, so Z must have the  
     same dimensions as X and Y.  
     Points outside the mesh get the value 0.0, unless the outside  
     keyword is non-nil, in which case they get that value.  

interpreted function, defined at i/digit2.i   line 36  
SEE ALSO: interp,   digit2,   mesh_loc,   plm  
 
 
 
invgeom


 invgeom  
 
  

interpreted function, defined at i/test3.i   line 102  
 
 
 
ipq_compute


 ipq_compute  
 
  

interpreted function, defined at i/random.i   line 361  
 
 
 
ipq_function


 ipq_function  
 
  

interpreted function, defined at i/random.i   line 449  
 
 
 
ipq_setup


             model= ipq_setup(x, u)  
          or model= ipq_setup(x, u, power=[pleft,prght])  
 	 or model= ipq_setup(x, u, power=[pleft,prght], slope=[sleft,srght])  
 
     compute a model for the ipq_compute function, which computes the  
     inverse of a piecewise quadratic function.  This function occurs  
     when computing random numbers distributed according to a piecewise  
     linear function.  The piecewise linear function is u(x), determined  
     by the discrete points X and U input to ipq_setup.  None of the  
     values of U may be negative, and X must be strictly increasing,  
     X(i)0 while SRGHT<0.  If either power is greater than or equal to  
     100, an exponential tail will be used.  As a convenience, you may  
     also specify PLEFT or PRGHT of 0 to get an exponential tail.  
     Note: ipq_function(model, xp) returns the function values u(xp) at  
     the points xp, including the tails (if any).  ipq_compute(model, yp)  
     returns the xp for which (integral from -infinity to xp) of u(x)  
     equals yp; i.e.- the inverse of the piecewise quadratic.  

interpreted function, defined at i/random.i   line 276  
SEE ALSO: random_ipq,   random_rej  
 
 
 
is_array


             is_array(object)  
 
     returns 1 if OBJECT is an array data type (as opposed to a function,  
     structure definition, index range, I/O stream, etc.), else 0.  
     An array OBJECT can be written to or read from a binary file;  
     non-array Yorick data types cannot.  

builtin function, documented at i0/std.i   line 460  
SEE ALSO: is_func,   is_void,   is_range,   is_struct,  
is_stream  
 
 
 
is_func


             is_func(object)  
 
     returns 1 if OBJECT is a Yorick interpreted function, 2 if OBJECT  
     is a built-in (that is, compiled) function, else 0.  

builtin function, documented at i0/std.i   line 469  
SEE ALSO: is_array,   is_void,   is_range,   is_struct,  
is_stream  
 
 
 
is_present


             is_present(get_vars(f), name)  
 
     returns 1 if variable NAME is present in file F, 0 if not.  

interpreted function, defined at i0/drat.i   line 891  
 
 
 
is_prime


             is_prime(x)  
 
     return non-zero if and only if X (which must be a scalar integer)  
     is prime.  May return a false positive if X is greater than about  
     3e9, since at most 20000 candidate factors are checked.  
     The absolute value of X is taken first; zero is not prime, but 1 is.  

interpreted function, defined at i/gcd.i   line 64  
SEE ALSO: gcd,   lcm,   factorize  
 
 
 
is_range


             is_range(object)  
 
     returns 1 if OBJECT is an index range (e.g.-  3:5 or 11:31:2),  
     else 0.  

builtin function, documented at i0/std.i   line 483  
SEE ALSO: is_array,   is_func,   is_void,   is_struct,  
is_stream  
 
 
 
is_scalar


             is_scalar(object)  
 
     returns 1 if OBJECT is a scalar, else 0.  

interpreted function, defined at i/string.i   line 223  
SEE ALSO: is_array,   is_func,   is_void,   is_range,  
is_struct,   is_stream  
 
 
 
is_stream


             is_stream(object)  
 
     returns 1 if OBJECT is a binary I/O stream (usually a file), else 0.  
     The _read and _write functions work on object if and only if  
     is_stream returns non-zero.  Note that is_stream returns 0 for a  
     text stream -- you need the typeof function to test for those.  

builtin function, documented at i0/std.i   line 497  
SEE ALSO: is_array,   is_func,   is_void,   is_range,  
is_struct  
 
 
 
is_struct


             is_struct(object)  
 
     returns 1 if OBJECT is the definition of a Yorick struct, else 0.  
     Thus, is_struct(double) returns 1, but is_struct(1.0) returns 0.  

builtin function, documented at i0/std.i   line 490  
SEE ALSO: is_array,   is_func,   is_void,   is_range,  
is_stream  
 
 
 
is_vector


             is_vector(object)  
 
     returns 1 if OBJECT is a vector (i.e., OBJECT has a single  
     dimension), else 0.  

interpreted function, defined at i/string.i   line 230  
SEE ALSO: is_array,   is_func,   is_void,   is_range,  
is_struct,   is_stream  
 
 
 
is_void


             is_void(object)  
 
     returns 1 if OBJECT is nil (the one instance of the void data type),  
     else 0.  

builtin function, documented at i0/std.i   line 476  
SEE ALSO: is_array,   is_func,   is_range,   is_struct,  
is_stream  
 
 
 
iterator3


 iterator3  
 
  

interpreted function, defined at i/slice3.i   line 520  
 
 
 
iterator3_rect


 iterator3_rect  
 
  

interpreted function, defined at i/slice3.i   line 529