type | operation | defines | example |
Floating point (8 byte) | automatic | undeclared symbolic names, default | alfa = beta |
REAL | initialized scalar | REAL :: maximum = 1E8 | |
vector | REAL :: vec(123) | ||
matrix | REAL :: mtx(12, 34) | ||
REAL, PARAMETER | a symbolic name as a constant | REAL :: pi=3.14 | |
DIMENSION | vector | DIMENSION Vec2(456) | |
matrix | DIMENSION M34(3, 4) | ||
ALIAS | new array with named elements | ALIAS(Base=new, Number=a, Number=b) | |
sub-arrays of numeric array | ALIAS(Base=old, Columns=4, Vector=V4, Rows=8, Matrix=M84) | ||
ALLOCATE | increase size of array | ALLOCATE(vec, 12345) | |
DATA | initialize | DATA xyz/321/, vec/1, 2.3, 5/ | |
String | CHARACTER | linear text string | CHARACTER txt*8000 |
text with initialization | CHARACTER alfa*4/'beta'/ | ||
ALIAS | substrings of string | ALIAS(Base=txt, Length=33, String=txtA, String=txtB) | |
ALLOCATE | increase size of string | ALLOCATE(txt, 1E6) | |
CHAR | array of strings | CHAR(nr, total, substring_nr) | |
integer | INT, NINT, FLOOR, CEILING, STRUCT | real to integer value | three= INT(pi) |
logical | numeric expression | FALSE if zero, TRUE if not zero | true = 3 - 2 |
string comparison | FALSE if not equal, TRUE if equal | false = 'alfa' > 'beta' | |
Structure | STRUCT | compounds of integers, floats, strings, structures | txt = STRUC(i4u=unsigned4byteinteger, r8p=pointertoreal8byte, STP=pointertostruct) |
Fuzzy | FUZ | triangular distribution of a physical value over a set of neighbors | FUZ(size, small, medium, large) |