all functions - a


 or abs(x, y, z, ...)  

returns the absolute value of its argument.  
In the multi-argument form, returns sqrt(x^2+y^2+z^2+...).  
Builtin function, documented at i0/std.i   line 721  

SEE ALSO: sign,   sqrt  


    alm= accumulate(n, f, mesh, rcap, rtrack, pts, dylm, flux, nrpp)  

Do N batches (approximately rays_per_batch each, default 13000) of  
rays from file F, MESH = hydra_mesh(F), analyzing the symmetry of  
a capsule of radius RCAP (all rays tangent to this sphere),  
tracing the rays only down to radius RTRACK (>1.001*RCAP).  
This routine is designed to be called several times successively  
to get better statistics.  PTS, DYLM, FLUX, and NRPP are all updated.  
PTS = unit vectors in directions of points on capsule surface  
      defaults to bucky(3,1): 1280 points with an intrinsic  
      fidelity of about 1% out to l=12  
      use bucky(4,1,domega), dylm= get_ylm(pts,lmax,list)*domega(-,..)  
      to get 5120 points and intrinsic fidelity of about 0.2% at l=12  
DYLM = ylm*domega for PTS  
FLUX = accumulated flux at each of PTS; units are power/area  
NRPP = accumulated number of rays per point of capsule surface  
ALM = 91 coefficients of Ylm up to l=12 corresponding to FLUX  
      l= [0, 1,1, 2,2,2, 3,3,3,3, 4,4,4,4,4, ...]  
      m= [0, 0,1, 0,1,2, 0,1,2,3, 0,1,2,3,4, ...]  
Interpreted function, defined at i/ylmdec.i   line 158  




returns the inverse cosine of its argument, range [0, pi].  
Builtin function, documented at i0/std.i   line 582  

SEE ALSO: sin,   cos,   tan,   asin,   acos,   atan  



Interpreted function, defined at i0/std.i   line 627  

SEE asinh  


    add_member, file, struct_name, offset, name, type, dimlist  

adds a member to a data type in the file FILE.  The data type name  
(struct name) is STRUCT_NAME, which will be created if it does  
not already exist.  The new member will be at OFFSET (in bytes)  
from the beginning of an instance of this structure, and will  
have the specified NAME, TYPE, and DIMLIST.  Use OFFSET -1 to  
have add_member compute the next available offset in the structure.  
The TYPE can be either a structure definition, or a string naming  
a previously defined data type in FILE.  The optional DIMLIST is  
as for the "array" function.  
The STRUCT_NAME built from a series of add_member calls cannot be  
used until it is installed with install_struct.  
This function should be used very sparingly, mostly in code which  
is building the structure of a foreign-format binary file.  
Builtin function, documented at i0/std.i   line 3358  

SEE ALSO: add_variable,   install_struct,   struct_align  


    failure= add_next_file(file, filename, create_flag)  

adds the next file to the FILE, which must contain history records.  
If FILENAME is non-nil, the new file will be called that, otherwise  
the next sequential filename is used.  If CREATE_FLAG is present  
and non-zero, the new file will be created if it does not already  
exist.  If omitted or nil, CREATE_FLAG defaults to 1 if the file has  
write permission and 0 if it does not.  
Returns 0 on success.  
Builtin function, documented at i0/std.i   line 3425  

SEE ALSO: openb,   updateb,   createb,   add_record  


    add_record, file, time, ncyc  
 or add_record, file, time, ncyc, address  
 or add_record, file  

adds a new record to FILE corresponding to the specified TIME and  
NCYC (respectively a double and a long).  Either or both TIME  
and NCYC may be nil or omitted, but the existence of TIME and  
NCYC must be the same for every record added to one FILE.  
If present, ADDRESS specifies the disk address of the new record,  
which is assumed to be in the current file.  Without ADDRESS, or  
if ADDRESS<0, the next available address is used; this may create  
a new file in the family (see the set_filesize function).  
The add_record function leaves the new record current  
for subsequent save commands to actually write the data.  
The TIME, NCYC, and ADDRESS arguments may be equal length vectors  
to add several records at once; in this case, the first of the  
newly added records is the current one.  If all three of TIME,  
NCYC, and ADDRESS are nil or omitted, no new records are added,  
but the file becomes a record file if it was not already, and in  
any case, no record will be the current record after such an  
add_record call.  
After the first add_record call (even if no records were added),  
subsequent add_variable commands will create record variables.  
After the first record has been added, subsequent save commands  
will create any new variables as record variables.  
After a second record has been added using add_record, neither  
save commands nor add_variable commands may be used to introduce  
any new record variables.  
Builtin function, documented at i0/std.i   line 3181  

