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
|