Previous | Contents | Index |
Description: | Returns the number of bytes of storage used by the argument. This is a specific function that has no generic function associated with it. It must not be passed as an actual argument. | ||
Class: | Inquiry function; Specific | ||
Arguments: | X is a scalar or array (of any data type). It must not be an assumed-size array. | ||
Results: | The result is of type INTEGER(8). The result value is the number of bytes of storage used by X. |
Examples
SIZEOF (3.44) has the value 4.
SIZEOF ( ' SIZE ' ) has the value 4.
Description: | Returns the absolute spacing of model numbers near the argument value. | ||
Class: | Elemental function; Generic | ||
Arguments: | X must be of type real. | ||
Results: | The result type is the same as X. The result has the value b e-p. Parameters b, e, and p are defined in Section D.2. If the result value is outside of the real model range, the result is TINY(X). (For information on TINY, see Section 9.4.157.) |
Examples
If 3.0 is a REAL(4) value, SPACING (3.0) has the value 2-22.
9.4.149 SPREAD (SOURCE, DIM, NCOPIES)
Description: | Creates a replicated array with an added dimension by making copies of existing elements along a specified dimension. | ||
Class: | Transformational function; Generic | ||
Arguments: | SOURCE | Must be a scalar or array (of any data type). The rank must be less than 7. | |
DIM | Must be scalar and of type integer. It must have a value in the range 1 to n + 1 (inclusive), where n is the rank of SOURCE. | ||
NCOPIES | Must be scalar and of type integer. It becomes the extent of the additional dimension in the result. | ||
Results: |
The result is an array of the same type as SOURCE and of rank that is
one greater than SOURCE.
If SOURCE is an array, each array element in dimension DIM of the result is equal to the corresponding array element in SOURCE. If SOURCE is a scalar, the result is a rank-one array with NCOPIES elements, each with the value SOURCE. If NCOPIES <= zero, the result is an array of size zero. |
Examples
SPREAD ("B", 1, 4) is the character array (/"B", "B", "B", "B"/).
B is the array (3, 4, 5) and NC has the value 4.
SPREAD (B, DIM=1, NCOPIES=NC) produces the array <left[ symbol><matrix symbol> 3&4&5<cr symbol> 3&4&5<cr symbol> 3&4&5<cr symbol> 3&4&5<cr symbol> <right] symbol> .
SPREAD (B, DIM=2, NCOPIES=NC) produces the array <left[ symbol><matrix symbol> 3&3&3&3<cr symbol> 4&4&4&4<cr symbol> 5&5&5&5<cr symbol> <right] symbol> .
Description: | Derives the square root of the argument. | ||
Class: | Elemental function; Generic | ||
Arguments: | X must be of type real or complex. If X is type real, its value must be greater than or equal to zero. | ||
Results: | The result type is the same as X. The result has a value equal to the square root of X. A result of type complex is the principal value, with the real part greater than or equal to zero. When the real part of the result is zero, the imaginary part is greater than or equal to zero. |
Specific Name | Argument Type | Result Type |
---|---|---|
SQRT | REAL(4) | REAL(4) |
DSQRT | REAL(8) | REAL(8) |
QSQRT | REAL(16) | REAL(16) |
CSQRT 1 | COMPLEX(4) | COMPLEX(4) |
CDSQRT 2 | COMPLEX(8) | COMPLEX(8) |
CQSQRT | COMPLEX(16) | COMPLEX(16) |
Examples
SQRT (16.0) has the value 4.0.
SQRT (3.0) has the value 1.732051.
9.4.151 SUM (ARRAY [,DIM] [,MASK])
Description: | Returns the sum of all the elements in an entire array or in a specified dimension of an array. | ||
Class: | Transformational function; Generic | ||
Arguments: | ARRAY | Must be an array of type integer, real, or complex. | |
DIM (opt) | Must be a scalar integer with a value in the range 1 to n, where n is the rank of ARRAY. | ||
MASK (opt) | Must be of type logical and conformable with ARRAY. | ||
Results: |
The result is an array or a scalar of the same data type as ARRAY.
The result is a scalar if DIM is omitted or ARRAY has rank one. The following rules apply if DIM is omitted:
The following rules apply if DIM is specified:
|
Examples
SUM ((/2, 3, 4/)) returns the value 9 (sum of 2 + 3 + 4). SUM ((/2, 3, 4/), DIM=1) returns the same result.
SUM (B, MASK=B .LT. 0.0) returns the arithmetic sum of the negative elements of B.
C is the array <left[ symbol><matrix symbol> 1&2&3<cr symbol> 4&5&6<cr symbol> <right] symbol> .
SUM (C, DIM=1) returns the value (5, 7, 9), which is the sum of all elements in each column. 5 is the sum of 1 + 4 in column 1. 7 is the sum of 2 + 5 in column 2, and so forth.
SUM (C, DIM=2) returns the value (6, 15), which is the sum of all
elements in each row. 6 is the sum of 1 + 2 + 3 in row 1. 15 is the sum
of 4 + 5 + 6 in row 2.
9.4.152 SYSTEM_CLOCK ([COUNT] [,COUNT_RATE] [,COUNT_MAX])
Description: | Returns integer data from a real-time clock. 1 | ||
Class: | Subroutine | ||
Arguments: | There are three optional arguments 2: | ||
COUNT (opt) | Must be scalar and of type default integer. It is set to a value based on the current value of the processor clock. The value is increased by one for each clock count until the value COUNT_MAX is reached, and is reset to zero at the next count. (COUNT lies in the range 0 to COUNT_MAX.) | ||
COUNT_
RATE (opt) |
Must be scalar and of type default integer. It is set to the number of
processor clock counts per second modified by the kind of COUNT_RATE.
If default integer is INTEGER(2), COUNT_RATE is 1000. If default integer is INTEGER(4), COUNT_RATE is 10000. If default integer is INTEGER(8), COUNT_RATE is 1000000. |
||
COUNT_MAX
(opt) |
Must be scalar and of type default integer. It is set to the maximum value that COUNT can have, HUGE(0) 3. |
Examples
Consider the following:
INTEGER(2) :: IC2, CRATE2, CMAX2 INTEGER(4) :: IC4, CRATE4, CMAX4 CALL SYSTEM_CLOCK(COUNT=IC2, COUNT_RATE=CRATE2, COUNT_MAX=CMAX2) CALL SYSTEM_CLOCK(COUNT=IC4, COUNT_RATE=CRATE4, COUNT_MAX=CMAX4) PRINT *, IC2, CRATE2, CMAX2 PRINT *, IC4, CRATE4, CMAX4 end |
This program was run on Thursday Dec 11, 1997 at 14:23:55 EST and produced the following output:
13880 1000 32767 1129498807 10000 2147483647 |
Description: | Produces the tangent of X. | ||
Class: | Elemental function; Generic | ||
Arguments: | X must be of type real. It must be in radians and is treated as modulo 2 * Pi sign. | ||
Results: | The result type is the same as X. |
Specific Name | Argument Type | Result Type |
---|---|---|
TAN | REAL(4) | REAL(4) |
DTAN | REAL(8) | REAL(8) |
QTAN | REAL(16) | REAL(16) |
Examples
TAN (2.0) has the value --2.185040.
TAN (0.8) has the value 1.029639.
Examples
TAND (2.0) has the value 3.4920771E--02.
TAND (0.8) has the value 1.3963542E--02.
9.4.154 TAND (X)
Description:
Produces the tangent of X.
Class:
Elemental function; Generic
Arguments:
X must be of type real. It must be in degrees and is treated as modulo
360.
Results:
The result type is the same as X.
Specific Name
Argument Type
Result Type
TAND
REAL(4)
REAL(4)
DTAND
REAL(8)
REAL(8)
QTAND
REAL(16)
REAL(16)
9.4.155 TANH (X)
Description: | Produces a hyperbolic tangent. | ||
Class: | Elemental function; Generic | ||
Arguments: | X must be of type real. | ||
Results: | The result type is the same as X. |
Specific Name | Argument Type | Result Type |
---|---|---|
TANH | REAL(4) | REAL(4) |
DTANH | REAL(8) | REAL(8) |
QTANH | REAL(16) | REAL(16) |
Examples
TANH (2.0) has the value 0.9640276.
TANH (0.8) has the value 0.6640368.
The date is returned as an 8-byte ASCII character string taking the
form hh:mm:ss, where:
If BUF is of numeric type and smaller than 8 bytes, data corruption
can occur.
If BUF is of character type, its associated length is passed to the
subroutine. If BUF is smaller than 8 bytes, the subroutine truncates
the date to fit in the specified length. If a CHARACTER array is
passed, the subroutine stores the date in the first array element,
using the element length, not the length of the entire array.
Examples
An example of a value returned from a call to TIME is 13:45:23 (a
24-hour clock is used).
Consider the following:
The length of the first array element in CHARACTER array HOUR is passed
to the TIME subroutine. The subroutine then truncates the time to fit
into the 1-character element, producing an incorrect result.
9.4.156 TIME (BUF)
Description:
Returns the current time as set within the system.
Class:
Subroutine
Arguments:
BUF is an 8-byte variable, array, array element, or character substring.
hh is the 2-digit hour
mm is the 2-digit minute
ss is the 2-digit second
CHARACTER*1 HOUR(8)
...
CALL TIME (HOUR)
9.4.157 TINY (X)
Description: | Returns the smallest number in the model representing the same type and kind parameters as the argument. | ||
Class: | Inquiry function; Generic | ||
Arguments: | X must be of type real; it can be scalar or array valued. | ||
Results: | The result is a scalar with the same type and kind parameters as X. The result has the value b e_min-1 . Parameters b and e min are defined in Section D.2. |
Examples
If X is of type REAL(4), TINY (X) has the value 2-126.
The model for the interpretation of an integer value as a sequence
of bits is shown in Section D.3.
Examples
Consider the following:
9.4.158 TRAILZ (I)
Description:
Returns the number of trailing zero bits in an integer.
Class:
Elemental function; Generic
Arguments:
I must be of type integer.
Results:
The result type is the same as I. The result value is the number of
trailing zeros in the binary representation of the integer I.
INTEGER*8 J, TWO
PARAMETER (TWO=2)
DO J= -1, 40
TYPE *, TRAILZ(TWO**J) ! Prints 64, then 0 up to
ENDDO ! 40 (trailing zeros)
END
9.4.159 TRANSFER (SOURCE, MOLD [,SIZE])
Description: | Copies the bit pattern of SOURCE and interprets it according to the type and kind parameters of MOLD. | ||
Class: | Transformational function; Generic | ||
Arguments: | SOURCE | Must be a scalar or array (of any data type). | |
MOLD | Must be a scalar or array (of any data type). It provides the type characteristics (not a value) for the result. | ||
SIZE (opt) | Must be scalar and of type integer. It provides the number of elements for the output result. | ||
Results: |
The result has the same type and type parameters as MOLD.
If MOLD is a scalar and SIZE is omitted, the result is a scalar. If MOLD is an array and SIZE is omitted, the result is a rank-one array. Its size is the smallest that is possible to hold all of SOURCE. If SIZE is present, the result is a rank-one array of size SIZE. If the physical representation of the result is larger than SOURCE, the result contains SOURCE's bit pattern in its right-most bits; the left-most bits of the result are undefined. If the physical representation of the result is smaller than SOURCE, the result contains the right-most bits of SOURCE's bit pattern. |
Examples
TRANSFER (1082130432, 0.0) has the value 4.0 (on processors that represent the values 4.0 and 1082130432 as the string of binary digits 0100 0000 1000 0000 0000 0000 0000 0000).
TRANSFER ((/2.2, 3.3, 4.4/), ((0.0, 0.0))) results in a scalar whose value is (2.2, 3.3).
TRANSFER ((/2.2, 3.3, 4.4/), (/(0.0, 0.0)/)) results in a complex rank-one array of length 2. Its first element is (2.2,3.3) and its second element has a real part with the value 4.4 and an undefined imaginary part.
TRANSFER ((/2.2, 3.3, 4.4/), (/(0.0, 0.0)/), 1) results in a complex rank-one array having one element with the value (2.2, 3.3).
Previous | Next | Contents | Index |