Documentation:Reference:TDI C2 - MdsWiki
Navigation
Personal tools

From MdsWiki

Jump to: navigation, search

CONDITIONAL (TSOURCE,FSOURCE,MASK)

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.

convolve (X,Y)

Transformation. Convolve two vectors.

Arguments X and Y must be numeric vectors.

Signals. Single signal or smaller data.
Units... Same as X * Y.(??)
Form.... The compatible form. A vector of the ?? size.

Result.. ??

COS (X)

F90 Mathematical Elemental. Cosine of angle in radians.

Argument. X 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 radians.

Argument. X 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. COS(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 1 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]) NE (_c=[0 3 5]),0) is [2,0,1].
[2 4 6] [7 4 8]
COUNT(_B NE _c,1) is [1,2].

cshift (ARRAY,SHIFT,[DIM])

F90 Transformation. Perform a circular shift on an array expression of
rank one of perform circular shifts on all the complete
rank one sections along a given dimension of an array
expression of rank 2 or greater. Elements shifted out at
one end of a section are shifted in at the other end.
Different sections may be shifted by different amounts
and in different directions. ??

Arguments Optional: DIM.
ARRAY any type array.
DIM integer scalar from 0 to n-1, where n is rank of ARRAY.
SHIFT integer scalar for rank one; otherwise, it must be an
array of rank n-1 and shape like ARRAY without dimension
DIM.

Signals. Same as ARRAY.
Units... Same as ARRAY.
Form.... Same as ARRAY.

Result.
(i) For a shift of k, element j of the result is ARRAY(j+k)
with j+k reduced by adding or subtracting the dimension
to give a number allowed for the subscript.
(ii) For multiple dimensions, the result is the same as
shifting each element of the n-1 dimensional section.

Examples.
(i) CSHIFT([1,2,3,4,5,6],2) is [3,4,5,6,1,2] and
CSHIFT([1,2,3,4,5,6],-2) is [5,6,1,2,3,4].
(ii) CSHIFT(_M=[A B C],-1,1) is [C A B],
[D E F] [F D E]
[G H I] [I G H]
CSHIFT(_M,2,[-1,1,0]) is [C A B].
[E F D]
[G H I]

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.