F90 Inquiry.
The base of the model representing numbers of the
same type as the argument.
Argument. X is numeric scalar or array.
Signals. None.
Units... None.
Form.... Integer scalar.
Result.. The base of the real or integer model.
Examples. RADIX(1.0) is 2 and RADIX(123) is 2 on the VAX.
RAMP ([SHAPE],[MOLD])
Transformation.
Generate an ascending array.
Arguments Optional: SHAPE, MOLD.
SHAPE integer vector.
MOLD numeric.
Signals. None.
Units... None.
Form.... Type of MOLD and shape (dimensions) is SHAPE. If SHAPE
is absent, the result is a scalar. If MOLD is absent,
the result will be longs.
Result.. Successive integral values starting at zero.
Example. _X = RAMP([2,3,4],1d0) makes an array of double
precision floating point numbers of shape [2,3,4].
The values are _X[0,0,0]=0d0, _X[1,0,0]=1d0, ...
_X[1,2,3]=23d0.
See also. ARRAY, RANDOM, and ZERO.
RANDOM ([SHAPE],[MOLD])
F90 Modified Transformation.
Generate an array of pseudorandom
numbers.
Arguments Optional: SHAPE, MOLD.
SHAPE integer vector.
MOLD numeric.
Signals. None.
Units... None.
Form.... Type of MOLD and shape (dimensions) is SHAPE. If SHAPE
is absent, the result is a scalar. If MOLD is absent,
the result will be floats.
Result.. The result will be different with each call unless
RANDOMSEED is used. Integers are on the full range,
floating numbers are from 0 to 1.
Example. _X = RANDOM(2,1d0) makes a vector of double precision
numbers with value
[.7043401852374758D0,.6857676661043094D0].
See also. ARRAY, RAMP, and ZERO.
RANGE (X)
F90 Inquiry.
The decimal exponent range in the model representing the
type of the argument.
Argument. X must be real or complex, scalar or array.
Signals. None.
Units... None.
Form.... Integer scalar.
Result.. INT(MIN(LOG10(HUGE(X)),-LOG10(TINY(X)))).
Example. RANGE(1.0) is 38 on VAX.
RANK (X)
Inquiry.
Number of dimensions, zero for scalar.
Argument. X is any VMS data type.
Signals. None.
Units... None.
Form.... Integer scalar.
Result.. The number of dimensions of an array, zero fo a scalar.
Examples. RANK(3) is 0. RANK(RAMP([3,4])) is 2.
RAW_OF (A)
MDS Operation.
Get the raw field.
Argument. Descriptor as below.
Result.. A is searched for this:
DSC$K_DTYPE_SIGNAL, the raw field.
All others DATA(A).
Example. RAW_OF(BUILD_SIGNAL(6*$VALUE,42)) is 42.
See also. $VALUE and $THIS for use of this within a signal.
REAL (A,[KIND])
Conversion Elemental.
Convert to real.
Arguments Optional: KIND.
A numeric.
KIND scalar integer type number, for example, KIND(1d0).
Signals. Same as A.
Units... Same as A.
Form.... If KIND present, the type KIND; otherwise, the real
type with the same length. To get F, D, G, or H floating
result use F_FLOAT, etc.
Result.. Immediate at compilation.
(i) A is integer or real, the result is the truncated
approximation.
(ii) A is complex, the result is the approximation to the
real part.
Examples. REAL(-3) is -3.0. REAL(Z,Z) is real part of the complex.
This is done in TDISHR as REAL(Z). In F90, REAL(Z) sets
the default floating point size.
REM ([COMMENT],...)
Store a comment in an expression. No action is taken on the arguments.
REM(" ...") is a null operation that can retain a
comment; it must be where a null expression is valid.
Arguments Optional: COMMENT.
COMMENT,... any type.
Result.. None.
Example. REM("addition example"),2+3 is 5.
REPEAT (STRING,NCOPIES)
F90 Character Elemental.
Concatenate several copies of a string.
Arguments
STRING character.
NCOPIES integer scalar, not negative.
Signals. Same as STRING.
Units... Same as STRING.
Form.... Character of length NCOPIES times that of STRING.
Result.. The concatenation of NCOPIES copies of STRING.
Examples. REPEAT('H',2) is "HH".
REPEAT('XYZ',0) is "".
REPLICATE (ARRAY,DIM,NCOPIES)
Transformation.
Replicates an array by increasing a
dimension.
Arguments
ARRAY any type.
DIM integer scalar from 0 to n-1, where n is rank of ARRAY.
NCOPIES integer scalar.
Signals. Same as ARRAY except DIM-th dimension is removed.
Units... Same as ARRAY.
Form.... Same type and rank as array with shape [E[0:DIM-1],
MIN(NCOPIES,0)*E[DIM],E[DIM+1:n]] where E is the shape
of ARRAY.
Result.. NCOPIES replications of the values of ARRAY.
Example. REPLICATE([2 4],1,3) is [2 4 2 4 2 4].
[3 5] [3 5 3 5 3 5]
Written as an expression the array is
Set_Range(2,2,[2,3,3,4]) and gives
Set_Range(2,6,[2,3,4,5, 2,3,4,5, 2,3,4,5]).
For DIM=0 it gives
Set_Range(6,2,[2,3, 2,3, 2,3, 4,5, 4,5, 4,5]).
See Also. REPEAT to concatenate copies of a string.
SPREAD to increase the number of dimensions.
RESET_PRIVATE ()
Variables.
Frees all private variables of all levels and their memory.
Arguments None.
Result.. None.
Side Effect. All private variables are freed and forgotton.
Example. RESET_PRIVATE().
RESET_PUBLIC ()
Variables.
Frees all public variables and their memory.
Arguments None.
Result.. None.
Side Effect. All public variables are freed and forgotton.
Example. RESET_PUBLIC().
RETURN ([X])
CC Modified Statement.
Return from a FUN with value.
Required Usual Form. RETURN (X);.
Function Form RETURN(X). May be syntatically invalid.
Argument. Optional: X.
X any. Unlike CC, the parentheses are required.
>>>>>>Note that a null is RETURN(*) or RETURN().
Result.. X.
Example. FUN(_A,_B) {RETURN(A*B);}
ROUTINE_OF (A)
MDS Operation.
Get the routine field.
Argument. Descriptor as below.
Result.. A is searched for these:
DSC$K_DTYPE_CALL, the routine field.
DSC$K_DTYPE_ROUTINE, the routine field.
Otherwise, an error.
RRSPACING (X)
F90 Numeric Elemental.
The reciprocal of the relative spacing of model
numbers near the argument value.
Argument. X must be real. Complex numbers are an error.
Signals. Same as X.
Units... Same as X.
Form.... Same as X.
Result.. Value ABS(X*b^-e)*b^p, where b is the real base, e is
exponent part of X, and p is the number of digits in X.
Example. RRSPACING(-3.0) is 0.75*2^24 on the VAX.