SEE ALSO: save,   createb,   updateb,   openb,   set_filesize,   set_blocksize,  



    add_variable, file, address, name, type, dimlist  

adds a variable NAME to FILE at the specified ADDRESS, with the  
specified TYPE and dimensions given by DIMLIST.  The DIMLIST may  
be zero or more arguments, as for the "array" function.  If the  
ADDRESS is <0, the next available address is used. Note that,  
unlike the save command, add_variable does not actually write any  
data -- it merely changes Yorick's description of the contents of  
After the first add_record call, add_variable adds a variable to  
the record instead of a non-record variable.  See add_record.  
Builtin function, documented at i0/std.i   line 3215  

SEE ALSO: save,   openb,   createb,   updateb,   add_record,   add_member,  
install_struct,   data_align  




returns the input IREG with the regions specified in drat_ireg_adj  
zeroed.  Beware-- the ireg array is actually modified.  
Interpreted function, defined at i0/drat.i   line 429  

SEE ALSO: drat_ireg_adj  


    aim3, xa,ya,za  

move the current 3D plot to put the point (XA,YA,ZA) in object  
coordinates at the point (0,0,0) -- the aim point -- in the  
viewer's coordinates.  If any of XA, YA, or ZA is nil, it defaults  
to zero.  
Interpreted function, defined at i/pl3d.i   line 98  

SEE ALSO: mov3,   rot3,   orient3,   setz3,   undo3,   save3,   restore3,   light3  



     Interpreted function, defined at i0/drat.i   line 1017  




 returns 1 if every element of the array x is non-zero, else 0.  
 returns 1 if at least one element of the array x is non-zero, else 0.  
 returns 1 if at least one element of the array x is zero, else 0.  
 returns 1 if every element of the array x is zero, else 0.  
Builtin function, documented at i0/std.i   line 834  

SEE ALSO: allof,   anyof,   noneof,   nallof,   where,   where2  


    alpha_primitives, file  

sets FILE primitive data types to be native to DEC alpha workstations.  
Interpreted function, defined at i0/std.i   line 2889  




returns 1 if the current Yorick function was invoked as a subroutine,  
else 0.  If am_subroutine() returns true, the result of the current  
function will not be used, and need not be computed (the function  
has been called for its side effects only).  
Builtin function, documented at i0/std.i   line 555  



 or animate, 0/1  

without any arguments, toggles animation mode; with argument 0,  
turns off animation mode, with argument 1 turns on animation mode.  
In animation mode, the X window associated with a graphics window  
is actually an offscreen pixmap which is bit-blitted onscreen  
when an fma command is issued.  This is confusing unless you are  
actually trying to make a movie, but results in smoother animation  
if you are.  Generally, you should turn animation on, run your movie,  
then turn it off.  
Builtin function, documented at i0/graph.i   line 378  

