The following built-in functions are available and "ARG1", "ARG2" etc.
indicate the required number of arguments to the function: expressions of the
form "ARG1, ..., ARGn" indicate a variable (unlimited) number of arguments.
"ARGi" may be any valid expression.
ABS(ARG) | absolute value of ARG
|
ACOS(ARG) | arc-cosine of ARG%(in radians)
|
ADD(ARG1,ARG2) | Function for%+$ operand: ARG1 + ARG2
|
AND(ARG1, ARG2) | rounds ARG1 & ARG2, logically AND's result
|
ASIN(ARG) | arc-sine of ARG%(in radians)
|
ATAN(ARG) | arc-tangent of ARG%(in radians)
|
ATAN2(ARG1,ARG2) | arc-tangent of ARG1 / ARG2
|
AVE(ARG) | scalar average of ARG
|
AVI(ARG1,ARG2,ARG3) | scalar average of ARG1 between limits ARG2 - ARG3
|
BEFORE(ARG1,ARG2) | element of ARG1 corresponding to first element in
ARG2 before ARG2 >= 0.0
|
CEIL(ARG) | smallest integer >= ARG
|
CHANGE(ARG1,ARG2) | ARG1(t) - ARG1(t = T0) where T0 = time where ARG2
first > 0.0
|
COS(ARG) | cosine of ARG%(in radians)
|
COSH(ARG | hyperbolic cosine of ARG
|
DEPLEX(ARG1,ARG2,ARG3) | For multi-plexed signal ARG1 with ARG3 threads to it extract the ARG2(th) thread.
|
DIFF(ARG1,ARG2) | differentiates ARG1 wrt ARG2
|
DIV(ARG1,ARG2) | function for / operator: ARG1/ARG2
|
DIVMIN(ARG1,ARG2) | function for /- operator: ARG1/(-ARG2)
|
EXP(ARG) | raises e to the power ARG: e**ARG
|
EXP10(ARG) | raises 10 to the power ARG: 10**ARG
|
FETCHC(ARG1, ... ARGn) | call user C function "ARG1", passes on other ARGi'sNOT AVAILABLE IN IDL-JETDSP
|
FETCHF(ARG1, ... ARGn) | call user FORTRAN routine "ARG1", passes other ARGi's NOT AVAILABLE IN IDL-JETDSP
|
FLOOR(ARG) | largest integer <= ARG
|
GAMMA(ARG) | Gamma function of ARG
|
GEQ(ARG1,ARG2,ARG3) | result = ARG2 if ARG1 >= 0.0; else result = ARG3
|
GMAX(ARG) | scalar maximum value in array ARG
|
GMIN(ARG) | scalar minimum value in array ARG
|
GTH(ARG1,ARG2,ARG3) | result = ARG2 if ARG1 > 0.0; else result = ARG3
|
INDEX(ARG) | creates index array {1,2,3, etc.} based on ARG length
|
INT(ARG1,ARG2) | integrates ARG1 wrt ARG2 using trapezium rule
|
LAST(ARG1,ARG2) | scalar element of ARG1 corresponding to last ARG2 > 0
|
LEQU(ARG1,ARG2) | ARG1 == ARG2 => result = ARG2, else set status vector
|
LGAMMA(ARG) | log-gamma function of ARG
|
LGE(ARG1,ARG2) | ARG1 >= ARG2 => result = ARG2, else set status vector
|
LGT(ARG1,ARG2) | ARG1 > ARG2 => result = ARG2, else set status vector
|
LINE(ARG1,ARG2,ARG3) | straight line from ARG1(t=ARG2) to ARG1(t=ARG3)
|
LLE(ARG1,ARG2) | ARG1 <= ARG2 => result = ARG2, else set status vector
|
LLT(ARG1,ARG2) | ARG1 < ARG2 => result = ARG2, else set status vector
|
LNEQ(ARG1,ARG2) | ARG1 != ARG2 => result = ARG2, else set status vector
|
LOG(ARG) | natural log of ARG
|
LOG10(ARG) | base 10 log of ARG
|
MAKE3D(ARG1, ...,ARGn) | convert input arrays into 3D output array (matrix)
|
MAX(ARG1, ...,ARGn) | maximum value at each point in n input arrays.
|
MIN(ARG1, ...,ARGn) | minimum value at each point in n input arrays.
|
MOD(ARG1,ARG2) | remainder from ARG1 / ARG2
|
MUL(ARG1,ARG2) | function for * operator: ARG1 * ARG2
|
MULMIN(ARG1,ARG2) | function for *- operator: ARG1 * (-ARG2)
|
MU0 | scalar constant mu0
|
NEAR(ARG1,ARG2) | find value in ARG1 where ARG2 closest to zero
|
NEQ(ARG1,ARG2,ARG3) | result = ARG2 if ARG1 != 0.0; else result = ARG3
|
NORM(ARG) | normalises ARG between 0 and 1.
|
NOT(ARG) | rounds ARG and logically complements it
|
OLS(ARG1, ...,ARGn) | least-squares regression fit of ARG1 on ARG2, ..,ARGn
|
OLSN(ARG1, ...,ARGn) | as OLS() above but no constant in the regression fit
|
OR(ARG1,ARG2) | rounds ARG1 & ARG2 and logically OR's them
|
PI | scalar constant pi
|
POW(ARG1,ARG2) | raises ARG1 to the power ARG2: ARG1 ** ARG2
|
POWMIN(ARG1,ARG2) | raises ARG1 to the power -ARG2: ARG1 ** (-ARG2)
|
PT(ARG1,ARG2) | NBI smoothing function. See manual.
|
RAND | returns random number uniformally distributed on 0,1
|
RESID(ARG1, ...,ARGn) | residuals of least-squares regression with a constant of ARG1 on ARG2, ..., ARGn
|
RESIDN(ARG1, ...,ARGn) | as RESID() function but no constant in regression
|
RMAX(ARG) | returns the position of the maximum of the signal
|
RMIN(ARG) | Returns the position of the minimum of the signal
|
SEED(ARG) | Sets ARG as seed for random number generator
|
SIN(ARG) | sine of ARG%(in radians)
|
SINH(ARG) | hyperbolic sine of ARG
|
SLICE(ARG) | finds point in common timebase closest to a point in the actual time vector for ARG
|
SMOOTH(ARG1,ARG2) | smooths ARG1. If ARG2 < 0 a moving average with equal weights is used about a window abs(ARG2) in the common timebase. If ARG2 > 0 triangular weighting is used and ARG2 is window width about timebase points.
|
SMSLICE(ARG,SC1,SC2,SC3,SC4) | for 3D signal ARG returns a 2D signal equal to the average of slices through ARG between SC1 and ABS(SC2), smoothed over window ABS(SC3). If SC4=0, SC1 and SC2 are values, if SC4=1, they are indices.
|
SQRT(ARG) | square root of ARG
|
STDEV(ARG) | standard deviation of ARG
|
SUB(ARG1,ARG2) | function for - operator: ARG1 - ARG2
|
SWAP(ARG) | transpose 3D ARG: X slices become T & vice versa
|
TAN(ARG) | tangent of ARG%(in radians)
|
TANH(ARG) | hyperbolic tangent of ARG
|
TNSLICE(ARG1,ARG2) | for 3D signal ARG1 extracts the ARG2(th) time slice
|
TRSLICE(ARG1,ARG2) | for 3D signal ARG1 extracts timeslice closest to ARG2
|
VAL(ARG1,ARG2) | value(s) of ARG1 at position(s) given in ARG2
|
XNSLICE(ARG1,ARG2) | for 3D signal ARG1 extracts the ARG2(th) X slice
|
XOR(ARG1,ARG2) | rounds ARG1 & ARG2 and logically exclusive OR's them
|
XRSLICE(ARG1,ARG2) | for 3D signal ARG1 extracts X slice closest to ARG2
|