CC-style Elemental.
Select from 2 sources according to a mask.
Usual Form MASK ? TSOURCE : FSOURCE.
Function Form CONDITIONAL(TSOURCE,FSOURCE,MASK).
>>>>>>>>>WARNING, range and conditional nesting may be confusing,
use parentheses to help. For example, 2?3:4:5 will not
compile but 2?3:(4:5) or 2?(3:4):5 are fine.
Arguments
TSOURCE any type and shape.
FSOURCE any type and shape.
MASK scalar logical, vector is treated as MERGE.
Signals. That of the selected source.
Units... That of the selected source.
Form.... That of the selected source.
Result.. MASK is examined and if a scalar true the source is
TSOURCE and if a scalar false the source is FSOURCE.
See also. MERGE, for a vector selection.
CONDITION_OF (A)
MDS Operation.
Get the condition field.
Argument. Descriptor as below.
Result.. A is searched for this:
DSC$K_DTYPE_CONDITION, the condition field.
Otherwise, an error.
CONJG (Z)
F90 Numeric Elemental.
Conjugate of a complex number.
Argument. Z must be complex.
Signals. Same as Z.
Units... Same as Z.
Form.... Same as Z.
Result.. If Z is CMPLX(x,y), the result is CMPLX(x,-y). Integers
and reals are not converted.
Example. CONJG(CMPLX(2.0,3.0)) is CMPLX(2.0,-3.0).
CONTINUE ;
CC Statement.
Take next iteration of FOR or WHILE loop.
Usual Form CONTINUE;.
Function Form CONTINUE(). May be syntatically invalid.
Arguments None.
Results. None.
Example. FOR (_J=SIZE(_X); --_J>=0; ) {
IF (_X[_J]) CONTINUE;
...
}
where lots of code is skipped for those true.
COS (X)
F90 Mathematical Elemental.
Cosine of angle in radians.
Argument. X (radians) must be real or complex. HC is converted to GC.
Signals. Same as X.
Units... None, bad if X has units.
Form.... Same as X.
Result.. Processor approximation to cos(X). Real X and real part
of complex X is in radians.
Example. COS(1.0) is 0.54030231, approximately.
COSD (X)
Mathematical Elemental.
Cosine of angle in degrees.
Argument. X (degrees) must be real. Complex numbers are an error.
Signals. Same as X.
Units... None, bad if X has units.
Form.... Same as X.
Result.. Processor approximation to cos(X) with X in degrees.
Example. COSD(60.0) is 0.5, approximately.
COSH (X)
F90 Mathematical Elemental.
Hyperbolic cosine.
Argument. X must be real.
Signals. Same as X.
Units... None, bad if X has units.
Form.... Same as X.
Result.. Processor approximation to cosh(X).
Example. COSH(1.0) is 1.5430806, approximately.
COUNT (MASK,[DIM])
F90 Transformation.
Count the number of true elements in MASK along
dimension DIM.
Arguments Optional: DIM.
MASK logical array.
DIM integer scalar from 0 to n-1, where n is rank of MASK.
Signals. None.
Units... None.
Form.... Integer. It is scalar if DIM is absent or MASK is a
vector; otherwise, the result is an array of rank n-1
and of shape like MASK's with DIM subscript omitted.
Result.
(i) COUNT(MASK) is equal to the number of true elements of
MASK and is 0 if no element of MASK is true or MASK is
size zero.
(ii) For a vector MASK, COUNT(MASK,DIM) is equal to
COUNT(MASK). For higher dimensional cases, the value of
an element of the result is COUNT of elements of MASK
varying the DIM subscript.
Examples.
(i) COUNT([$TRUE,$FALSE,$TRUE]) is 2.
(ii) COUNT((_B=[[1,3,5],[2,4,6]]) NE (_c=[[0,3,5],[7,4,8]]))
is 3.
COUNT(_B NE _c,1) is [2, 0, 1].
CULL (A,[DIM],[X])
MDS Operation.
Removes values not in bounds.
Arguments Optional: DIM and X.
A MDS signal or dimension or VMS array.
DIM scalar integer from 0 to rank of A less one.
Must be 0 or absent for a signal.
X non-complex scalar or array of numbers to check
if bounded.
Signals. Same as X.
Units... Same as specified dimension if a signal or dimension.
Form.... Shape of X and type from specified dimension.
Result.. X values that are out of range are eliminated.
(i) If A is an array, the bounds of the array are used.
(ii) If A is a dimension or the specified dimension of a
signal, the extreme data value of the axis are used.
Examples.
(i) CULL(1..5,,0..7) is [1,2,3,4,5].
(ii) CULL(BUILD_DIM(BUILD_WINDOW(2,5,1.1),BUILD_RANGE(,,3)),
0,5..8) is [8] because the limits are 7.1 and 16.1.
See also. EXTEND to replace bad values with the limits.
CVT (A,MOLD)
Conversion Elemental.
Convert data type by example.
Arguments
A any type that can be converted to MOLD type.
MOLD any type that A can be converted from.
Signals. Same as A.
Units... Same as A.
Form.... Shape of A and type of MOLD.
Result.. The converted value of the corresponding element of A.
Types permitted are byte, word, long, quadword, and
octaword unsigned and signed; F, D, G, and H floating
real and complex; text. (No text to numbers, today.)
Immediate at compilation.
>>>>>>>>>WARNING, truncation does not cause an error.
Example. CVT(123,"1234") is " 123", four character of long.
Note, the default string would have been 12 characters.