SEE ALSO: window,   fma,   plg  


    any_in(left,x,right, mask, xx, a,aa, b,bb, c,cc  

return the number of elements of the array X which are in the  
interval LEFT < X <= RIGHT.  Also return MASK, which has the  
shape of X and is 1 where X is in the interval and 0 otherwise,  
and XX = X(where(MASK)).  Up to three optional arrays A, B, and C  
of the same shape as X may be supplied; the arrays AA, BB, and CC  
analogous to XX are returned.  LEFT or RIGHT may be [] for the  
interval to extend to infinity on the corresponding side.  
LEFT and/or RIGHT may be arrays as long as they are conformable  
with X.  
 Interpreted function, defined at i/dawson.i   line 129  

SEE ALSO: merge_n,   merge  



Builtin function, documented at i0/std.i   line 834  

SEE allof  


 or apply_funcs(transp, selfem)  
 or apply_funcs(transp, selfem, time)  
 or apply_funcs(transp, selfem, times)  

applies the drat_backlight and drat_channel options (if any)  
to the input streak_result.  This destroys the separate  
transparency and self-emission information returned by streak.  
transp= streak_result(,1,..) and selfem= streak_result(,2,..).  
If time is not given, time=0.0 is passed to the functions.  
If times is a vector, it must match the final dimension of  
transp and selfem.  
Interpreted function, defined at i0/drat.i   line 381  



    area(y, x)  

returns the zonal areas of the 2-D mesh (X, Y).  If Y and X are  
imax-by-jmax, the result is (imax-1)-by-(jmax-1).  The area is  
positive when, say, X increases with i and Y increases with j.  
For example, area([[0,0],[1,1]],[[0,1],[0,1]]) is +1.  
Interpreted function, defined at i0/std.i   line 3618  

SEE ALSO: volume  


    array(value, dimension_list)  
 or array(type, dimension_list)  

returns an object of the same type as VALUE, consisting of copies  
of VALUE, with the given DIMENSION_LIST appended to the dimensions  
of VALUE.  Hence, array(1.5, 3, 1) is the same as [[1.5, 1.5, 1.5]].  
In the second form, the VALUE is taken as scalar zero of the TYPE.  
Hence, array(short, 2, 3) is the same as [[0s,0s],[0s,0s],[0s,0s]].  
A DIMENSION_LIST is a list of arguments, each of which may be  
any of the following:  
   (1) A positive scalar integer expression,  
   (2) An index range with no step field (e.g.-  1:10), or  
   (3) A vector of integers [number of dims, length1, length2, ...]  
       (that is, the format returned by the dimsof function).  
Builtin function, documented at i0/std.i   line 348  

SEE ALSO: reshape,   is_array,   dimsof,   numberof,   grow,   span,   use_origins,   _lst  


    as_chars, x, xnew  

return the bits of X as an array of char  
return value has leading dimension of sizeof(x(1)), otherwise  
  same dimensions as X  
in second form, sets bits of X to char array XNEW  
Interpreted function, defined at i/ieee.i   line 53  

SEE ALSO: ieee_test,   ieee_set  



returns the inverse sine of its argument, range [-pi/2, pi/2].  
Builtin function, documented at i0/std.i   line 576  

SEE ALSO: sin,   cos,   tan,   asin,   acos,   atan  



returns the inverse hyperbolic sine, cosine, or tangent of  
its argument.  The range of real acosh is >=0.0.  
Interpreted function, defined at i0/std.i   line 627  

SEE ALSO: sinh,   cosh,   tanh,   sech,   csch  


 or atan(y, x)  

returns the inverse tangent of its argument, range [-pi/2, pi/2].  
In the two argument form, returns the angle from (1, 0) to (x, y),  
in the range (-pi, pi], with atan(1, 0)==pi/2.  (If x>=0, this is  
the same as atan(y/x).)  
Builtin function, documented at i0/std.i   line 588  

SEE ALSO: sin,   cos,   tan,   asin,   acos,   atan  



Interpreted function, defined at i0/std.i   line 627  

SEE asinh  


    autoload, ifile, var1, var2, ...  
 or autoload, ifile  

causes IFILE to be included when any of the variables VAR1, VAR2, ...  
is referenced as a function or subroutine.  Multiple autoload  
calls may refer to a single IFILE; the effect is cumulative.  Note  
that any reference to a single one of the VARi causes all of them  
to be replaced (when IFILE is included).  
The semantics of this process are complicated, but should work  
as expected in most cases: After the call to autoload, the VARi  
may not be redefined (e.g.- VARi=something or func VARi) without  
generating a warning message, and causing all the VARi for the  
same IFILE to become undefined.  The semantic subtlety arises  
from the yorick variable scoping rules; if any of the VARi has local  
scope for any function in the calling chain when the inclusion of  
IFILE is actually triggered, only those local values will be  
replaced.  (The autoload function is no different than the require  
or include functions in this regard.)  
The second form, with no VARi, cancels the autoload, without giving  
any warning; all the VARi become undefined.  
Before IFILE is included, the VARi behave like [] (nil) variables  
as far as their response to the is_void function, and the ! and ?  
operators.  (You can use is_func to discover whether a variable is  
an autoload.)  Only their actual use in a function or subroutine call  
will trigger the autoload.  While the IFILE may define the VARi  
as any type of object, the autoload feature only works as intended  
if the VARi are defined as interpreted or built-in functions.  The  
only way it makes sense for a VARi to be a built-in function, is  
if the IFILE executes a plug_in command to dynamically load an  
associated compiled library.  
If IFILE (or a file with the same name) has already been included,  
autoload is a silent no-op.  This is exactly analogous to the  
behavior of the require function; it does not harm to call either  
require or autoload if the IFILE has already been included.  Note  
that you may want to place a require at the beginning of a file  
you expect to be autoloaded, in preference to providing separate  
autoloads for the second file.  
Builtin function, documented at i0/std.i   line 2399  

SEE ALSO: include,   require,   plug_in,   is_func  



returns the scalar average of all elements of its array argument.  
Builtin function, documented at i0/std.i   line 828  

SEE ALSO: sum,   min,   max