... | ... | @@ -17,9 +17,9 @@ In the following table: |
|
|
- S indicates that the procedure is an impure subroutine, and
|
|
|
- T indicates that the procedure in a transformational function.
|
|
|
- For each test file:
|
|
|
- :white_check_mark: indicates that the test file has `llvm` in `CMakeLists.txt`
|
|
|
- :x: indicates that the test file does not have `llvm` in `CMakeLists.txt`
|
|
|
- :grey_question: indicates that the test file does not have (direct) registration/run-command in `CMakeLists.txt`
|
|
|
- :white_check_mark: indicates that the test file has `llvm` in `integration_tests/CMakeLists.txt`
|
|
|
- :x: indicates that the test file does not have `llvm` in `integration_tests/CMakeLists.txt`
|
|
|
- :grey_question: indicates that the test file does not have (direct) registration/run-command in `integration_tests/CMakeLists.txt`
|
|
|
- currently, test files without (direct) registration are not being considered towards contributing to testing or implementation (please let me(@shaikhubaid769) know if this is to be updated)
|
|
|
|
|
|
List of Intrinsic Functions (src: Table 16.1 page 332 of [F2018 Interpretation
|
... | ... | @@ -33,6 +33,8 @@ Document](https://j3-fortran.org/doc/year/18/18-007r1.pdf)): |
|
|
| | | | | | arrays_04_func :white_check_mark: | | |
|
|
|
| | | | | | complex_03 :white_check_mark: | | |
|
|
|
| | | | | | complex_04 :white_check_mark: | | |
|
|
|
| | | | | | complex_07 :x: | | |
|
|
|
| | | | | | complex_08 :x: | | |
|
|
|
| | | | | | div_to_mul :white_check_mark: | | |
|
|
|
| | | | | | flip_sign :white_check_mark: | | |
|
|
|
| | | | | | fma :white_check_mark: | | |
|
... | ... | @@ -41,13 +43,14 @@ Document](https://j3-fortran.org/doc/year/18/18-007r1.pdf)): |
|
|
| | | | | | intrinsics_04s :white_check_mark: | | |
|
|
|
| | | | | | intrinsics_19 :white_check_mark: | | |
|
|
|
| | | | | | intrinsics_19c :white_check_mark: | | |
|
|
|
| | | | | | intrinsics_42 :x: | | |
|
|
|
| | | | | | modules_15 :white_check_mark: | | |
|
|
|
| | | | | | sign_from_value :white_check_mark: | | |
|
|
|
| | | | | | sin_01 :white_check_mark: | | |
|
|
|
| | | | | | sin_02 :white_check_mark: | | |
|
|
|
| | | | | | sin_04 :white_check_mark: | | |
|
|
|
| | | | | | sqrt_01 :white_check_mark: | | |
|
|
|
| 2 | achar | (i [, kind]) | E | Character from ascii code value | | | |
|
|
|
| 2 | achar | (i [, kind]) | E | Character from ascii code value | string_16 :x: | :white_check_mark: | |
|
|
|
| 3 | acos | (x) | E | Arccosine (inverse cosine) function | intrinsics_06 :white_check_mark: | :white_check_mark: | :white_check_mark: |
|
|
|
| | | | | | intrinsics_18 :white_check_mark: | | |
|
|
|
| | | | | | intrinsics_18c :white_check_mark: | | |
|
... | ... | @@ -56,7 +59,7 @@ Document](https://j3-fortran.org/doc/year/18/18-007r1.pdf)): |
|
|
| | | | | | intrinsics_18 :white_check_mark: | | |
|
|
|
| | | | | | intrinsics_18c :white_check_mark: | | |
|
|
|
| 5 | adjustl | (string) | E | Left-justified string value | intrinsics_36 :white_check_mark: | :white_check_mark: | :white_check_mark: |
|
|
|
| 6 | adjustr | (string) | E | Right-justified string value | | | |
|
|
|
| 6 | adjustr | (string) | E | Right-justified string value | intrinsics_38 :x: | :white_check_mark: | |
|
|
|
| 7 | aimag | (z) | E | Imaginary part of a complex number | complex_04 :white_check_mark: | :white_check_mark: | :white_check_mark: |
|
|
|
| | | | | | complex_06 :white_check_mark: | | |
|
|
|
| | | | | | intrinsics_04 :white_check_mark: | | |
|
... | ... | @@ -64,11 +67,13 @@ Document](https://j3-fortran.org/doc/year/18/18-007r1.pdf)): |
|
|
| | | | | | intrinsics_16 :x: | | |
|
|
|
| | | | | | intrinsics_19c :white_check_mark: | | |
|
|
|
| | | | | | modules_15 :white_check_mark: | | |
|
|
|
| 8 | aint | (a [, kind]) | E | Truncation toward 0 to a whole number | | | |
|
|
|
| 9 | all | (mask) or (mask, dim) | T | Array reduced by .and. operator | | | |
|
|
|
| 8 | aint | (a [, kind]) | E | Truncation toward 0 to a whole number | intrinsics_40 :x: | :white_check_mark: | |
|
|
|
| 9 | all | (mask) or (mask, dim) | T | Array reduced by .and. operator | arrays_intrin_02 :x: | :white_check_mark: | |
|
|
|
| 10 | allocated | (array) or (scalar) | I | Allocation status of allocatable variable | | | |
|
|
|
| 11 | anint | (a [, kind]) | E | Nearest whole number | | | |
|
|
|
| 12 | any | (mask) or (mask, dim) | T | Array reduced by .or. operator | intrinsics_35 :x: | :white_check_mark: | |
|
|
|
| 11 | anint | (a [, kind]) | E | Nearest whole number | intrinsics_40 :x: | :white_check_mark: | |
|
|
|
| 12 | any | (mask) or (mask, dim) | T | Array reduced by .or. operator | arrays_intrin_02 :x: | :white_check_mark: | |
|
|
|
| | | | | | intrinsics_35 :x: | | |
|
|
|
| | | | | | intrinsics_44 :x: | | |
|
|
|
| 13 | asin | (x) | E | Arcsine (inverse sine) function | intrinsics_06 :white_check_mark: | :white_check_mark: | :white_check_mark: |
|
|
|
| | | | | | intrinsics_18 :white_check_mark: | | |
|
|
|
| | | | | | intrinsics_18c :white_check_mark: | | |
|
... | ... | @@ -111,14 +116,14 @@ Document](https://j3-fortran.org/doc/year/18/18-007r1.pdf)): |
|
|
| 43 | btest | (i, pos) | E | Test single bit in an integer | intrinsics_26 :white_check_mark: | :white_check_mark: | :white_check_mark: |
|
|
|
| 44 | ceiling | (a [, kind]) | E | Least integer greater than or equal to a | intrinsics_31 :white_check_mark: | :white_check_mark: | :white_check_mark: |
|
|
|
| 45 | char | (i [, kind]) | E | Character from code value | types_09 :x: | :white_check_mark: | |
|
|
|
| 46 | cmplx | (x [, kind]) or (x [, y, kind]) | E | Conversion to complex type | | | |
|
|
|
| 46 | cmplx | (x [, kind]) or (x [, y, kind]) | E | Conversion to complex type | complex_07 :x: | :white_check_mark: | |
|
|
|
| 47 | co_broadcast | (a, source_image [, stat, errmsg]) | C | Broadcast value to images | | | |
|
|
|
| 48 | co_max | (a [, result_image, stat, errmsg]) | C | Compute maximum value across images | | | |
|
|
|
| 49 | co_min | (a [, result_image, stat, errmsg]) | C | Compute minimum value across images | | | |
|
|
|
| 50 | co_reduce | (a, operation [, result_image, stat, errmsg]) | C | Generalized reduction across images | | | |
|
|
|
| 51 | co_sum | (a [, result_image, stat, errmsg]) | C | Compute sum across images | | | |
|
|
|
| 52 | command_argument_count | ( ) | T | Number of command arguments | | | |
|
|
|
| 53 | conjg | (z) | E | Conjugate of a complex number | | | |
|
|
|
| 52 | command_argument_count | ( ) | T | Number of command arguments | intrinsics_41 :x: | :white_check_mark: | |
|
|
|
| 53 | conjg | (z) | E | Conjugate of a complex number | complex_08 :x: | :white_check_mark: | |
|
|
|
| 54 | cos | (x) | E | Cosine function | associate_04 :white_check_mark: | :white_check_mark: | :white_check_mark: |
|
|
|
| | | | | | intrinsics_03 :white_check_mark: | | |
|
|
|
| | | | | | intrinsics_18 :white_check_mark: | | |
|
... | ... | @@ -131,11 +136,11 @@ Document](https://j3-fortran.org/doc/year/18/18-007r1.pdf)): |
|
|
| 56 | coshape | (coarray [, kind]) | I | Sizes of codimensions of a coarray | | | |
|
|
|
| 57 | count | (mask [, dim, kind]) | T | Logical array reduced by counting true values | | | |
|
|
|
| 58 | cpu_time | (time) | S | Processor time used | cpu_time_01 :white_check_mark: | :white_check_mark: | :white_check_mark: |
|
|
|
| 59 | cshift | (array, shift [, dim]) | T | Circular shift of an array | | | |
|
|
|
| 59 | cshift | (array, shift [, dim]) | T | Circular shift of an array | intrinsics_44 :x: | :white_check_mark: | |
|
|
|
| 60 | date_and_time | ([date, time, zone, values]) | S | Date and time | intrinsics_39 :x: | :white_check_mark: | |
|
|
|
| 61 | dble | (a) | E | Conversion to double precision real | | | |
|
|
|
| 62 | digits | (x) | I | Significant digits in numeric model | string_12 :x: | :white_check_mark: | |
|
|
|
| 63 | dim | (x, y) | E | Maximum of x − y and zero | | | |
|
|
|
| 63 | dim | (x, y) | E | Maximum of x − y and zero | intrinsics_43 :x: | :white_check_mark: | |
|
|
|
| 64 | dot_product | (vector_a, vector_b) | T | Dot product of two vectors | | | |
|
|
|
| 65 | dprod | (x, y) | E | Double precision real product | | | |
|
|
|
| 66 | dshiftl | (i, j, shift) | E | Combined left shift | | | |
|
... | ... | @@ -167,7 +172,7 @@ Document](https://j3-fortran.org/doc/year/18/18-007r1.pdf)): |
|
|
| 85 | get_environment_variable | (name [, value, length, status, trim_name, errmsg]) | S | Get environment variable | | | |
|
|
|
| 86 | get_team | ([level]) | T | Team | | | |
|
|
|
| 87 | huge | (x) | I | Largest model number | intrinsics_23 :white_check_mark: | :white_check_mark: | :white_check_mark: |
|
|
|
| 88 | hypot | (x, y) | E | Euclidean distance function | | | |
|
|
|
| 88 | hypot | (x, y) | E | Euclidean distance function | intrinsics_42 :x: | :white_check_mark: | |
|
|
|
| 89 | iachar | (c [, kind]) | E | Ascii code value for character | string_13 :white_check_mark: | :white_check_mark: | :white_check_mark: |
|
|
|
| 90 | iall | (array, dim [, mask]) or (array [, mask]) | T | Array reduced by iand function | | | |
|
|
|
| 91 | iand | (i, j) | E | Bitwise and | | | |
|
... | ... | @@ -193,6 +198,7 @@ Document](https://j3-fortran.org/doc/year/18/18-007r1.pdf)): |
|
|
| 107 | is_iostat_end | (i) | E | Iostat value test for end of file | | | |
|
|
|
| 108 | is_iostat_eor | (i) | E | Iostat value test for end of record | | | |
|
|
|
| 109 | kind | (x) | I | Value of the kind type parameter of x | arrays_02 :x: | :white_check_mark: | :white_check_mark: |
|
|
|
| | | | | | const_array_02 :white_check_mark: | | |
|
|
|
| | | | | | derived_types_02 :x: | | |
|
|
|
| | | | | | intrinsics_01 :x: | | |
|
|
|
| | | | | | intrinsics_07 :x: | | |
|
... | ... | @@ -233,10 +239,10 @@ Document](https://j3-fortran.org/doc/year/18/18-007r1.pdf)): |
|
|
| | | | | | string_06 :white_check_mark: | | |
|
|
|
| | | | | | string_08 :white_check_mark: | | |
|
|
|
| | | | | | string_09 :white_check_mark: | | |
|
|
|
| 115 | lge | (string_a, string_b) | E | Ascii greater than or equal | | | |
|
|
|
| 116 | lgt | (string_a, string_b) | E | Ascii greater than | | | |
|
|
|
| 117 | lle | (string_a, string_b) | E | Ascii less than or equal | | | |
|
|
|
| 118 | llt | (string_a, string_b) | E | Ascii less than | | | |
|
|
|
| 115 | lge | (string_a, string_b) | E | Ascii greater than or equal | string_15 :x: | :white_check_mark: | |
|
|
|
| 116 | lgt | (string_a, string_b) | E | Ascii greater than | string_15 :x: | :white_check_mark: | |
|
|
|
| 117 | lle | (string_a, string_b) | E | Ascii less than or equal | string_15 :x: | :white_check_mark: | |
|
|
|
| 118 | llt | (string_a, string_b) | E | Ascii less than | string_15 :x: | :white_check_mark: | |
|
|
|
| 119 | log | (x) | E | Natural logarithm | intrinsics_01 :x: | :white_check_mark: | :white_check_mark: |
|
|
|
| | | | | | intrinsics_17 :white_check_mark: | | |
|
|
|
| | | | | | intrinsics_19 :white_check_mark: | | |
|
... | ... | @@ -255,6 +261,7 @@ Document](https://j3-fortran.org/doc/year/18/18-007r1.pdf)): |
|
|
| 128 | maxloc | (array, dim [, mask, kind, back]) or (array [, mask, kind, back]) | T | Location(s) of maximum value | | | |
|
|
|
| 129 | maxval | (array, dim [, mask]) or (array [, mask]) | T | Maximum value(s) of array | arrays_intrin_01 :x: | :white_check_mark: | |
|
|
|
| 130 | merge | (tsource, fsource, mask) | E | Expression value selection | intrinsics_32 :x: | :white_check_mark: | |
|
|
|
| | | | | | intrinsics_37 :x: | | |
|
|
|
| 131 | merge_bits | (i, j, mask) | E | Merge of bits under mask | | | |
|
|
|
| 132 | min | (a1, a2 [, a3, ...]) | E | Minimum value | intrinsics_22 :white_check_mark: | :white_check_mark: | :white_check_mark: |
|
|
|
| | | | | | intrinsics_28 :white_check_mark: | | |
|
... | ... | @@ -299,6 +306,7 @@ Document](https://j3-fortran.org/doc/year/18/18-007r1.pdf)): |
|
|
| | | | | | bin_op_real_dp :white_check_mark: | | |
|
|
|
| | | | | | complex_04 :white_check_mark: | | |
|
|
|
| | | | | | complex_06 :white_check_mark: | | |
|
|
|
| | | | | | const_array_02 :white_check_mark: | | |
|
|
|
| | | | | | const_kind_01 :white_check_mark: | | |
|
|
|
| | | | | | const_real_dp :white_check_mark: | | |
|
|
|
| | | | | | cpu_time_01 :white_check_mark: | | |
|
... | ... | @@ -325,6 +333,9 @@ Document](https://j3-fortran.org/doc/year/18/18-007r1.pdf)): |
|
|
| | | | | | intrinsics_29 :white_check_mark: | | |
|
|
|
| | | | | | intrinsics_30 :white_check_mark: | | |
|
|
|
| | | | | | intrinsics_34 :white_check_mark: | | |
|
|
|
| | | | | | intrinsics_37 :x: | | |
|
|
|
| | | | | | intrinsics_40 :x: | | |
|
|
|
| | | | | | intrinsics_43 :x: | | |
|
|
|
| | | | | | modules_03 :x: | | |
|
|
|
| | | | | | modules_15 :white_check_mark: | | |
|
|
|
| | | | | | modules_15b :grey_question: | | |
|
... | ... | @@ -347,7 +358,8 @@ Document](https://j3-fortran.org/doc/year/18/18-007r1.pdf)): |
|
|
| | | | | | types_12 :white_check_mark: | | |
|
|
|
| | | | | | types_13 :x: | | |
|
|
|
| 162 | reduce | (array, operation, dim [, mask, identity, ordered]) or (array, operation [, mask, identity, ordered]) | T | General reduction of array repeat (string, ncopies) t repetitive string concatenation | doconcurrentloop_02 :grey_question: | | |
|
|
|
| 163 | reshape | (source, shape [, pad, order]) | T | Arbitrary shape array construction | | | |
|
|
|
| 163 | reshape | (source, shape [, pad, order]) | T | Arbitrary shape array construction | arrays_12 :x: | :white_check_mark: | |
|
|
|
| | | | | | intrinsics_44 :x: | | |
|
|
|
| 164 | rrspacing | (x) | E | Reciprocal of relative spacing of model numbers | | | |
|
|
|
| 165 | same_type_as | (a, b) | I | Dynamic type equality test | | | |
|
|
|
| 166 | scale | (x, i) | E | Real number scaled by radix power | | | |
|
... | ... | @@ -389,7 +401,7 @@ Document](https://j3-fortran.org/doc/year/18/18-007r1.pdf)): |
|
|
| | | | | | intrinsics_27 :x: | | |
|
|
|
| | | | | | subroutines_05 :grey_question: | | |
|
|
|
| 180 | spacing | (x) | E | Spacing of model numbers | | | |
|
|
|
| 181 | spread | (source, dim, ncopies) | T | Value replicated in a new dimension | | | |
|
|
|
| 181 | spread | (source, dim, ncopies) | T | Value replicated in a new dimension | arrays_12 :x: | :white_check_mark: | |
|
|
|
| 182 | sqrt | (x) | E | Square root | intrinsics_01 :x: | :white_check_mark: | :white_check_mark: |
|
|
|
| | | | | | intrinsics_19 :white_check_mark: | | |
|
|
|
| | | | | | intrinsics_19c :white_check_mark: | | |
|
... | ... | @@ -431,6 +443,7 @@ Document](https://j3-fortran.org/doc/year/18/18-007r1.pdf)): |
|
|
| | | | | | arrays_op_4 :white_check_mark: | | |
|
|
|
| | | | | | arrays_op_5 :white_check_mark: | | |
|
|
|
| | | | | | arrays_op_6 :white_check_mark: | | |
|
|
|
| | | | | | intrinsics_37 :x: | | |
|
|
|
| 198 | ucobound | (coarray [, dim, kind]) | I | Upper cobound(s) of a coarray | | | |
|
|
|
| 199 | unpack | (vector, mask, field) | T | Vector unpacked into an array | | | |
|
|
|
| 200 | verify | (string, set [, back, kind]) | E | Character set non-membership search. | arrays_08_func :white_check_mark: | :white_check_mark: | :white_check_mark: |
|
... | ... | |