Line data Source code
1 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3 : !!!! !!!!
4 : !!!! ParaMonte: Parallel Monte Carlo and Machine Learning Library. !!!!
5 : !!!! !!!!
6 : !!!! Copyright (C) 2012-present, The Computational Data Science Lab !!!!
7 : !!!! !!!!
8 : !!!! This file is part of the ParaMonte library. !!!!
9 : !!!! !!!!
10 : !!!! LICENSE !!!!
11 : !!!! !!!!
12 : !!!! https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md !!!!
13 : !!!! !!!!
14 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16 :
17 : !> \brief
18 : !> This module contains classes and procedures for input/output (IO) or generic display operations on standard displays or internal/external files.
19 : !>
20 : !> \details
21 : !>
22 : !> Quick start
23 : !> -----------
24 : !>
25 : !> The following is a (non-exhaustive) list of the most useful functionalities in this module:<br>
26 : !> <ol>
27 : !> <li> [display_type](@ref pm_io::display_type) is a derived type for creating objects
28 : !> whose methods (`show`, `wrap`, `skip`, ...) can display all sorts of scalar and array objects of
29 : !> intrinsic type and kind as well as [containers](@ref pm_container) of various intrinsic types and kinds.<br>
30 : !> <li> [getContentsFrom](@ref pm_io::getContentsFrom) and [setContentsFrom](@ref pm_io::setContentsFrom) are functional
31 : !> and subroutine interfaces for reading the entire contents of a given file or connect unit into a scalar string.<br>
32 : !> <li> [getErrTableWrite](@ref pm_io::getErrTableWrite) writes a data matrix as a csv, list-directed or other arbitrarily-delimited table of data to a specified file or unit.<br>
33 : !> <li> [getErrTableRead](@ref pm_io::getErrTableRead) reads a csv, list-directed or other arbitrarily-delimited table of data from a specified file or unit.<br>
34 : !> <li> [getCountRecord](@ref pm_io::getCountRecord) counts the number of records (optionally matching a user-specified pattern) in a `sequential` access file or unit.<br>
35 : !> <li> [getCountRecordLeft](@ref pm_io::getCountRecordLeft) counts the number of records **left**, optionally matching a user-specified pattern, in a `sequential` access connected-file unit.<br>
36 : !> <li> [getRecordFrom](@ref pm_io::getRecordFrom) and [setRecordFrom](@ref pm_io::setRecordFrom) read a single line from a specified `sequential` access file or unit into an `allocatable` string.<br>
37 : !> <li> [getFieldSep](@ref pm_io::getFieldSep) identifies the most likely separator used in a file to separate fields of a record-oriented file from a list of possible separators of arbitrary length.<br>
38 : !> <li> [getFormat](@ref pm_io::getFormat) seamlessly creates a suitable format for outputting a record of fields of
39 : !> arbitrary type and kind, each field of which can be delimited and optionally contain multiple subfields.<br>
40 : !> <li> [setContentsTo](@ref pm_io::setContentsTo) outputs a scalar string to an unconnected file as a binary stream.<br>
41 : !> <li> [isOpen](@ref pm_io::isOpen) checks if a file or unit is already connected (opened).<br>
42 : !> <li> etc.<br>
43 : !>
44 : !> </ol>
45 : !>
46 : !> IO terminology
47 : !> --------------
48 : !>
49 : !> The following is a collection of terms and phrases frequently used in the documentation of this module.<br>
50 : !> -# A **file** is a logical unit of information created by processes and are managed by the operating system.<br>
51 : !> -# The part of the operating system that deals with files is known as the **file system**.<br>
52 : !> -# An I/O **record** is a collection of characters or values that are logically related and are frequently processed together.<br>
53 : !> Three common types of records are:<br>
54 : !> -# **formatted**
55 : !> -# A formatted record consists of a sequence of ASCII characters that can print in a readable format.
56 : !> -# Reading a formatted record converts the data values from readable characters into an internal representation.
57 : !> -# Writing a formatted record converts the data from the internal representation into characters.
58 : !> -# **unformatted**
59 : !> -# An unformatted record contains a sequence of values in an internal representation that can contain both character and noncharacter data.
60 : !> -# Reading or writing an unformatted record does not convert any data the record contains from the internal representation.
61 : !> -# An unformatted record can also contain no data.
62 : !> -# **endfile**
63 : !> -# If it exists, an `endfile` record is the last record of a file.
64 : !> -# The `endfile` record has no length.
65 : !> -# The `endfile` record can be **written explicitly** by the `endfile()` Fortran intrinsic statement.
66 : !> -# The `endfile` record can be **written implicitly** to a file connected for sequential access **when**,
67 : !> -# the last data transfer statement was a `write()` statement,
68 : !> -# no intervening file positioning statement referring to the file has been executed,
69 : !> -# and the following is true:
70 : !> -# A `rewind()` or `backspace()` statement references the unit to which the file is connected; or
71 : !> -# The file is closed, either<br>
72 : !> -# explicitly by a `close()` statement, or<br>
73 : !> -# implicitly by a program termination not caused by an error condition, or<br>
74 : !> -# implicitly by another `open()` statement for the same unit.<br>
75 : !> -# **File organization** refers to the way records are physically arranged on a storage device.<br>
76 : !> -# The main types of file organization in Fortran are the following,<br>
77 : !> -# **Sequential**<br>
78 : !> -# A sequentially organized file consists of records arranged in the sequence in which they are written to the file.
79 : !> -# As a result, records can be added only at the end of the file.
80 : !> -# Attempting to add records at some place other than the end of the file will result in the file begin truncated at the end of the record just written.
81 : !> -# Sequential files can be stored on magnetic tape or disk devices.<br>
82 : !> -# Other peripheral devices, such as terminals, pipes, and line printers as sequential files.
83 : !> -# Sequential files are usually read sequentially, starting with the first record in the file.
84 : !> -# Sequential files with a fixed-length record-type stored on disk can also be accessed by relative record number (**direct access**).
85 : !> -# **Relative (direct access)**<br>
86 : !> -# Relative files are just like arrays [of structures], but instead of residing in the main memory, they are recorded on a disk device.
87 : !> -# Relative files can only be stored on a disk device (e.g., not on magnetic tapes).
88 : !> -# Within a relative file are numbered positions, called **cells**.
89 : !> -# These cells are of fixed equal length and are consecutively numbered from `1` to `n`, corresponding to the first and last cells in the file.
90 : !> -# Each cell either contains either a single record or is empty.
91 : !> -# Records in a relative file are accessed according to the cell number.
92 : !> -# The cell number is the record number relative to the beginning of the file.
93 : !> -# By specifying relative record numbers, one can directly retrieve, add, or delete records regardless of their locations.
94 : !> -# When creating a relative file, the `RECL` can be `inquire`d to determine the size of the fixed-length cells.
95 : !> -# Within the cells, one can store records of varying length, as long as their size does not exceed the cell size.
96 : !> -# **Indexed (not in the Fortran standard)**<br>
97 : !> -# An indexed file is made of "data cells", not necessarily of the same size, and contain **indexes**, lists of **pointers** to these cells arranged by some order.
98 : !> -# The Fortran Standard does not require support for indexed files (although some compilers do).<br>
99 : !> -# The two major types of file systems are the following:<br>
100 : !> -# A stream of bytes (**byte Sequence**) known as the **stream access** in Fortran.<br>
101 : !> -# A stream of records (**record sequence**).<br>
102 : !> Depending on the lengths of individual record in the file, two separate internal structures are commonly used.<br>
103 : !> -# A stream of **equal-length records**, also known as the **direct access** files in Fortran.<br>
104 : !> The position in the direct access file in Fortran is specified in terms of **records**.<br>
105 : !> All records have the same length (specified by the `RECL=` specifier in call to `open()` statement).<br>
106 : !> For example, if a file contains 20 records and has record length equal to 30, then<br>
107 : !> -# the total size of data the program can access from the file is 600 bytes and,<br>
108 : !> -# every read or write operation will access a record containing 30 bytes.<br>
109 : !> -# A stream of **arbitrary-length records**, also known as the **sequental access** files in Fortran.<br>
110 : !> -# The **record-type** refers to the convention used for storing fields in records.<br>
111 : !> The record-type of the data within a file is not maintained as an attribute of the file.<br>
112 : !> The results of using a record type other than the one used to create the file are **indeterminate**.<br>
113 : !> -# The **record overhead** is the number of bytes associated with each record used internally by the file system and are not available when a record is read or written.
114 : !> -# The following table list the commonly available record types.
115 : !> Record Type | Available File Organizations and Portability Considerations | Record Overhead
116 : !> ----------------|-----------------------------------------------------------------------------------------------|------------------
117 : !> Fixed-length | Relative or sequential file organizations. | None for sequential.
118 : !> Variable-length | Sequential file organization only. | Eight bytes per record. The most portable record type.
119 : !> Stream | Sequential file organization only. No record terminator needed. | zero.
120 : !> Stream_CR | Sequential file organization only. It uses `CR` (carriage return) as record terminator. | One byte per record.
121 : !> Stream_LF | Sequential file organization only. It uses `LF` (line feed) as record terminator). | One byte per record.
122 : !> Stream_CRLF | Sequential file organization only. It uses both `CR` and `LF` as record terminator. | Two bytes per record.
123 : !> Given the above record overheads, `stream` record type yields the smallest possible file sizes.
124 : !> -# **Fixed-Length Records** require that all records in the file contain the same number of bytes.<br>
125 : !> When a file is opened to contain fixed-length records, the record size must be specified using the `RECL` specified of the `open()` statement.<br>
126 : !> A sequentially-organized opened file for **direct access** must contain fixed-length records to allow the record position in the file to be computed correctly.
127 : !> -# **Variable-Length Records** can contain any number of bytes up to a specified **maximum record length** and apply only to sequential files.<br>
128 : !> Variable-length records are prefixed and suffixed by 4 bytes of control information containing length fields.<br>
129 : !> The trailing length field allows a `backspace()` request to skip back over records efficiently.<br>
130 : !> The 4-byte integer value stored in each length field indicates the number of data bytes (excluding overhead bytes) in that particular variable-length record.<br>
131 : !> For a record length greater than `2,147,483,639` bytes, the record is divided into **subrecords**. The subrecord can be of any length from `1` to `2,147,483,639`, inclusive.<br>
132 : !> The sign bit of the leading length field indicates whether the record is continued or not.<br>
133 : !> The sign bit of the trailing length field indicates the presence of a preceding subrecord.<br>
134 : !> The position of the sign bit is determined by the endian format of the file.<br>
135 : !> The following rules describe sign bit values:
136 : !> -# A subrecord that is continued has a leading length field with a sign bit value of `1`.
137 : !> -# The last subrecord that makes up a record has a leading length field with a sign bit value of `0`.
138 : !> -# A subrecord that has a preceding subrecord has a trailing length field with a sign bit value of `1`.
139 : !> -# The first subrecord that makes up a record has a trailing length field with a sign bit value of `0`.
140 : !> -# If the value of the sign bit is `1`, the length of the record is stored in twos-complement notation.
141 : !> -# **Stream files** contain no control information and their contents is not grouped into records.<br>
142 : !> -# Stream-access I/O is a method of accessing a file without reference to a record structure.<br>
143 : !> -# With stream access, a file is seen as a continuous sequence of bytes and is addressed by a positive integer starting from `1`.<br>
144 : !> -# To enable stream access, one should specify `access = "stream"` in the `open()` statement for the file.<br>
145 : !> -# A file enabled for stream access is positioned by file storage units (normally bytes) starting at position `1`.<br>
146 : !> -# To determine the current position, one must use the `pos` specifier in an `inquire()` statement for the unit.<br>
147 : !> -# One can also indicate a required position in a read or write statement with a `pos` specifier.<br>
148 : !> -# Stream files can contain character or binary data that is read or written only to the extent of the variables specified on the input or output statement.
149 : !> -# Stream files can be connected to external files for stream access as either `formatted` or `unformatted`.
150 : !> -# Both `formatted` and `unformatted` forms use external stream files composed of one byte file storage units.
151 : !> -# A file connected for `unformatted` stream access has only a stream structure.
152 : !> -# By contrast, files connected for `formatted` stream access have both a **record** and a **stream structure**.
153 : !> -# These dual structure files have the following characteristics:
154 : !> -# Some file storage units represent record markers.
155 : !> -# The record structure is inferred from the record markers stored in the file.
156 : !> -# There is no theoretical limit on record length.
157 : !> -# Writing an empty record without a record marker has no effect.
158 : !> -# If there is no record marker at the end of a file, the final record is incomplete but not empty.
159 : !> -# The endfile record in a file previously connected for sequential access is not considered part of the file when you connect that file for stream access.
160 : !> -# When connected for **formatted stream access**, an external file has the following characteristics:
161 : !> -# The first file storage unit in the file is at position `1`.
162 : !> -# The relationship between positions of successive file storage units is processor dependent; not all positive integers need to correspond to valid positions.
163 : !> -# Some file storage units may contain record markers that impose a record structure on the file in addition to its stream structure.
164 : !> -# If there is no record marker at the end of the file, the final record is incomplete. Writing an empty record with no record marker has no effect.
165 : !> -# When connected for **unformatted stream access**, an external file has the following characteristics:
166 : !> -# The first file storage unit in the file is at position `1`.
167 : !> -# The position of each subsequent file storage unit is one greater than the position of the preceding file storage unit.
168 : !> -# If it is possible to position the file, the file storage units do not need to be read or written in order of their position.
169 : !> -# For example, you may be able to write the file storage unit at position 2, even though the file storage unit at position 1 has not been written.
170 : !> -# Any file storage unit can be read from the file while it is connected to a unit, if the file storage unit has been written since the file was created, and a `read()` statement for this connection is allowed.
171 : !> -# One **cannot** use `backspace()` in an unformatted stream.
172 : !> -# **Sequential-access files** can be either **internal** and **external** files.
173 : !> -# **Internal files**
174 : !> -# An internal file always has sequential access.
175 : !> -# An internal file is a character variable that is not an array section with a vector subscript.
176 : !> -# If an internal file is a scalar character variable, the file consists of one record with a length equal to that of the scalar variable.
177 : !> -# If an internal file is a character array, each element of the array is a record of the file, with each record having the same length.
178 : !> -# An internal file **must contain only formatted records**. `read()` and `write()` are the only statements that can specify an internal file.
179 : !> -# If a `write()` statement writes less than an entire record, **blanks fill the remainder of that record**.
180 : !> -# **External files**
181 : !> -# A file connected for sequential access contains records in the order they were written.
182 : !> -# The records must be either **all formatted** or **all unformatted**.
183 : !> -# The last record of the file must be an **endfile record**.
184 : !> -# The records must not be read or written by `direct` or `stream` access I/O statements **as long as** the file is connected for `sequential` access.
185 : !> -# **Direct-access files** allow the records of an external file to be read or written in any order.
186 : !> -# The records must be either all formatted or all unformatted.
187 : !> -# The records must **not** be read or written using `sequential` or `stream` access, list-directed or namelist formatting, or a nonadvancing input/output statement.
188 : !> -# If the file was previously connected for sequential access, the last record of the file is an endfile record.
189 : !> -# The endfile record is not considered a part of the file connected for direct access.
190 : !> -# Each record in a file connected for direct access has a record number that identifies its order in the file.
191 : !> -# The record number is an integer value that must be specified when the record is read or written.
192 : !> -# Records are numbered sequentially. The first record is number 1.
193 : !> -# Records need not be read or written in the order of their record numbers. For example, records `9`, `5`, and `11` can be written in that order without writing the intermediate records.
194 : !> -# All records in a file connected for direct access **must have the same length**, which is specified in the `open()` statement when the file is connected.
195 : !> -# Records in a file connected for direct access **cannot be deleted**, but they **can be rewritten** with a new value.
196 : !> -# A record cannot be read unless it has first been written.
197 : !>
198 : !> \note
199 : !> There are a number of other points to note with respect to files.
200 : !> -# The set of allowed names for a file is processor dependent.
201 : !> -# Both `sequential` and `direct` access may be available for some files, but normally a file is limited to `sequential`, `direct`, or `stream` access.
202 : !> -# A file **never** contains both formatted and unformatted records.
203 : !>
204 : !> \note
205 : !> Typical file operations that are also partly covered in this module and partly in [pm_sysPath](@ref pm_sysPath) are,
206 : !> -# Create
207 : !> -# Delete
208 : !> -# Open
209 : !> -# Close
210 : !> -# Read
211 : !> -# Write
212 : !> -# Append (This call is a restricted form of write. It can add data only to the end of the file.)
213 : !> -# Seek (Repositions the file pointer to a specific place in the file.)
214 : !> -# Get Attributes (Processes often need to read file attributes to do their work.)
215 : !> -# Set Attributes (Some of the attributes are user settable and can be changed after the file has been created.)
216 : !> -# Rename (changes the name of the file.)
217 : !>
218 : !> \note
219 : !> Previous versions of this modules contained functions for inquiring various attributes of files via the intrinsic `inquire()` statement.<br>
220 : !> The current version has deprecated and deleted all such functions as their maintenance is more costly than any potential benefits they may offer.<br>
221 : !> Such functions cannot be `pure` due to the call to the `inquire()` statement. As such, they are unlikely to be inlined by the compiler.<br>
222 : !> Furthermore, any call to such functions from outside their parent module requires a `use` statement, followed by the function call,
223 : !> which effectively yields the same amount of verbosity caused by directly calling the `inquire()` statement.<br>
224 : !> Additionally, a single call to the Fortran `inquire()` statement can return multiple attributes of a file or unit,
225 : !> which makes this statement much more concise and efficient as opposed to any user-defined function.<br>
226 : !>
227 : !> \see
228 : !> [IBM documentation of Fortran File access methods](https://www.ibm.com/docs/en/xffbg/121.141?topic=files-file-access-methods)<br>
229 : !> [Intel documentation of Fortran File access methods](https://www.intel.com/content/www/us/en/docs/fortran-compiler/developer-guide-reference/2023-2/fortran-i-o.html)<br>
230 : !> [Intel Fortran compiler documentation for **OPEN - RECL Specifier**](https://www.intel.com/content/www/us/en/develop/documentation/fortran-compiler-oneapi-dev-guide-and-reference/top/language-reference/file-operation-i-o-statements/open-statement-specifiers/open-recl-specifier.html)<br>
231 : !> [Metcalf et al., Modern Fortran Explained - Incorporating Fortran 2018](https://books.google.com/books?id=sB1rDwAAQBAJ&lpg=PP1&pg=PP1#v=onepage&q&f=false)<br>
232 : !> [Files and records](https://www.ibiblio.org/pub/languages/fortran/ch5-4.html)<br>
233 : !>
234 : !> \test
235 : !> [test_pm_io](@ref test_pm_io)
236 : !>
237 : !> \finmain{pm_io}
238 : !>
239 : !> \author
240 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
241 :
242 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
243 :
244 : !> \cond excluded
245 : #if 1
246 : #define __CONTIGUOUS
247 : #else
248 : #define __CONTIGUOUS, contiguous
249 : #endif
250 : !> \endcond excluded
251 :
252 : module pm_io
253 :
254 : use pm_err, only: mark_type
255 : use pm_err, only: note_type
256 : use pm_err, only: warn_type
257 : use pm_err, only: stop_type
258 : use pm_val2str, only: getStr
259 : use pm_kind, only: SK, IK, LK
260 : use pm_option, only: getOption
261 : use pm_container, only: css_type
262 : use iso_fortran_env, only: output_unit
263 : use pm_matrixTrans, only: trans, trans_type
264 :
265 : implicit none
266 :
267 : character(*, SK), parameter :: MODULE_NAME = "@pm_io"
268 :
269 : !> \brief
270 : !> This is the derived type for generating objects containing the source
271 : !> file extensions used by different programming language environments.
272 : !>
273 : !> \details
274 : !> This derived type is of minimal usage outside the ParaMonte library internal routines.<br>
275 : !> If needed, the constant object instances of this derived type [filext](@ref pm_io::filext) can be used.<br>
276 : !>
277 : !> \see
278 : !> [filext](@ref pm_io::filext)<br>
279 : !>
280 : !> \finmain{filext_type}
281 : !>
282 : !> \author
283 : !> \AmirShahmoradi, September 1, 2017, 11:35 PM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
284 : type :: filext_type
285 : character(4, SK) :: ascii = SK_".txt"
286 : character(4, SK) :: binary = SK_".bin"
287 : character(2, SK) :: c = SK_".c"
288 : character(4, SK) :: cobol = SK_".cbl"
289 : character(4, SK) :: cpp = SK_".cpp"
290 : character(3, SK) :: csharp = SK_".cs"
291 : character(3, SK) :: go = SK_".go"
292 : character(4, SK) :: fortran = SK_".F90"
293 : character(5, SK) :: java = SK_".java"
294 : character(3, SK) :: javascript = SK_".js"
295 : character(3, SK) :: julia = SK_".jl"
296 : character(2, SK) :: matlab = SK_".m"
297 : character(4, SK) :: mathematica = SK_".wls"
298 : character(3, SK) :: python = SK_".py"
299 : character(2, SK) :: r = SK_".R"
300 : character(3, SK) :: rust = SK_".rs"
301 : character(4, SK) :: sas = SK_".sas"
302 : character(6, SK) :: swift = SK_".swift"
303 : end type
304 :
305 : !> \brief
306 : !> The scalar constant object of type [filext_type](@ref pm_io::filext_type)
307 : !> containing file extensions used by different programming language environments.
308 : !>
309 : !> \see
310 : !> [filext_type](@ref pm_io::filext_type)<br>
311 : !>
312 : !> \finmain{filext}
313 : !>
314 : !> \author
315 : !> \AmirShahmoradi, September 1, 2017, 11:35 PM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
316 : type(filext_type), parameter :: filext = filext_type()
317 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
318 : !DIR$ ATTRIBUTES DLLEXPORT :: filext
319 : #endif
320 :
321 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
322 :
323 : !integer(IK) , parameter :: DISPLAY_WIDTH = 132_IK
324 : !integer(IK) , parameter :: DISPLAY_THICKNESS_HORZ = 4_IK
325 : !integer(IK) , parameter :: DISPLAY_THICKNESS_VERT = 1_IK
326 :
327 : !> \brief
328 : !> The scalar `character` of default kind \SK of `len = 1` representing the default string that is used for filling the margins of the display or wrapped texts.
329 : character(*, SK), parameter :: MFILL = SK_"%"
330 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
331 : !DIR$ ATTRIBUTES DLLEXPORT :: MFILL
332 : #endif
333 :
334 : !> \brief
335 : !> The scalar `character` of default kind \SK of `len = 4` representing representing ASCII character: Horizontal Tab, which is frequently used in external files as column or field separators.
336 : character(1, SK), parameter :: TAB = achar(9, SK)
337 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
338 : !DIR$ ATTRIBUTES DLLEXPORT :: TAB
339 : #endif
340 :
341 : !> \brief
342 : !> The scalar `character` of default kind \SK of `len = 4` representing the default string that is used in place of the tab character in the display.
343 : character(*, SK), parameter :: TABEQV = repeat(SK_" ", 4)
344 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
345 : !DIR$ ATTRIBUTES DLLEXPORT :: TABEQV
346 : #endif
347 :
348 : !> \brief
349 : !> The scalar `character` of default kind \SK of the same value as [TABEQV](@ref pm_io::TABEQV) representing the default indentation of text in the display, when indentation is needed.
350 : character(*, SK), parameter :: INDENT = TABEQV !//TABEQV
351 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
352 : !DIR$ ATTRIBUTES DLLEXPORT :: INDENT
353 : #endif
354 :
355 : !> \brief
356 : !> The scalar `character` of default kind \SK containing the generic IO whitespace-separated IO format.
357 : character(*, SK), parameter :: FORMAT_GENERIC_BLANK = SK_"(*(g0,:,' '))"
358 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
359 : !DIR$ ATTRIBUTES DLLEXPORT :: FORMAT_GENERIC_BLANK
360 : #endif
361 :
362 : !> \brief
363 : !> The scalar `character` of default kind \SK containing the generic IO whitespace-separated IO format with in an initial [INDENT](@ref pm_io::INDENT).
364 : character(*, SK), parameter :: FORMAT_GENERIC_BLANK_TABBED = SK_"('"//INDENT//SK_"',*(g0,:,' '))"
365 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
366 : !DIR$ ATTRIBUTES DLLEXPORT :: FORMAT_GENERIC_BLANK_TABBED
367 : #endif
368 :
369 : !> \brief
370 : !> The scalar `character` of default kind \SK containing the generic signed comma-space-separated format used as the default within objects of [display_type](@ref pm_io::display_type).
371 : character(*, SK), parameter :: FORMAT_GENERIC_DISPLAY = SK_"(sp,*(g0,:,', '))"
372 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
373 : !DIR$ ATTRIBUTES DLLEXPORT :: FORMAT_GENERIC_DISPLAY
374 : #endif
375 :
376 : !> \brief
377 : !> The scalar `character` of default kind \SK containing the generic signed comma-space-separated format that
378 : !> can be used as the math-style complex formatting when constructing objects of [display_type](@ref pm_io::display_type).
379 : character(*, SK), parameter :: FORMAT_GENERIC_DISPLAY_COMPLEX_MATH = SK_"(sp,*(2g0,'i',:,', '))"
380 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
381 : !DIR$ ATTRIBUTES DLLEXPORT :: FORMAT_GENERIC_DISPLAY_COMPLEX_MATH
382 : #endif
383 :
384 : !> \brief
385 : !> The scalar `character` of default kind \SK containing the generic signed comma-space-separated format that
386 : !> can be used as the Fortran-style complex formatting when constructing objects of [display_type](@ref pm_io::display_type).
387 : character(*, SK), parameter :: FORMAT_GENERIC_DISPLAY_COMPLEX_FORTRAN = SK_"(sp,*('(',g0,', ',g0,')',:,', '))"
388 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
389 : !DIR$ ATTRIBUTES DLLEXPORT :: FORMAT_GENERIC_DISPLAY_COMPLEX_FORTRAN
390 : #endif
391 :
392 : !> \brief
393 : !> The scalar `character(1, SK)` of default kind \SK of size `4`, containing the four characters used to display a spinning command line cursor.
394 : character(1, SK), parameter :: SPINNER(4) = [ "|" , "/" , "-" , "\" ]
395 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
396 : !DIR$ ATTRIBUTES DLLEXPORT :: SPINNER
397 : #endif
398 :
399 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
400 :
401 : integer(IK) , parameter :: LEN_IOMSG = 511_IK !< \public The scalar `integer` of default kind \IK representing the maximum
402 : !! length of an IO error message returned by the Fortran intrinsic routines.
403 : !! Note that this an arbitrary length defined globally for consistency.
404 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
405 : !DIR$ ATTRIBUTES DLLEXPORT :: LEN_IOMSG
406 : #endif
407 :
408 : integer(IK) , parameter :: LEN_RECORD = 8191_IK !< \public The scalar `integer` of default kind \IK representing the
409 : !! effective maximum length of a record in a record-oriented file.
410 : !! Note that this is an arbitrary length defined globally for consistency.
411 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
412 : !DIR$ ATTRIBUTES DLLEXPORT :: LEN_RECORD
413 : #endif
414 :
415 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
416 :
417 : !> \brief
418 : !> The derived type that can be used for constructing containers of `format`
419 : !> or left and right delimiters for the (five) intrinsic Fortran field types.
420 : !>
421 : !> \details
422 : !> Object of this derived type can be either,
423 : !> <ol>
424 : !> <li> passed as input arguments to the constructor of [display_type](@ref pm_io::display_type)
425 : !> to specify the IO formatting of fields of objects of various intrinsic types that are to be subsequently displayed by the methods of [display_type](@ref pm_io::display_type).<br>
426 : !> <li> used in other situations to specify properties of IO fields of various intrinsic types, for example, to specify the left and right delimiters of fields of objects of intrinsic types.<br>
427 : !> </ol>
428 : !>
429 : !> \param[in] string : The input `allocatable` scalar `character` of default kind \SK containing a specific formatting property of a field of type `character`.<br>
430 : !> (**optional**. If missing, the corresponding component of the output `field` object remains unallocated.)
431 : !> \param[in] integer : The input `allocatable` scalar `character` of default kind \SK containing a specific formatting property of a field of type `integer`.<br>
432 : !> (**optional**. If missing, the corresponding component of the output `field` object remains unallocated.)
433 : !> \param[in] logical : The input `allocatable` scalar `character` of default kind \SK containing a specific formatting property of a field of type `logical`.<br>
434 : !> (**optional**. If missing, the corresponding component of the output `field` object remains unallocated.)
435 : !> \param[in] complex : The input `allocatable` scalar `character` of default kind \SK containing a specific formatting property of a field of type `complex`.<br>
436 : !> (**optional**. If missing, the corresponding component of the output `field` object remains unallocated.)
437 : !> \param[in] real : The input `allocatable` scalar `character` of default kind \SK containing a specific formatting property of a field of type `real`.<br>
438 : !> (**optional**. If missing, the corresponding component of the output `field` object remains unallocated.)
439 : !>
440 : !> \return
441 : !> `field` : The output scalar object of type [field_type](@ref pm_io::field_type)
442 : !> containing `allocatable` scalar `character` components corresponding to the input arguments.<br>
443 : !> Any component of the output `field` corresponding to a **missing** input argument remains **unallocated** on output.<br>
444 : !>
445 : !> \interface{field_type}
446 : !> \code{.F90}
447 : !>
448 : !> use pm_io, only: field_type
449 : !> type(field_type) :: field
450 : !>
451 : !> field = field_type(string = string, integer = integer, logical = logical, complex = complex, real = real)
452 : !>
453 : !> \endcode
454 : !>
455 : !> \pure
456 : !>
457 : !> \elemental
458 : !>
459 : !> \see
460 : !> [wrap_type%%wrap()](@ref pm_io::wrap)<br>
461 : !> [display_type%%show()](@ref pm_io::show)<br>
462 : !> [display_type%%skip()](@ref pm_io::skip)<br>
463 : !> [getStrWrapped](@ref pm_str::getStrWrapped)<br>
464 : !> [getCentered](@ref pm_arrayCenter::getCentered)<br>
465 : !> [setCentered](@ref pm_arrayCenter::setCentered)<br>
466 : !> [isFailedGetShellWidth](@ref pm_sysShell::isFailedGetShellWidth)<br>
467 : !> [isFailedGetShellHeight](@ref pm_sysShell::isFailedGetShellHeight)<br>
468 : !>
469 : !> \example{field_type}
470 : !> \include{lineno} example/pm_io/field_type/main.F90
471 : !> \compilef{field_type}
472 : !> \output{field_type}
473 : !> \include{lineno} example/pm_io/field_type/main.out.F90
474 : !>
475 : !> \test
476 : !> [test_pm_io](@ref test_pm_io)
477 : !>
478 : !> \finmain{field_type}
479 : !>
480 : !> \author
481 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
482 : type :: field_type
483 : character(:, SK), allocatable :: string !< \public The scalar `character` of default kind \SK representing the **default left or right delimiter** to be used for wrapping `character` fields before displaying them.
484 : character(:, SK), allocatable :: integer !< \public The scalar `character` of default kind \SK representing the **default left or right delimiter** to be used for wrapping `integer` fields before displaying them.
485 : character(:, SK), allocatable :: logical !< \public The scalar `character` of default kind \SK representing the **default left or right delimiter** to be used for wrapping `logical` fields before displaying them.
486 : character(:, SK), allocatable :: complex !< \public The scalar `character` of default kind \SK representing the **default left or right delimiter** to be used for wrapping `complex` fields before displaying them.
487 : character(:, SK), allocatable :: real !< \public The scalar `character` of default kind \SK representing the **default left or right delimiter** to be used for wrapping `real` fields before displaying them.
488 : end type
489 :
490 : !> \cond excluded
491 : interface field_type
492 : pure elemental module function constructField(string, integer, logical, complex, real) result(field)
493 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
494 : !DEC$ ATTRIBUTES DLLEXPORT :: constructField
495 : #endif
496 : character(*, SK), intent(in), optional :: string, integer, logical, complex, real
497 : type(field_type) :: field
498 : end function
499 : end interface
500 : !> \endcond excluded
501 :
502 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
503 :
504 : !> \brief
505 : !> This is an `abstract` derived type for constructing concrete derived types to
506 : !> distinguish various procedure signatures that require different file forms (e.g., csv, binary, ...).<br>
507 : !>
508 : !> \details
509 : !> This `abstract` derived type is not meant to be directly accessed by the end users.<br>
510 : !> Instead, the end users must use `parameter` objects instantiated from the concrete subclasses of this parent `abstract` derived type.<br>
511 : !>
512 : !> \see
513 : !> [csv](@ref pm_io::csv)<br>
514 : !> [fld](@ref pm_io::fld)<br>
515 : !> [unknown](@ref pm_io::unknown)<br>
516 : !> [csv_type](@ref pm_io::csv_type)<br>
517 : !> [fld_type](@ref pm_io::fld_type)<br>
518 : !> [form_type](@ref pm_io::form_type)<br>
519 : !> [formatted](@ref pm_io::formatted)<br>
520 : !> [unformatted](@ref pm_io::unformatted)<br>
521 : !> [unknown_type](@ref pm_io::unknown_type)<br>
522 : !> [formatted_type](@ref pm_io::formatted_type)<br>
523 : !> [unformatted_type](@ref pm_io::unformatted_type)<br>
524 : !>
525 : !> \finmain{form_type}
526 : !>
527 : !> \author
528 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
529 : type, abstract :: form_type
530 : end type
531 :
532 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
533 :
534 : !> \brief
535 : !> This is a concrete derived type whose instances are exclusively used
536 : !> to signify the unknown file form within an interface of a procedure of the ParaMonte library.<br>
537 : !>
538 : !> \details
539 : !> Objects instantiated from this derived type are exclusively used to differentiate
540 : !> the procedures within the various generic interfaces of the ParaMonte library.<br>
541 : !> As such, this concrete derived type does not contain any attributes.<br>
542 : !>
543 : !> \note
544 : !> This concrete derived type is not meant to be directly accessed by the end users.<br>
545 : !> Instead, the end users should use the specific object parameter instance of this derived type
546 : !> (e.g., [unknown](@ref pm_io::unknown)) as directed by the documentation of the specific procedure they intend to use.<br>
547 : !>
548 : !> \see
549 : !> [csv](@ref pm_io::csv)<br>
550 : !> [fld](@ref pm_io::fld)<br>
551 : !> [unknown](@ref pm_io::unknown)<br>
552 : !> [csv_type](@ref pm_io::csv_type)<br>
553 : !> [fld_type](@ref pm_io::fld_type)<br>
554 : !> [form_type](@ref pm_io::form_type)<br>
555 : !> [formatted](@ref pm_io::formatted)<br>
556 : !> [unformatted](@ref pm_io::unformatted)<br>
557 : !> [unknown_type](@ref pm_io::unknown_type)<br>
558 : !> [formatted_type](@ref pm_io::formatted_type)<br>
559 : !> [unformatted_type](@ref pm_io::unformatted_type)<br>
560 : !>
561 : !> \finmain{unknown_type}
562 : !>
563 : !> \author
564 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
565 : type, extends(form_type) :: unknown_type
566 : end type
567 :
568 : !> \brief
569 : !> This is a scalar `parameter` object of type [unknown_type](@ref pm_io::unknown_type) that is exclusively used
570 : !> to signify the unknown file form within an interface of a procedure of the ParaMonte library.<br>
571 : !>
572 : !> \details
573 : !> For example usage, see the documentation of the target procedure requiring this object.<br>
574 : !>
575 : !> \see
576 : !> [csv](@ref pm_io::csv)<br>
577 : !> [fld](@ref pm_io::fld)<br>
578 : !> [unknown](@ref pm_io::unknown)<br>
579 : !> [csv_type](@ref pm_io::csv_type)<br>
580 : !> [fld_type](@ref pm_io::fld_type)<br>
581 : !> [form_type](@ref pm_io::form_type)<br>
582 : !> [formatted](@ref pm_io::formatted)<br>
583 : !> [unformatted](@ref pm_io::unformatted)<br>
584 : !> [unknown_type](@ref pm_io::unknown_type)<br>
585 : !> [formatted_type](@ref pm_io::formatted_type)<br>
586 : !> [unformatted_type](@ref pm_io::unformatted_type)<br>
587 : !>
588 : !> \finmain{unknown}
589 : !>
590 : !> \author
591 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
592 : type(unknown_type), parameter :: unknown = unknown_type()
593 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
594 : !DIR$ ATTRIBUTES DLLEXPORT :: unknown
595 : #endif
596 :
597 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
598 :
599 : !> \brief
600 : !> This is a concrete derived type whose instances are exclusively used
601 : !> to signify the unformatted (binary) file form within an interface of a procedure of the ParaMonte library.<br>
602 : !>
603 : !> \details
604 : !> Objects instantiated from this derived type are exclusively used to differentiate
605 : !> the procedures within the various generic interfaces of the ParaMonte library.<br>
606 : !> As such, this concrete derived type does not contain any attributes.<br>
607 : !>
608 : !> \note
609 : !> This concrete derived type is not meant to be directly accessed by the end users.<br>
610 : !> Instead, the end users should use the specific object parameter instance of this derived type
611 : !> (e.g., [unformatted](@ref pm_io::unformatted)) as directed by the documentation of the specific procedure they intend to use.<br>
612 : !>
613 : !> \see
614 : !> [csv](@ref pm_io::csv)<br>
615 : !> [fld](@ref pm_io::fld)<br>
616 : !> [unknown](@ref pm_io::unknown)<br>
617 : !> [csv_type](@ref pm_io::csv_type)<br>
618 : !> [fld_type](@ref pm_io::fld_type)<br>
619 : !> [form_type](@ref pm_io::form_type)<br>
620 : !> [formatted](@ref pm_io::formatted)<br>
621 : !> [unformatted](@ref pm_io::unformatted)<br>
622 : !> [unknown_type](@ref pm_io::unknown_type)<br>
623 : !> [formatted_type](@ref pm_io::formatted_type)<br>
624 : !> [unformatted_type](@ref pm_io::unformatted_type)<br>
625 : !>
626 : !> \finmain{unformatted_type}
627 : !>
628 : !> \author
629 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
630 : type, extends(form_type) :: unformatted_type
631 : end type
632 :
633 : !> \brief
634 : !> This is a scalar `parameter` object of type [unformatted_type](@ref pm_io::unformatted_type) that is exclusively used
635 : !> to signify the unformatted (binary) file form within an interface of a procedure of the ParaMonte library.<br>
636 : !>
637 : !> \details
638 : !> For example usage, see the documentation of the target procedure requiring this object.<br>
639 : !>
640 : !> \see
641 : !> [csv](@ref pm_io::csv)<br>
642 : !> [fld](@ref pm_io::fld)<br>
643 : !> [unknown](@ref pm_io::unknown)<br>
644 : !> [csv_type](@ref pm_io::csv_type)<br>
645 : !> [fld_type](@ref pm_io::fld_type)<br>
646 : !> [form_type](@ref pm_io::form_type)<br>
647 : !> [formatted](@ref pm_io::formatted)<br>
648 : !> [unformatted](@ref pm_io::unformatted)<br>
649 : !> [unknown_type](@ref pm_io::unknown_type)<br>
650 : !> [formatted_type](@ref pm_io::formatted_type)<br>
651 : !> [unformatted_type](@ref pm_io::unformatted_type)<br>
652 : !>
653 : !> \finmain{unformatted}
654 : !>
655 : !> \author
656 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
657 : type(unformatted_type), parameter :: unformatted = unformatted_type()
658 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
659 : !DIR$ ATTRIBUTES DLLEXPORT :: unformatted
660 : #endif
661 :
662 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
663 :
664 : !> \brief
665 : !> This is a concrete derived type whose instances are exclusively used
666 : !> to signify the formatted file form within an interface of a procedure of the ParaMonte library.<br>
667 : !>
668 : !> \details
669 : !> Objects instantiated from this derived type are exclusively used to differentiate
670 : !> the procedures within the various generic interfaces of the ParaMonte library.<br>
671 : !> As such, this concrete derived type does not contain any attributes.<br>
672 : !>
673 : !> \note
674 : !> This concrete derived type is not meant to be directly accessed by the end users.<br>
675 : !> Instead, the end users should use the specific object parameter instance of this derived type
676 : !> (e.g., [formatted](@ref pm_io::formatted)) as directed by the documentation of the specific procedure they intend to use.<br>
677 : !>
678 : !> \see
679 : !> [csv](@ref pm_io::csv)<br>
680 : !> [fld](@ref pm_io::fld)<br>
681 : !> [unknown](@ref pm_io::unknown)<br>
682 : !> [csv_type](@ref pm_io::csv_type)<br>
683 : !> [fld_type](@ref pm_io::fld_type)<br>
684 : !> [form_type](@ref pm_io::form_type)<br>
685 : !> [formatted](@ref pm_io::formatted)<br>
686 : !> [unformatted](@ref pm_io::unformatted)<br>
687 : !> [unknown_type](@ref pm_io::unknown_type)<br>
688 : !> [formatted_type](@ref pm_io::formatted_type)<br>
689 : !> [unformatted_type](@ref pm_io::unformatted_type)<br>
690 : !>
691 : !> \finmain{formatted_type}
692 : !>
693 : !> \author
694 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
695 : type, extends(form_type) :: formatted_type
696 : end type
697 :
698 : !> \brief
699 : !> This is a scalar `parameter` object of type [formatted_type](@ref pm_io::formatted_type) that is exclusively used
700 : !> to signify the formatted file form within an interface of a procedure of the ParaMonte library.<br>
701 : !>
702 : !> \details
703 : !> For example usage, see the documentation of the target procedure requiring this object.<br>
704 : !>
705 : !> \see
706 : !> [csv](@ref pm_io::csv)<br>
707 : !> [fld](@ref pm_io::fld)<br>
708 : !> [unknown](@ref pm_io::unknown)<br>
709 : !> [csv_type](@ref pm_io::csv_type)<br>
710 : !> [fld_type](@ref pm_io::fld_type)<br>
711 : !> [form_type](@ref pm_io::form_type)<br>
712 : !> [formatted](@ref pm_io::formatted)<br>
713 : !> [unformatted](@ref pm_io::unformatted)<br>
714 : !> [unknown_type](@ref pm_io::unknown_type)<br>
715 : !> [formatted_type](@ref pm_io::formatted_type)<br>
716 : !> [unformatted_type](@ref pm_io::unformatted_type)<br>
717 : !>
718 : !> \finmain{formatted}
719 : !>
720 : !> \author
721 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
722 : type(formatted_type), parameter :: formatted = formatted_type()
723 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
724 : !DIR$ ATTRIBUTES DLLEXPORT :: formatted
725 : #endif
726 :
727 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
728 :
729 : !> \brief
730 : !> This is a concrete derived type whose instances are exclusively used
731 : !> to signify the CSV file form within an interface of a procedure of the ParaMonte library.<br>
732 : !>
733 : !> \details
734 : !> Objects instantiated from this derived type are exclusively used to differentiate
735 : !> the procedures within the various generic interfaces of the ParaMonte library.<br>
736 : !> As such, this concrete derived type does not contain any attributes.<br>
737 : !>
738 : !> \note
739 : !> This concrete derived type is not meant to be directly accessed by the end users.<br>
740 : !> Instead, the end users should use the specific object parameter instance of this derived type
741 : !> (e.g., [csv](@ref pm_io::csv)) as directed by the documentation of the specific procedure they intend to use.<br>
742 : !>
743 : !> \see
744 : !> [csv](@ref pm_io::csv)<br>
745 : !> [fld](@ref pm_io::fld)<br>
746 : !> [unknown](@ref pm_io::unknown)<br>
747 : !> [csv_type](@ref pm_io::csv_type)<br>
748 : !> [fld_type](@ref pm_io::fld_type)<br>
749 : !> [form_type](@ref pm_io::form_type)<br>
750 : !> [formatted](@ref pm_io::formatted)<br>
751 : !> [unformatted](@ref pm_io::unformatted)<br>
752 : !> [unknown_type](@ref pm_io::unknown_type)<br>
753 : !> [formatted_type](@ref pm_io::formatted_type)<br>
754 : !> [unformatted_type](@ref pm_io::unformatted_type)<br>
755 : !>
756 : !> \finmain{csv_type}
757 : !>
758 : !> \author
759 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
760 : type, extends(formatted_type) :: csv_type
761 : end type
762 :
763 : !> \brief
764 : !> This is a scalar `parameter` object of type [csv_type](@ref pm_io::csv_type) that is exclusively used
765 : !> to signify the CSV file form within an interface of a procedure of the ParaMonte library.<br>
766 : !>
767 : !> \details
768 : !> For example usage, see the documentation of the target procedure requiring this object.<br>
769 : !>
770 : !> \see
771 : !> [csv](@ref pm_io::csv)<br>
772 : !> [fld](@ref pm_io::fld)<br>
773 : !> [unknown](@ref pm_io::unknown)<br>
774 : !> [csv_type](@ref pm_io::csv_type)<br>
775 : !> [fld_type](@ref pm_io::fld_type)<br>
776 : !> [form_type](@ref pm_io::form_type)<br>
777 : !> [formatted](@ref pm_io::formatted)<br>
778 : !> [unformatted](@ref pm_io::unformatted)<br>
779 : !> [unknown_type](@ref pm_io::unknown_type)<br>
780 : !> [formatted_type](@ref pm_io::formatted_type)<br>
781 : !> [unformatted_type](@ref pm_io::unformatted_type)<br>
782 : !>
783 : !> \finmain{csv}
784 : !>
785 : !> \author
786 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
787 : type(csv_type), parameter :: csv = csv_type()
788 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
789 : !DIR$ ATTRIBUTES DLLEXPORT :: csv
790 : #endif
791 :
792 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
793 :
794 : !> \brief
795 : !> This is a concrete derived type whose instances are exclusively used
796 : !> to signify the Fortran-list-directed file form within an interface of a procedure of the ParaMonte library.<br>
797 : !>
798 : !> \details
799 : !> Objects instantiated from this derived type are exclusively used to differentiate
800 : !> the procedures within the various generic interfaces of the ParaMonte library.<br>
801 : !> As such, this concrete derived type does not contain any attributes.<br>
802 : !>
803 : !> \note
804 : !> This concrete derived type is not meant to be directly accessed by the end users.<br>
805 : !> Instead, the end users should use the specific object parameter instance of this derived type
806 : !> (e.g., [fld](@ref pm_io::fld)) as directed by the documentation of the specific procedure they intend to use.<br>
807 : !>
808 : !> \see
809 : !> [csv](@ref pm_io::csv)<br>
810 : !> [fld](@ref pm_io::fld)<br>
811 : !> [unknown](@ref pm_io::unknown)<br>
812 : !> [csv_type](@ref pm_io::csv_type)<br>
813 : !> [fld_type](@ref pm_io::fld_type)<br>
814 : !> [form_type](@ref pm_io::form_type)<br>
815 : !> [formatted](@ref pm_io::formatted)<br>
816 : !> [unformatted](@ref pm_io::unformatted)<br>
817 : !> [unknown_type](@ref pm_io::unknown_type)<br>
818 : !> [formatted_type](@ref pm_io::formatted_type)<br>
819 : !> [unformatted_type](@ref pm_io::unformatted_type)<br>
820 : !>
821 : !> \finmain{fld_type}
822 : !>
823 : !> \author
824 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
825 : type, extends(formatted_type) :: fld_type
826 : end type
827 :
828 : !> \brief
829 : !> This is a scalar `parameter` object of type [fld_type](@ref pm_io::fld_type) that is exclusively used
830 : !> to signify the Fortran-list-directed file form within an interface of a procedure of the ParaMonte library.<br>
831 : !>
832 : !> \details
833 : !> For example usage, see the documentation of the target procedure requiring this object.<br>
834 : !>
835 : !> \see
836 : !> [csv](@ref pm_io::csv)<br>
837 : !> [fld](@ref pm_io::fld)<br>
838 : !> [unknown](@ref pm_io::unknown)<br>
839 : !> [csv_type](@ref pm_io::csv_type)<br>
840 : !> [fld_type](@ref pm_io::fld_type)<br>
841 : !> [form_type](@ref pm_io::form_type)<br>
842 : !> [formatted](@ref pm_io::formatted)<br>
843 : !> [unformatted](@ref pm_io::unformatted)<br>
844 : !> [unknown_type](@ref pm_io::unknown_type)<br>
845 : !> [formatted_type](@ref pm_io::formatted_type)<br>
846 : !> [unformatted_type](@ref pm_io::unformatted_type)<br>
847 : !>
848 : !> \finmain{fld}
849 : !>
850 : !> \author
851 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
852 : type(fld_type), parameter :: fld = fld_type()
853 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
854 : !DIR$ ATTRIBUTES DLLEXPORT :: fld
855 : #endif
856 :
857 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
858 :
859 : ! > \brief
860 : ! > Generate and return the maximum record length (`recl`) attribute of a `sequential` access file,
861 : ! > or a user-specified connected file (or unit).
862 : ! >
863 : ! > \param[in] file : The input scalar of type `character` of default kind \SK representing the
864 : ! > path of a file whose `recl` is to be returned, if it is already opened.<br>
865 : ! > (**optional**, must not be present if `unit` is present.)
866 : ! > \param[in] unit : The input scalar of type `integer` of default kind \IK representing the
867 : ! > unit of a file whose `recl` is to be returned, if it is already opened.<br>
868 : ! > (**optional**, must not be present if `file` is present.)
869 : ! >
870 : ! > \return
871 : ! > `recl` : The output scalar of type `integer` of default kind \IK representing the maximum record length of
872 : ! > the file specified via the input `file` or `unit` arguments. If both `file` and `unit` are missing,
873 : ! > then the `recl` of the a temporary `sequential` access file with `status = "scratch"` will be returned.
874 : ! >
875 : ! > \interface{getRecl}
876 : ! > \code{.F90}
877 : ! >
878 : ! > use pm_io, only: getRecl
879 : ! >
880 : ! > recl = getRecl()
881 : ! > recl = getRecl(file)
882 : ! > recl = getRecl(unit)
883 : ! >
884 : ! > \endcode
885 : ! >
886 : ! > \remark
887 : ! > The default `recl` for a `sequential`-access `scratch` file is<br>
888 : ! > -# `huge(0)` under the GNU Fortran compiler.
889 : ! > -# `132` under the Intel Fortran compiler.
890 : ! >
891 : ! > \impure
892 : ! >
893 : ! > \elemental
894 : ! >
895 : ! > \see
896 : ! > [getFileUnit](@ref pm_io::getFileUnit)<br>
897 : ! > [isPreconnected](@ref pm_io::isPreconnected)<br>
898 : ! >
899 : ! > \example{getRecl}
900 : ! > \include{lineno} example/pm_io/getRecl/main.F90
901 : ! > \compile{getRecl}
902 : ! > \output{getRecl}
903 : ! > \include{lineno} example/pm_io/getRecl/main.out.F90
904 : ! > \test
905 : ! > [test_pm_io](@ref test_pm_io)
906 : ! >
907 : ! > \finmain{getRecl}
908 : ! >
909 : ! > \author
910 : ! > Amir Shahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
911 : ! interface getRecl
912 : !
913 : ! impure elemental function getRecl() result(recl)
914 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
915 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getRecl
916 : !#endif
917 : ! use pm_kind, only: IK
918 : ! integer(IK) :: recl
919 : ! end function
920 : !
921 : ! impure elemental function getReclFile(file) result(recl)
922 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
923 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getReclFile
924 : !#endif
925 : ! use pm_kind, only: IK
926 : ! character(*, SK), intent(in) :: file
927 : ! integer(IK) :: recl
928 : ! end function
929 : !
930 : ! impure elemental function getReclUnit(unit) result(recl)
931 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
932 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getReclUnit
933 : !#endif
934 : ! use pm_kind, only: IK
935 : ! integer(IK) , intent(in) :: unit
936 : ! integer(IK) :: recl
937 : ! end function
938 : !
939 : ! end interface
940 :
941 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
942 :
943 : !> \brief
944 : !> This is the [openArg_type](@ref pm_io::openArg_type) class containing
945 : !> arguments that can be passed to the `open()` intrinsic Fortran statement.
946 : !>
947 : !> \details
948 : !> This type is merely meant to provide a convenient storage for file attributes that might be needed at the time of opening files for IO.<br>
949 : !> This type is overloaded with `constructOpenArg()` to verify the consistency of the structure components values.<br>
950 : !> The following optional arguments of the `open()` statement are deliberately excluded from this derived type:<br>
951 : !> <ol>
952 : !> <li> `newunit` : There is no need for a dedicated component with this name since it is only relevant to calling the `open()` statement.<br>
953 : !> <li> `err` : There is no need for a dedicated component with this name since it is rarely used in modern Fortran.<br>
954 : !> </ol>
955 : !>
956 : !> \interface{openArg_type}
957 : !> \code{.F90}
958 : !>
959 : !> use pm_io, only: openArg_type
960 : !> type(openArg_type) :: openArg
961 : !>
962 : !> openArg = openArg_type ( access = access &
963 : !> , action = action &
964 : !> , asynchronous = asynchronous &
965 : !> , blank = blank &
966 : !> , decimal = decimal &
967 : !> , delim = delim &
968 : !> , encoding = encoding &
969 : !> , form = form &
970 : !> , iostat = iostat &
971 : !> , pad = pad &
972 : !> , position = position &
973 : !> , recl = recl &
974 : !> , round = round &
975 : !> , sign = sign &
976 : !> , status = status &
977 : !> , unit = unit &
978 : !> , file = file &
979 : !> , iostat = iostat &
980 : !> , iomsg = iomsg &
981 : !> )
982 : !>
983 : !> \endcode
984 : !>
985 : !> \warning
986 : !> All ASCII English alphabets in the input `character` arguments to the constructor of the class must be **lower-case**.<br>
987 : !> This is critical as the cases of characters are not converted within the constructor before comparisons are made.<br>
988 : !> The lower-case version of the input arguments can be obtained by calling [getStrLower](@ref pm_strASCII::getStrLower)
989 : !> or [setStrLower](@ref pm_strASCII::setStrLower).<br>
990 : !>
991 : !> \remark
992 : !> The default `recl` for a `sequential`-access `scratch` file is<br>
993 : !> -# `huge(0)` under the GNU Fortran compiler.<br>
994 : !> -# `132` under the Intel Fortran compiler.<br>
995 : !>
996 : !> \see
997 : !> [isPreconnected](@ref pm_io::isPreconnected)<br>
998 : !>
999 : !> \example{openArg_type}
1000 : !> \include{lineno} example/pm_io/openArg_type/main.F90
1001 : !> \compilef{openArg_type}
1002 : !> \output{openArg_type}
1003 : !> \include{lineno} example/pm_io/openArg_type/main.out.F90
1004 : !>
1005 : !> \test
1006 : !> [test_pm_io](@ref test_pm_io)
1007 : !>
1008 : !> \bug
1009 : !> \status \unresolved
1010 : !> \source \ifort{< 2021.10.0 20230609}
1011 : !> \desc
1012 : !> The \ifort returns a runtime error in Microsoft WSL,
1013 : !> \code{.sh}
1014 : !> forrtl: severe (173): A pointer passed to DEALLOCATE points to an object that cannot be deallocated
1015 : !> \endcode
1016 : !> within the submodule procedure `isFalseAssertion()` which also persisted when the procedure was in the module.<br>
1017 : !> This happens only when the library is built with script flag `--mem heap` enabling heap allocation and only when specified with `--build release`.<br>
1018 : !> This implies the cause of the error likely has its roots in the compilers optimizations.<br>
1019 : !> It turns out that the root cause of the runtime error was the `optional` argument `iomsg` with `intent(inout)`.<br>
1020 : !> \remedy
1021 : !> The procedure `isFalseAssertion()` is now commented out and all error handlings are done painfully manually.<br>
1022 : !> However, this did not help as the same error persisted and the root cause was identified to be the `iomsg` argument.<br>
1023 : !> As such, this optional argument is now removed and the error message, if any, is returned in the output object component `iomsg`.<br>
1024 : !>
1025 : !> \bug
1026 : !> \status \unresolved
1027 : !> \source \gfortran{< 12}
1028 : !> \desc
1029 : !> The \gfortran cannot compile interfaces with dummy arguments `character(:), intent(out), allocatable, optional`.<br>
1030 : !> This has created a redundancy for error handling in this procedure by requiring also to pass `iostat` to control the occurrence of an error.<br>
1031 : !> Without this bug, the allocation status of `iomsg` could have been used to signal no occurrence of error.<br>
1032 : !> \remedy
1033 : !> All `iomsg` arguments are now assumed-length strings.<br>
1034 : !>
1035 : !> \finmain{openArg_type}
1036 : !>
1037 : !> \author
1038 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
1039 : type :: openArg_type
1040 : character(10,SK) :: access = SK_"sequential" !< \public A scalar `character` of default kind \SK of length `10` containing the `access` attribute of the file: `"sequential"` (default), `"direct"`, `"stream"`
1041 : character( 9,SK) :: action = SK_"readwrite" !< \public A scalar `character` of default kind \SK of length `9` containing the `action` attribute of the file: `"readwrite"` (default), `"read"`, `"write"`
1042 : character( 3,SK) :: asynchronous = SK_"no" !< \public A scalar `character` of default kind \SK of length `3` containing the `asynchronous` attribute of the file: `"no"` (default), `"yes"`
1043 : character( 4,SK) :: blank = SK_"null" !< \public A scalar `character` of default kind \SK of length `4` containing the `blank` attribute of the file: `"null"` (default), `"yes"`
1044 : character( 5,SK) :: decimal = SK_"point" !< \public A scalar `character` of default kind \SK of length `5` containing the `decimal` attribute of the file: `"point"` (default), `"comma"`
1045 : character(10,SK) :: delim = SK_"none" !< \public A scalar `character` of default kind \SK of length `10` containing the `delim` attribute of the file: `"none"` (default), `"apostrophe"`, `"quote"`
1046 : character( 7,SK) :: encoding = SK_"default" !< \public A scalar `character` of default kind \SK of length `7` containing the `encoding` attribute of the file: `"default"` (default), `"utf-8"`
1047 : character(11,SK) :: form = SK_"formatted" !< \public A scalar `character` of default kind \SK of length `11` containing the `delim` attribute of the file: `"formatted"` (default), `"unformatted"`
1048 : integer(IK) :: iostat = 0_IK !< \public A scalar `integer` of default kind \IK containing the `iostat` attribute of the file: default = `0_IK`. The processor sets it to a positive value if a runtime IO error occurs.
1049 : character( 3,SK) :: pad = SK_"yes" !< \public A scalar `character` of default kind \SK of length `3` containing the `pad` attribute of the file: `"yes"` (default), `"no"`
1050 : character( 6,SK) :: position = SK_"asis" !< \public A scalar `character` of default kind \SK of length `6` containing the `position` attribute of the file: `"asis"` (default), `"rewind"`, `"append"`
1051 : integer(IK) :: recl = huge(0_IK) !< \public A scalar `integer` of default kind \IK containing the `recl` attribute of the file. It is mandatory for direct access files.
1052 : character(17,SK) :: round = SK_"processor_defined" !< \public A scalar `character` of default kind \SK of length `17` containing the `round` attribute of the file: `"processor_defined"` (default), `"compatible"`, `"nearest"`, `"zero"`, `"down"`, `"up"`
1053 : character(17,SK) :: sign = SK_"processor_defined" !< \public A scalar `character` of default kind \SK of length `17` containing the `sign` attribute of the file: `"processor_defined"` (default), `"suppress"`, `"plus"`
1054 : character( 7,SK) :: status = SK_"unknown" !< \public A scalar `character` of default kind \SK of length `7` containing the `status` attribute of the file: `"unkown"` (default), `"scratch"`, `"replace"`, `"new"`, `"old"`
1055 : integer(IK) :: unit = -1_IK !< \public A scalar `integer` of default kind \IK containing the `unit` attribute of the file. It is a negative number if set by the processor, otherwise it must be positive.
1056 : character(:, SK), allocatable :: iomsg !< \public A scalar `character` of default kind \SK of length `:` containing the error message if an error occurs.
1057 : character(:, SK), allocatable :: file !< \public A scalar `character` of default kind \SK of length `:` containing the file path.
1058 : end type
1059 :
1060 :
1061 : !> \brief
1062 : !> Generate and return an object of class [openArg_type](@ref pm_io::openArg_type)
1063 : !> containing arguments that can be passed to the `open()` intrinsic Fortran statement.
1064 : !>
1065 : !> \details
1066 : !> This is the constructor of the type [openArg_type](@ref pm_io::openArg_type) to verify the consistency of the structure components values.<br>
1067 : !> The following optional arguments of the `open()` statement are deliberately excluded from this derived type:<br>
1068 : !> <ol>
1069 : !> <li> `newunit` : There is no need for a dedicated component with this name since it is only relevant to calling the `open()` statement.<br>
1070 : !> <li> `err` : There is no need for a dedicated component with this name since it is rarely used in modern Fortran.<br>
1071 : !> </ol>
1072 : !>
1073 : !> \param[in] access : The input scalar `character` of default kind \SK containing the `access` attribute of the file: `"sequential"` (default), `"direct"`, `"stream"`.<br>
1074 : !> (**optional**, default = `SK_"sequential"`)
1075 : !> \param[in] action : The input scalar `character` of default kind \SK containing the `action` attribute of the file: `"readwrite"` (default), `"read"`, `"write"`.<br>
1076 : !> (**optional**, default = `SK_"readwrite"`)
1077 : !> \param[in] asynchronous : The input scalar `character` of default kind \SK containing the `asynchronous` attribute of the file: `"no"` (default), `"yes"`.<br>
1078 : !> (**optional**, default = `SK_"no"`)
1079 : !> \param[in] blank : The input scalar `character` of default kind \SK containing the `blank` attribute of the file: `"null"` (default), `"yes"`.<br>
1080 : !> (**optional**, default = `SK_"null"`)
1081 : !> \param[in] decimal : The input scalar `character` of default kind \SK containing the `decimal` attribute of the file: `"point"` (default), `"comma"`.<br>
1082 : !> (**optional**, default = `SK_"point"`)
1083 : !> \param[in] delim : The input scalar `character` of default kind \SK containing the `delim` attribute of the file: `"none"` (default), `"apostrophe"`, `"quote"`.<br>
1084 : !> (**optional**, default = `SK_"none"`)
1085 : !> \param[in] encoding : The input scalar `character` of default kind \SK containing the `encoding` attribute of the file: `"default"` (default), `"utf-8"`.<br>
1086 : !> (**optional**, default = `SK_"default"`)
1087 : !> \param[in] form : The input scalar `character` of default kind \SK containing the `delim` attribute of the file: `"formatted"` (default), `"unformatted"`.<br>
1088 : !> (**optional**, default = `SK_"formatted"`)
1089 : !> \param[in] pad : The input scalar `character` of default kind \SK containing the `pad` attribute of the file: `"yes"` (default), `"no"`.<br>
1090 : !> (**optional**, default = `SK_"yes"`)
1091 : !> \param[in] position : The input scalar `character` of default kind \SK containing the `position` attribute of the file: `"asis"` (default), `"rewind"`, `"append"`.<br>
1092 : !> (**optional**, default = `SK_"asis"`)
1093 : !> \param[in] recl : The input scalar `integer` of default kind \IK containing the `recl` attribute of the file. It is mandatory for direct access files.<br>
1094 : !> (**optional**, default = ``. It can be specified **if and only if** the condition `access == SK_"sequential"` for the specified input argument `access`.)
1095 : !> \param[in] round : The input scalar `character` of default kind \SK containing the `round` attribute of the file: `"processor_defined"` (default), `"compatible"`, `"nearest"`, `"zero"`, `"down"`, `"up"`.<br>
1096 : !> (**optional**, default = `SK_"processor_defined"`)
1097 : !> \param[in] sign : The input scalar `character` of default kind \SK containing the `sign` attribute of the file: `"processor_defined"` (default), `"suppress"`, `"plus"`.<br>
1098 : !> (**optional**, default = `SK_"processor_defined"`)
1099 : !> \param[in] status : The input scalar `character` of default kind \SK containing the `status` attribute of the file: `"unkown"` (default), `"scratch"`, `"replace"`, `"new"`, `"old"`.<br>
1100 : !> (**optional**, default = `SK_"unknown"`)
1101 : !> \param[in] unit : The input scalar `integer` of default kind \IK containing the `unit` attribute of the file.<br>
1102 : !> It is a negative number if set by the processor, otherwise it must be positive.<br>
1103 : !> As per the Fortran standard, `-1` is reserved to represent a file that is not connected.<br>
1104 : !> Therefore, if `-1` is specified as input value, it will be overwritten with a random preconnected unit number.<br>
1105 : !> (**optional**, default = [getFileUnit()](@ref pm_io::getFileUnit))
1106 : !> \param[in] file : The input scalar `character` of default kind \SK containing the file path.<br>
1107 : !> (**optional**. If missing, the `file` component of the output object remains unallocated.)
1108 : !> \param[out] iostat : The output scalar `integer` of default kind \IK.<br>
1109 : !> <ol>
1110 : !> <li> If present and no error occurs, it is set to `0` on output.<br>
1111 : !> <li> If present and an error occurs (e.g., if the input argument values are wrong or inconsistent), it is set to a positive non-zero value.<br>
1112 : !> In such a case, the input `optional` argument `iomsg`, or if missing, the component `iomsg` of the output object of type [openArg_type](@ref pm_io::openArg_type)
1113 : !> will be set to a descriptive message describing the nature of the error that has occurred.<br>
1114 : !> <li> If missing and an error occurs, then the program halts by calling `error stop`
1115 : !> followed by the relevant error message.<br>
1116 : !> </ol>
1117 : !> (**optional**.)
1118 : !> \param[inout] iomsg : The input/output scalar `character` of default kind \SK whose length type parameter and its contents will be used to set that of the corresponding component of the output object.<br>
1119 : !> Additionally, if a runtime error occurs while constructing the output object, `iomsg` will be set to a descriptive message about the nature of the error occurred.<br>
1120 : !> (**optional**, default = `repeat(" ", LEN_IOMSG)` where [LEN_IOMSG](@ref pm_io::LEN_IOMSG) is compile-time constant.)
1121 : !>
1122 : !> \return
1123 : !> `openArg` : The output scalar object of type [openArg_type](@ref pm_io::openArg_type) whose components
1124 : !> are set to the corresponding input values or otherwise set to an appropriate default value.
1125 : !>
1126 : !> \interface{constructOpenArg}
1127 : !> \code{.F90}
1128 : !>
1129 : !> use pm_io, only: openArg_type
1130 : !> type(openArg_type) :: openArg
1131 : !>
1132 : !> openArg = openArg_type ( access = access &
1133 : !> , action = action &
1134 : !> , asynchronous = asynchronous &
1135 : !> , blank = blank &
1136 : !> , decimal = decimal &
1137 : !> , delim = delim &
1138 : !> , encoding = encoding &
1139 : !> , form = form &
1140 : !> , pad = pad &
1141 : !> , position = position &
1142 : !> , recl = recl &
1143 : !> , round = round &
1144 : !> , sign = sign &
1145 : !> , status = status &
1146 : !> , unit = unit &
1147 : !> , file = file &
1148 : !> , iostat = iostat &
1149 : !> , iomsg = iomsg &
1150 : !> )
1151 : !>
1152 : !> \endcode
1153 : !>
1154 : !> \warning
1155 : !> All ASCII English alphabets in the input `character` arguments to this procedure must be **lower-case**.<br>
1156 : !> This is critical as the cases of characters are not converted within the constructor before comparisons are made.<br>
1157 : !> The lower-case version of the input arguments can be obtained by calling [getStrLower](@ref pm_strASCII::getStrLower)
1158 : !> or [setStrLower](@ref pm_strASCII::setStrLower).<br>
1159 : !>
1160 : !> \remark
1161 : !> If the input argument `unit` is missing, then the `unit` component of the output object is set to the unit of the specified `file` if it is present, exists, and is connected.<br>
1162 : !> Otherwise, the `unit` component is set to a unique positive number that is not already associated with any other connected file.<br>
1163 : !>
1164 : !> \remark
1165 : !> The default `recl` for a `sequential`-access `scratch` file is<br>
1166 : !> -# `huge(0)` under the GNU Fortran compiler.<br>
1167 : !> -# `132` under the Intel Fortran compiler.<br>
1168 : !>
1169 : !> \impure
1170 : !>
1171 : !> \elemental
1172 : !>
1173 : !> \see
1174 : !> [getFileUnit](@ref pm_io::getFileUnit)<br>
1175 : !> [isPreconnected](@ref pm_io::isPreconnected)<br>
1176 : !>
1177 : !> \example{constructOpenArg}
1178 : !> \include{lineno} example/pm_io/openArg_type/main.F90
1179 : !> \compilef{constructOpenArg}
1180 : !> \output{constructOpenArg}
1181 : !> \include{lineno} example/pm_io/openArg_type/main.out.F90
1182 : !>
1183 : !> \test
1184 : !> [test_pm_io](@ref test_pm_io)
1185 : !>
1186 : !> \finmain{constructOpenArg}
1187 : !>
1188 : !> \author
1189 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
1190 : interface openArg_type
1191 : impure elemental module function constructOpenArg ( access &
1192 : , action &
1193 : , asynchronous &
1194 : , blank &
1195 : , decimal &
1196 : , delim &
1197 : , encoding &
1198 : , form &
1199 : , pad &
1200 : , position &
1201 : , recl &
1202 : , round &
1203 : , sign &
1204 : , status &
1205 : , unit &
1206 : , file &
1207 : , iostat &
1208 : , iomsg &
1209 : ) result(openArg)
1210 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1211 : !DEC$ ATTRIBUTES DLLEXPORT :: constructOpenArg
1212 : #endif
1213 : character(*, SK), intent(in) , optional :: access
1214 : character(*, SK), intent(in) , optional :: action
1215 : character(*, SK), intent(in) , optional :: asynchronous
1216 : character(*, SK), intent(in) , optional :: blank
1217 : character(*, SK), intent(in) , optional :: decimal
1218 : character(*, SK), intent(in) , optional :: delim
1219 : character(*, SK), intent(in) , optional :: encoding
1220 : character(*, SK), intent(in) , optional :: form
1221 : character(*, SK), intent(in) , optional :: pad
1222 : character(*, SK), intent(in) , optional :: position
1223 : integer(IK) , intent(in) , optional :: recl
1224 : character(*, SK), intent(in) , optional :: round
1225 : character(*, SK), intent(in) , optional :: sign
1226 : character(*, SK), intent(in) , optional :: status
1227 : integer(IK) , intent(in) , optional :: unit
1228 : character(*, SK), intent(in) , optional :: file
1229 : character(*, SK), intent(inout) , optional :: iomsg
1230 : integer(IK) , intent(out) , optional :: iostat
1231 : type(openArg_type) :: openArg
1232 : end function
1233 : end interface
1234 :
1235 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1236 :
1237 : !> \brief
1238 : !> Generate and return `.true.` if the input `file` (or `unit`) is connected to a `unit` (or `file`), and `.false.` otherwise.
1239 : !>
1240 : !> \details
1241 : !> This generic functional interface is a simple convenience wrapper around the Fortran intrinsic `inquire()` statement.
1242 : !>
1243 : !> \param[in] unit : The input scalar, or array of arbitrary rank, of type `integer` of default kind \IK representing the file unit whose connection status is to be checked.<br>
1244 : !> (**optional**, it must be present <b>if and only if</b> the input argument `file` is missing.)
1245 : !> \param[in] file : The input scalar, or array of arbitrary rank, of type `character` of default kind \SK representing the file path whose connection status is to be checked.<br>
1246 : !> (**optional**, it must be present <b>if and only if</b> the input argument `unit` is missing.)
1247 : !>
1248 : !> \return
1249 : !> `opened` : The output scalar, or array of same rank, shape, and size as the input array-like argument, of type `logical` of default kind \LK.<br>
1250 : !> It is `.true.` <b>if and only if</b> the input `unit` or `file` is already connected (opened).<br>
1251 : !> Otherwise, it is `.false.`.<br>
1252 : !>
1253 : !> \interface{isOpen}
1254 : !> \code{.F90}
1255 : !>
1256 : !> use pm_io, only: isOpen
1257 : !> use pm_kind, only: LK
1258 : !> logical(LK) :: opened
1259 : !>
1260 : !> opened = isOpen(unit)
1261 : !> opened = isOpen(file)
1262 : !>
1263 : !> \endcode
1264 : !>
1265 : !> \warning
1266 : !> This procedure does not gracefully handle unexpected runtime errors.<br>
1267 : !> If error handling is needed, use the Fortran intrinsic `inquire()` with arguments `iostat` and `iomsg` present.<br>
1268 : !>
1269 : !> \impure
1270 : !>
1271 : !> \elemental
1272 : !>
1273 : !> \see
1274 : !> [isPreconnected](@ref pm_io::isPreconnected)<br>
1275 : !>
1276 : !> \example{isOpen}
1277 : !> \include{lineno} example/pm_io/isOpen/main.F90
1278 : !> \compilef{isOpen}
1279 : !> \output{isOpen}
1280 : !> \include{lineno} example/pm_io/isOpen/main.out.F90
1281 : !>
1282 : !> \test
1283 : !> [test_pm_io](@ref test_pm_io)
1284 : !>
1285 : !> \finmain{isOpen}
1286 : !>
1287 : !> \author
1288 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
1289 : interface isOpen
1290 :
1291 : impure elemental module function isOpenUnit(unit) result(opened)
1292 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1293 : !DEC$ ATTRIBUTES DLLEXPORT :: isOpenUnit
1294 : #endif
1295 : integer(IK) , intent(in) :: unit
1296 : logical(LK) :: opened
1297 : end function
1298 :
1299 : impure elemental module function isOpenFile(file) result(opened)
1300 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1301 : !DEC$ ATTRIBUTES DLLEXPORT :: isOpenFile
1302 : #endif
1303 : character(*, SK), intent(in) :: file
1304 : logical(LK) :: opened
1305 : end function
1306 :
1307 : ! impure elemental module function isOpenUnitII(unit, iostat, iomsg) result(opened)
1308 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1309 : ! !DEC$ ATTRIBUTES DLLEXPORT :: isOpenUnitII
1310 : !#endif
1311 : ! integer(IK) , intent(in) :: unit
1312 : ! integer(IK) , intent(out) :: iostat
1313 : ! character(*, SK), intent(inout) :: iomsg
1314 : ! logical(LK) :: opened
1315 : ! end function
1316 : !
1317 : ! impure elemental module function isOpenFileII(file, iostat, iomsg) result(opened)
1318 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1319 : ! !DEC$ ATTRIBUTES DLLEXPORT :: isOpenFileII
1320 : !#endif
1321 : ! character(*, SK), intent(in) :: file
1322 : ! integer(IK) , intent(out) :: iostat
1323 : ! character(*, SK), intent(inout) :: iomsg
1324 : ! logical(LK) :: opened
1325 : ! end function
1326 :
1327 : end interface
1328 :
1329 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1330 :
1331 : !> \brief
1332 : !> Generate and return the `action` attribute of the input `file` or `unit`.
1333 : !>
1334 : !> \details
1335 : !> The `action` attribute of a connected `file` or `unit` is returned by the Fortran intrinsic `inquire()` statement.<br>
1336 : !> Possible values are, `"READ"`, `"WRITE"`, `"READWRITE"`. If there is no connection, the value returned is `"UNDEFINED"`.<br>
1337 : !>
1338 : !> \param[in] unit : The input scalar, or array of arbitrary rank, of type `integer` of default kind \IK representing the file unit whose `action` attribute is to be returned.<br>
1339 : !> (**optional**, it must be present <b>if and only if</b> the input argument `file` is missing.)
1340 : !> \param[in] file : The input scalar, or array of arbitrary rank, of type `character` of default kind \SK representing the file path whose `action` attribute is to be returned.<br>
1341 : !> (**optional**, it must be present <b>if and only if</b> the input argument `unit` is missing.)
1342 : !>
1343 : !> \return
1344 : !> `action` : The output scalar, or array of same rank, shape, and size as the input array-like argument,
1345 : !> of type `character` of default kind \SK of length type parameter `9`, containing the `action` attribute of the input `file` or `unit`.<br>
1346 : !> If the length of the output value is less than `9`, it is left-adjusted and padded with blanks.<br>
1347 : !>
1348 : !> \interface{getAction}
1349 : !> \code{.F90}
1350 : !>
1351 : !> use pm_kind, only: SK
1352 : !> use pm_io, only: getAction
1353 : !> character(9, SK) :: action
1354 : !>
1355 : !> action = getAction(unit)
1356 : !> action = getAction(file)
1357 : !>
1358 : !> \endcode
1359 : !>
1360 : !> \warning
1361 : !> This procedure does not gracefully handle unexpected runtime errors.<br>
1362 : !> If error handling is needed, use the Fortran intrinsic `inquire()` with arguments `iostat` and `iomsg` present.<br>
1363 : !>
1364 : !> \impure
1365 : !>
1366 : !> \elemental
1367 : !>
1368 : !> \see
1369 : !> [isOpen](@ref pm_io::isOpen)<br>
1370 : !>
1371 : !> \example{getAction}
1372 : !> \include{lineno} example/pm_io/getAction/main.F90
1373 : !> \compilef{getAction}
1374 : !> \output{getAction}
1375 : !> \include{lineno} example/pm_io/getAction/main.out.F90
1376 : !>
1377 : !> \test
1378 : !> [test_pm_io](@ref test_pm_io)
1379 : !>
1380 : !> \finmain{getAction}
1381 : !>
1382 : !> \author
1383 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
1384 : interface getAction
1385 :
1386 : impure elemental module function getActionUnit(unit) result(action)
1387 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1388 : !DEC$ ATTRIBUTES DLLEXPORT :: getActionUnit
1389 : #endif
1390 : integer(IK) , intent(in) :: unit
1391 : character(9, SK) :: action
1392 : end function
1393 :
1394 : impure elemental module function getActionFile(file) result(action)
1395 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1396 : !DEC$ ATTRIBUTES DLLEXPORT :: getActionFile
1397 : #endif
1398 : character(*, SK), intent(in) :: file
1399 : character(9, SK) :: action
1400 : end function
1401 :
1402 : end interface
1403 :
1404 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1405 :
1406 : !> \brief
1407 : !> Generate and return the number of records in the <i>entire</i> **record-oriented** input file.
1408 : !>
1409 : !> \details
1410 : !> If any error occurs during the IO and the output `iostat` argument is missing, the program will halt by calling `error stop`.<br>
1411 : !> Within the procedures,<br>
1412 : !> <ol>
1413 : !> <li> If the input argument `file` is present, the file will be opened on input and closed before returning the control.<br>
1414 : !> <li> If the input argument `unit` is present, the file is assumed to opened already, **will be rewound to the file beginning**,
1415 : !> and will be positioned after the last record in file **without being closed** on return.<br>
1416 : !> </ol>
1417 : !>
1418 : !> See [getCountRecordLeft](@ref pm_io::getCountRecordLeft) for counting the number of records **left** in an already-opened file.<br>
1419 : !>
1420 : !> \param[in] file : The input scalar `character` of default kind \SK containing the file path, whose number of records will be returned.<br>
1421 : !> The input `file` <b>must not be connected</b> prior to calling this procedure.<br>
1422 : !> If the file is already connected, specify the file unit as input `unit` argument.<br>
1423 : !> (**optional**. It must be present <b>if and only if</b> the input argument `unit` is missing.)
1424 : !> \param[in] unit : The input scalar `integer` of default kind \IK containing the connected file unit, whose number of records will be returned.<br>
1425 : !> The input `unit` <b>must be connected</b> prior to calling this procedure.<br>
1426 : !> If the unit is not already connected, specify the file path as the input `file` argument.<br>
1427 : !> (**optional**. It must be present <b>if and only if</b> the input argument `unit` is missing.)
1428 : !> \param isCountable : The `external` user-specified function that takes one input **scalar** `character` of default kind \SK of arbitrary length type parameter
1429 : !> containing the most recent record that has been read from the input file.<br>
1430 : !> It returns a scalar `logical` of default kind \LK that is `.true.` <b>if and only if</b> the input `record` should be included in counting.<br>
1431 : !> The following illustrates the generic interface of `isCountable`,
1432 : !> \code{.F90}
1433 : !> function isCountable(record) result(countable)
1434 : !> use pm_kind, only: LK, SK
1435 : !> character(*, SK), intent(in) :: record
1436 : !> logical(LK) :: countable
1437 : !> end function
1438 : !> \endcode
1439 : !> This user-defined countability check is extremely useful where certain records in the file ought to be
1440 : !> excluded from counting or only records with specific patterns should be included (for example, excluding
1441 : !> or including only records that are empty or begin with or end with or have specific patterns).<br>
1442 : !> (**optional**. If missing, all records are included in counting.)
1443 : !> \param[in] del : The input scalar `logical` of default kind \LK.<br>
1444 : !> <ol>
1445 : !> <li> If `.true.`, the file will be deleted upon return.<br>
1446 : !> <li> If `.false.`, the file will only be closed (without deletion) upon return.<br>
1447 : !> </ol>
1448 : !> (**optional**, default = `.false.`)
1449 : !> \param[out] iostat : The **optional** output scalar `integer` of default kind \IK.<br>
1450 : !> <ol>
1451 : !> <li> If present and no error occurs, it is set to `0` on output.<br>
1452 : !> <li> If present and an error occurs (e.g., if the input argument values are wrong or inconsistent), it is set to a positive non-zero value.<br>
1453 : !> <li> If missing and an error occurs, then the program halts by calling `error stop` followed by the relevant error message.<br>
1454 : !> </ol>
1455 : !> (**optional**.)
1456 : !> \param[inout] iomsg : The input/output scalar `character` of default kind \SK containing the error message, if any error occurs.<br>
1457 : !> A length type parameter value of [LEN_IOMSG](@ref pm_io::LEN_IOMSG) is generally sufficient for `iomsg` to contain the output error messages.<br>
1458 : !> (**optional**. Its presence is relevant only if the `iostat` output argument is also present.)
1459 : !>
1460 : !> \return
1461 : !> `nrecord` : The output scalar `integer` of default kind \IK, representing the number of records in the input file.
1462 : !>
1463 : !> \interface{getCountRecord}
1464 : !> \code{.F90}
1465 : !>
1466 : !> use pm_io, only: getCountRecord
1467 : !>
1468 : !> nrecord = getCountRecord(file, isCountable = isCountable, del = del, iostat = iostat, iomsg = iomsg) ! file must not be connected.
1469 : !> nrecord = getCountRecord(unit, isCountable = isCountable, del = del, iostat = iostat, iomsg = iomsg) ! unit must be already connected. `rewind(unit)` will occur.
1470 : !>
1471 : !> \endcode
1472 : !>
1473 : !> \warning
1474 : !> The input `file` <b>must not be connected</b> prior to calling this procedure.<br>
1475 : !> The input `unit` <b>must be already connected</b> prior to calling this procedure.<br>
1476 : !> \vericons
1477 : !>
1478 : !> \impure
1479 : !>
1480 : !> \see
1481 : !> [getCountRecordLeft](@ref pm_io::getCountRecordLeft)<br>
1482 : !> [isPreconnected](@ref pm_io::isPreconnected)<br>
1483 : !> [getFileUnit](@ref pm_io::getFileUnit)<br>
1484 : !>
1485 : !> \example{getCountRecord}
1486 : !> \include{lineno} example/pm_io/getCountRecord/main.F90
1487 : !> \compilef{getCountRecord}
1488 : !> \output{getCountRecord}
1489 : !> \include{lineno} example/pm_io/getCountRecord/main.out.F90
1490 : !>
1491 : !> \test
1492 : !> [test_pm_io](@ref test_pm_io)
1493 : !>
1494 : !> \todo
1495 : !> This procedure can be converted to a generic interface to add the optional `iseq()`
1496 : !> external comparison procedures for custom exclusion or inclusion of lines in the count.
1497 : !>
1498 : !> \finmain{getCountRecord}
1499 : !>
1500 : !> \author
1501 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
1502 : interface getCountRecord
1503 :
1504 : module function getCountRecordFile(file, isCountable, del, iostat, iomsg) result(nrecord)
1505 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1506 : !DEC$ ATTRIBUTES DLLEXPORT :: getCountRecordFile
1507 : #endif
1508 : use iso_fortran_env, only: iostat_end
1509 : character(*, SK), intent(in) :: file
1510 : procedure(logical(LK)) , optional :: isCountable
1511 : logical(LK) , intent(in) , optional :: del
1512 : integer(IK) , intent(out) , optional :: iostat
1513 : character(*, SK), intent(inout) , optional :: iomsg
1514 : integer(IK) :: nrecord
1515 : end function
1516 :
1517 : module function getCountRecordUnit(unit, isCountable, del, iostat, iomsg) result(nrecord)
1518 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1519 : !DEC$ ATTRIBUTES DLLEXPORT :: getCountRecordUnit
1520 : #endif
1521 : use iso_fortran_env, only: iostat_end
1522 : integer(IK) , intent(in) :: unit
1523 : procedure(logical(LK)) , optional :: isCountable
1524 : logical(LK) , intent(in) , optional :: del
1525 : integer(IK) , intent(out) , optional :: iostat
1526 : character(*, SK), intent(inout) , optional :: iomsg
1527 : integer(IK) :: nrecord
1528 : end function
1529 :
1530 : end interface
1531 :
1532 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1533 :
1534 : !> \brief
1535 : !> Generate and return the entire contents of the input unconnected `file` or the (remaining) contents of an already-connected file associated with the input `unit`.<br>
1536 : !>
1537 : !> \param[in] unit : The input scalar `integer` of default kind \IK containing the `unit` of an already-connected (opened) file whose (partial) contents will be returned.<br>
1538 : !> (**optional**. It must be present <b>if and only if</b> the input argument `file` is missing.)
1539 : !> \param[in] file : The input scalar `character` of default kind \SK containing the path of an unconnected (unopened) file whose entire contents will be returned.<br>
1540 : !> (**optional**. It must be present <b>if and only if</b> the input argument `unit` is missing.)
1541 : !> \param[in] del : See the documentation for the corresponding argument of [setContentsFrom()](@ref pm_io::setContentsFrom).<br>
1542 : !> (**optional**. The default behavior is set by [setContentsFrom()](@ref pm_io::setContentsFrom))
1543 : !>
1544 : !> \return
1545 : !> `contents` : The output `allocatable` scalar `character` of default kind \SK that will contain the file contents.<br>
1546 : !> The `allocation` status of `contents` or its value remain undefined if an error occurs.<br>
1547 : !>
1548 : !> \interface{getContentsFrom}
1549 : !> \code{.F90}
1550 : !>
1551 : !> use pm_io, only: getContentsFrom
1552 : !> character(:, SK), allocatable :: contents
1553 : !>
1554 : !> contents = getContentsFrom(unit, del = del)
1555 : !> contents = getContentsFrom(file, del = del)
1556 : !>
1557 : !> \endcode
1558 : !>
1559 : !> \warning
1560 : !> All warnings associated with [setContentsFrom](@ref pm_io::setContentsFrom) also apply to the procedures under this generic interface.<br>
1561 : !>
1562 : !> \warning
1563 : !> If the procedure fails to fetch the contents of the file, the program may stop by signaling the occurrence of an error.<br>
1564 : !> Use [setContentsFrom](@ref pm_io::setContentsFrom) for graceful error handling.<br>
1565 : !>
1566 : !> \impure
1567 : !>
1568 : !> \see
1569 : !> [getFileUnit](@ref pm_io::getFileUnit)<br>
1570 : !> [isPreconnected](@ref pm_io::isPreconnected)<br>
1571 : !> [setContentsFrom](@ref pm_io::setContentsFrom)<br>
1572 : !>
1573 : !> \example{getContentsFrom}
1574 : !> \include{lineno} example/pm_io/getContentsFrom/main.F90
1575 : !> \compilef{getContentsFrom}
1576 : !> \output{getContentsFrom}
1577 : !> \include{lineno} example/pm_io/getContentsFrom/main.out.F90
1578 : !>
1579 : !> \test
1580 : !> [test_pm_io](@ref test_pm_io)
1581 : !>
1582 : !> \finmain{getContentsFrom}
1583 : !>
1584 : !> \author
1585 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
1586 : interface getContentsFrom
1587 :
1588 : module function getContentsFromUnit_SK(unit, del) result(contents)
1589 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1590 : !DEC$ ATTRIBUTES DLLEXPORT :: getContentsFromUnit_SK
1591 : #endif
1592 : use pm_kind, only: SKC => SK
1593 : integer(IK) , intent(in) :: unit
1594 : logical(LK) , intent(in) , optional :: del
1595 : character(:,SKC), allocatable :: contents
1596 : end function
1597 :
1598 : module function getContentsFromFile_SK(file, del) result(contents)
1599 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1600 : !DEC$ ATTRIBUTES DLLEXPORT :: getContentsFromFile_SK
1601 : #endif
1602 : use pm_kind, only: SKC => SK
1603 : character(*, SK), intent(in) :: file
1604 : logical(LK) , intent(in) , optional :: del
1605 : character(:,SKC), allocatable :: contents
1606 : end function
1607 :
1608 : end interface
1609 :
1610 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1611 :
1612 : !> \brief
1613 : !> Return the entire contents of the input unconnected `file` or the (remaining) contents of an already-connected file associated with the input `unit`.<br>
1614 : !>
1615 : !> \param[in] unit : The input scalar `integer` of default kind \IK containing the `unit` of an already-connected (opened) file whose (partial) contents will be returned.<br>
1616 : !> (**optional**. It must be present <b>if and only if</b> the input argument `file` is missing.)
1617 : !> \param[in] file : The input scalar `character` of default kind \SK containing the path of an unconnected (unopened) file whose entire contents will be returned.<br>
1618 : !> (**optional**. It must be present <b>if and only if</b> the input argument `unit` is missing.)
1619 : !> \param[out] contents : The output `allocatable` scalar `character` of default kind \SK that will contain the file contents.<br>
1620 : !> The `allocation` status of `contents` or its value remain undefined if an error occurs.<br>
1621 : !> **If `iostat` is present, always check the value of `iostat` before using `contents`.**
1622 : !> \param[in] del : The input scalar `logical` of default kind \LK.
1623 : !> <ol>
1624 : !> <li> If `.true.`, the file will be deleted upon return. This is guaranteed only **if no runtime error occurs**.
1625 : !> <li> If `.false.`, the file will only be closed (without deletion) upon return.
1626 : !> </ol>
1627 : !> (**optional**, default = `.false.`)
1628 : !> \param[out] iostat : The output scalar `integer` of default kind \IK.<br>
1629 : !> <ol>
1630 : !> <li> If present and no error occurs, it is set to `0` on output.
1631 : !> <li> If present and an error occurs (e.g., if the input argument values are wrong or inconsistent), it is set to a positive non-zero value.
1632 : !> <li> If missing and an error occurs, then the program halts by calling `error stop` followed by the relevant error message.
1633 : !> </ol>
1634 : !> (**optional**. It must be present <b>if and only if</b> the output argument `iomsg` is also present.)
1635 : !> \param[inout] iomsg : The input/output scalar `character` of default kind \SK of arbitrary length type parameter, containing the error message.<br>
1636 : !> A length type parameter value of [LEN_IOMSG](@ref pm_io::LEN_IOMSG) is generally sufficient for `iomsg` to contain the output error messages in full.<br>
1637 : !> (**optional**. It must be present <b>if and only if</b> the output argument `iostat` is also present.)
1638 : !>
1639 : !> \interface{setContentsFrom}
1640 : !> \code{.F90}
1641 : !>
1642 : !> use pm_io, only: setContentsFrom
1643 : !> character(:, SK), allocatable :: contents
1644 : !>
1645 : !> call setContentsFrom(unit, contents, del = del)
1646 : !> call setContentsFrom(file, contents, del = del)
1647 : !> call setContentsFrom(unit, contents, iostat, iomsg, del = del)
1648 : !> call setContentsFrom(file, contents, iostat, iomsg, del = del)
1649 : !>
1650 : !> \endcode
1651 : !>
1652 : !> \warning
1653 : !> The condition [isOpen(unit)](@ref pm_io::isOpen) must hold for the corresponding input arguments.<br>
1654 : !> The condition [.not. isOpen(file)](@ref pm_io::isOpen) must hold for the corresponding input arguments.<br>
1655 : !> The condition `0 < index(getAction(unit), "READ")` must hold for the corresponding input arguments.<br>
1656 : !> \vericons
1657 : !>
1658 : !> \impure
1659 : !>
1660 : !> \see
1661 : !> [getFileUnit](@ref pm_io::getFileUnit)<br>
1662 : !> [isPreconnected](@ref pm_io::isPreconnected)<br>
1663 : !> [getContentsFrom](@ref pm_io::getContentsFrom)<br>
1664 : !>
1665 : !> \example{setContentsFrom}
1666 : !> \include{lineno} example/pm_io/setContentsFrom/main.F90
1667 : !> \compilef{setContentsFrom}
1668 : !> \output{setContentsFrom}
1669 : !> \include{lineno} example/pm_io/setContentsFrom/main.out.F90
1670 : !>
1671 : !> \test
1672 : !> [test_pm_io](@ref test_pm_io)
1673 : !>
1674 : !> \finmain{setContentsFrom}
1675 : !>
1676 : !> \author
1677 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
1678 : interface setContentsFrom
1679 :
1680 : module subroutine setContentsFromUnitCDD_SK(unit, contents, del)
1681 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1682 : !DEC$ ATTRIBUTES DLLEXPORT :: setContentsFromUnitCDD_SK
1683 : #endif
1684 : use pm_kind, only: SKC => SK
1685 : integer(IK) , intent(in) :: unit
1686 : character(:,SKC), intent(out) , allocatable :: contents
1687 : logical(LK) , intent(in) , optional :: del
1688 : end subroutine
1689 :
1690 : module subroutine setContentsFromUnitCII_SK(unit, contents, iostat, iomsg, del)
1691 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1692 : !DEC$ ATTRIBUTES DLLEXPORT :: setContentsFromUnitCII_SK
1693 : #endif
1694 : use pm_kind, only: SKC => SK
1695 : integer(IK) , intent(in) :: unit
1696 : character(:,SKC), intent(out) , allocatable :: contents
1697 : integer(IK) , intent(out) :: iostat
1698 : character(*, SK), intent(inout) :: iomsg
1699 : logical(LK) , intent(in) , optional :: del
1700 : end subroutine
1701 :
1702 : module subroutine setContentsFromFileCDD_SK(file, contents, del)
1703 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1704 : !DEC$ ATTRIBUTES DLLEXPORT :: setContentsFromFileCDD_SK
1705 : #endif
1706 : use pm_kind, only: SKC => SK
1707 : character(*, SK), intent(in) :: file
1708 : character(:,SKC), intent(out) , allocatable :: contents
1709 : logical(LK) , intent(in) , optional :: del
1710 : end subroutine
1711 :
1712 : module subroutine setContentsFromFileCII_SK(file, contents, iostat, iomsg, del)
1713 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1714 : !DEC$ ATTRIBUTES DLLEXPORT :: setContentsFromFileCII_SK
1715 : #endif
1716 : use pm_kind, only: SKC => SK
1717 : character(*, SK), intent(in) :: file
1718 : character(:,SKC), intent(out) , allocatable :: contents
1719 : integer(IK) , intent(out) :: iostat
1720 : character(*, SK), intent(inout) :: iomsg
1721 : logical(LK) , intent(in) , optional :: del
1722 : end subroutine
1723 :
1724 : end interface
1725 :
1726 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1727 :
1728 : !> \brief
1729 : !> Write the input string `contents` to the input unconnected `file`.<br>
1730 : !>
1731 : !> \details
1732 : !> This generic interface in its current form is a simple wrapper around
1733 : !> the `open()` and `write()` intrinsic statements to simplify writing to output files.<br>
1734 : !>
1735 : !> \param[in] file : The input scalar `character` of default kind \SK containing the path of an unconnected (unopened) file.<br>
1736 : !> \param[in] contents : The input scalar `character` of default kind \SK that containing the contents to write to the target external file.<br>
1737 : !> \param[out] iostat : The output scalar `integer` of default kind \IK.<br>
1738 : !> <ol>
1739 : !> <li> If present and no error occurs, it is set to `0` on output.
1740 : !> <li> If present and an error occurs (e.g., if the input argument values are wrong or inconsistent), it is set to a positive non-zero value.
1741 : !> <li> If missing and an error occurs, then the program halts by calling `error stop` followed by the relevant error message.
1742 : !> </ol>
1743 : !> (**optional**. It must be present <b>if and only if</b> the output argument `iomsg` is also present.)
1744 : !> \param[inout] iomsg : The input/output scalar `character` of default kind \SK of arbitrary length type parameter, containing the error message.<br>
1745 : !> A length type parameter value of [LEN_IOMSG](@ref pm_io::LEN_IOMSG) is generally sufficient for `iomsg` to contain the output error messages in full.<br>
1746 : !> (**optional**. It must be present <b>if and only if</b> the output argument `iostat` is also present.)
1747 : !>
1748 : !> \interface{setContentsTo}
1749 : !> \code{.F90}
1750 : !>
1751 : !> use pm_io, only: setContentsTo
1752 : !> character(:, SK), allocatable :: contents
1753 : !>
1754 : !> call setContentsTo(file, contents = del)
1755 : !> call setContentsTo(file, contents, iostat, iomsg = del)
1756 : !>
1757 : !> \endcode
1758 : !>
1759 : !> \warning
1760 : !> The condition [.not. isOpen(file)](@ref pm_io::isOpen) must hold for the corresponding input arguments.<br>
1761 : !> \vericons
1762 : !>
1763 : !> \impure
1764 : !>
1765 : !> \see
1766 : !> [getFileUnit](@ref pm_io::getFileUnit)<br>
1767 : !> [isPreconnected](@ref pm_io::isPreconnected)<br>
1768 : !> [getContentsFrom](@ref pm_io::getContentsFrom)<br>
1769 : !> [setContentsFrom](@ref pm_io::setContentsFrom)<br>
1770 : !> [getErrTableRead](@ref pm_io::getErrTableRead)<br>
1771 : !> [getErrTableWrite](@ref pm_io::getErrTableWrite)<br>
1772 : !>
1773 : !> \example{setContentsTo}
1774 : !> \include{lineno} example/pm_io/setContentsTo/main.F90
1775 : !> \compilef{setContentsTo}
1776 : !> \output{setContentsTo}
1777 : !> \include{lineno} example/pm_io/setContentsTo/main.out.F90
1778 : !>
1779 : !> \test
1780 : !> [test_pm_io](@ref test_pm_io)
1781 : !>
1782 : !> \todo
1783 : !> \pmed
1784 : !> This generic interface must be expanded to input `unit` in place of an input `file`.<br>
1785 : !> There are potential complexities associated with an input `unit` that need `inquire` statement such as `access`, `form`, etc.<br>
1786 : !>
1787 : !> \finmain{setContentsTo}
1788 : !>
1789 : !> \author
1790 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
1791 : interface setContentsTo
1792 :
1793 : ! module subroutine setContentsToUnitCDD_SK(unit, contents)
1794 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1795 : ! !DEC$ ATTRIBUTES DLLEXPORT :: setContentsToUnitCDD_SK
1796 : !#endif
1797 : ! use pm_kind, only: SKC => SK
1798 : ! integer(IK) , intent(in) :: unit
1799 : ! character(*,SKC), intent(in) :: contents
1800 : ! end subroutine
1801 : !
1802 : ! module subroutine setContentsToUnitCII_SK(unit, contents, iostat, iomsg)
1803 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1804 : ! !DEC$ ATTRIBUTES DLLEXPORT :: setContentsToUnitCII_SK
1805 : !#endif
1806 : ! use pm_kind, only: SKC => SK
1807 : ! integer(IK) , intent(in) :: unit
1808 : ! character(*,SKC), intent(in) :: contents
1809 : ! integer(IK) , intent(out) :: iostat
1810 : ! character(*, SK), intent(inout) :: iomsg
1811 : ! end subroutine
1812 :
1813 : module subroutine setContentsToFileCDD_SK(file, contents)
1814 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1815 : !DEC$ ATTRIBUTES DLLEXPORT :: setContentsToFileCDD_SK
1816 : #endif
1817 : use pm_kind, only: SKC => SK
1818 : character(*, SK), intent(in) :: file
1819 : character(*,SKC), intent(in) :: contents
1820 : end subroutine
1821 :
1822 : module subroutine setContentsToFileCII_SK(file, contents, iostat, iomsg)
1823 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1824 : !DEC$ ATTRIBUTES DLLEXPORT :: setContentsToFileCII_SK
1825 : #endif
1826 : use pm_kind, only: SKC => SK
1827 : character(*, SK), intent(in) :: file
1828 : character(*,SKC), intent(in) :: contents
1829 : integer(IK) , intent(out) :: iostat
1830 : character(*, SK), intent(inout) :: iomsg
1831 : end subroutine
1832 :
1833 : end interface
1834 :
1835 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1836 :
1837 : !> \brief
1838 : !> Open the given input file, fetch the entire contents return it as a single `allocatable` string, and close the file.
1839 : !>
1840 : !> \param[out] unit : The input scalar `integer` of default kind \IK containing the file unit number to close.<br>
1841 : !> \param[in] del : The input scalar `logical` of default kind \LK.<br>
1842 : !> <ol>
1843 : !> <li> If `.true.`, the file will be deleted upon return.<br>
1844 : !> <li> If `.false.`, the file will only be closed (without deletion) upon return.<br>
1845 : !> </ol>
1846 : !> (**optional**, default = `.false.`)
1847 : !> \param[out] iostat : The output scalar `integer` of default kind \IK.<br>
1848 : !> <ol>
1849 : !> <li> If present and no error occurs, it is set to `0` on output.
1850 : !> <li> If present and an error occurs (e.g., if the input argument values are wrong or inconsistent), it is set to a positive non-zero value.
1851 : !> <li> If missing and an error occurs, then the program halts by calling `error stop` followed by the relevant error message.
1852 : !> </ol>
1853 : !> (**optional**.)
1854 : !> \param[inout] iomsg : The input/output scalar `character` of default kind \SK containing the error message, if any error occurs.<br>
1855 : !> A length type parameter value of [LEN_IOMSG](@ref pm_io::LEN_IOMSG) is generally sufficient for `iomsg` to contain the output error messages.<br>
1856 : !> (**optional**. Its presence is relevant only if the `iostat` output argument is also present.)
1857 : !>
1858 : !> \interface{setFileClosed}
1859 : !> \code{.F90}
1860 : !>
1861 : !> use pm_io, only: setFileClosed
1862 : !>
1863 : !> call setFileClosed(unit, del = del, iostat = iostat, iomsg = iomsg)
1864 : !>
1865 : !> \endcode
1866 : !>
1867 : !> \note
1868 : !> As per the Fortran standard rules,
1869 : !> -# if the specified file `unit` a non-existing or unconnected unit, then the `close()` statement acts as a *do nothing* statement (no error occurs).
1870 : !> -# If the file connected to the `unit` has `scratch` status, then it will be automartically deleted regardless of the specified value for `del`.
1871 : !>
1872 : !> \see
1873 : !> [getFileUnit](@ref pm_io::getFileUnit)<br>
1874 : !> [isPreconnected](@ref pm_io::isPreconnected)<br>
1875 : !>
1876 : !> \example{setFileClosed}
1877 : !> \include{lineno} example/pm_io/setFileClosed/main.F90
1878 : !> \compilef{setFileClosed}
1879 : !> \output{setFileClosed}
1880 : !> \include{lineno} example/pm_io/setFileClosed/main.out.F90
1881 : !>
1882 : !> \test
1883 : !> [test_pm_io](@ref test_pm_io)
1884 : !>
1885 : !> \finmain{setFileClosed}
1886 : !>
1887 : !> \author
1888 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
1889 : interface setFileClosed
1890 : module subroutine setFileClosed_IK(unit, del, iostat, iomsg)
1891 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1892 : !DEC$ ATTRIBUTES DLLEXPORT :: setFileClosed_IK
1893 : #endif
1894 : integer(IK) , intent(in) :: unit
1895 : logical(LK) , intent(in) , optional :: del
1896 : integer(IK) , intent(out) , optional :: iostat
1897 : character(*, SK), intent(inout) , optional :: iomsg
1898 : end subroutine
1899 : end interface
1900 :
1901 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1902 :
1903 : !> \brief
1904 : !> Generate and return a full record (line) of arbitrary length as a string from the current
1905 : !> position of the **record-oriented** and **formatted** file connected to the specified input `unit`.
1906 : !>
1907 : !> \param[in] unit : The input scalar `integer` of default kind \IK representing the unit of the **connected file** to read the line from.<br>
1908 : !> \param[out] iostat : The output scalar `integer` of default kind \IK.<br>
1909 : !> <ol>
1910 : !> <li> If present and no error occurs, it is set to `0` on output.
1911 : !> <li> If present and an end-of-file condition occurs, it is set to `iostat_end` from Fortran intrinsic module `iso_fortran_env`.<br>
1912 : !> <li> If present and an error occurs (e.g., if the input argument values are wrong or inconsistent), it is set to a positive non-zero value.<br>
1913 : !> <li> If missing and an error occurs (including end-of-file condition), then the program halts by calling `error stop` followed by the relevant error message.<br>
1914 : !> </ol>
1915 : !> (**optional**.)
1916 : !> \param[inout] iomsg : The input/output scalar `character` of default kind \SK containing the error message, if any error occurs.<br>
1917 : !> A length type parameter value of [LEN_IOMSG](@ref pm_io::LEN_IOMSG) is generally sufficient for `iomsg` to contain the output error messages.<br>
1918 : !> (**optional**. Its presence is relevant only if `iostat` is also present.)
1919 : !> \param[in] linefed : The input scalar `logical` of default kind \LK.<br>
1920 : !> If `.true.`, then the output `record` will end with the new line character(s) as specified by the Fortran intrinsic `new_line("a")`.<br>
1921 : !> If `.false.`, then the output `record` will **not** end with the new line character(s).<br>
1922 : !> In either case, **only one record will be read** from the specified unit, but will or will
1923 : !> not end with a new line character if `linefed` is `.true.` or `.false.` respectively.<br>
1924 : !> This behavior is extremely useful for,
1925 : !> <ol>
1926 : !> <li> reading records from a CSV file potentially containing new line characters in its fields.<br>
1927 : !> <li> consecutively reading a series of lines of a `unit` into a single string by repeated calls to
1928 : !> this generic interface while preserving the linefeed characters as record separators.<br>
1929 : !> </ol>
1930 : !> (**optional**, default = `.false.`)
1931 : !>
1932 : !> \return
1933 : !> `record` : The output `allocatable` scalar `character` of default kind \SK that will contain the requested line in full.<br>
1934 : !> <b>If you suspect an end-of-file condition may occur, always specify and check the output value of `iostat` before using the contents of `record`</b>.<br>
1935 : !>
1936 : !> \interface{getRecordFrom}
1937 : !> \code{.F90}
1938 : !>
1939 : !> use pm_io, only: getRecordFrom
1940 : !> character(:, SK), allocatable :: record
1941 : !>
1942 : !> record = getRecordFrom(unit, iostat = iostat, iomsg = iomsg, linefed = linefed)
1943 : !>
1944 : !> \endcode
1945 : !>
1946 : !> \warning
1947 : !> All warnings associated with [setRecordFrom](@ref pm_io::setRecordFrom) also apply to the procedures under this generic interface.<br>
1948 : !>
1949 : !> \impure
1950 : !>
1951 : !> \see
1952 : !> [setRecordFrom](@ref pm_io::setRecordFrom)<br>
1953 : !> [getContentsFrom](@ref pm_io::getContentsFrom)<br>
1954 : !> [setContentsFrom](@ref pm_io::setContentsFrom)<br>
1955 : !> [isPreconnected](@ref pm_io::isPreconnected)<br>
1956 : !> [getFileUnit](@ref pm_io::getFileUnit)<br>
1957 : !>
1958 : !> \example{getRecordFrom}
1959 : !> \include{lineno} example/pm_io/getRecordFrom/main.F90
1960 : !> \compilef{getRecordFrom}
1961 : !> \output{getRecordFrom}
1962 : !> \include{lineno} example/pm_io/getRecordFrom/main.out.F90
1963 : !>
1964 : !> \test
1965 : !> [test_pm_io](@ref test_pm_io)
1966 : !>
1967 : !> \finmain{getRecordFrom}
1968 : !>
1969 : !> \author
1970 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
1971 : interface getRecordFrom
1972 :
1973 : module function getRecordFromUnit_SK(unit, iostat, iomsg, linefed) result(record)
1974 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1975 : !DEC$ ATTRIBUTES DLLEXPORT :: getRecordFromUnit_SK
1976 : #endif
1977 : use pm_kind, only: SKC => SK
1978 : integer(IK) , intent(in) :: unit
1979 : integer(IK) , intent(out) , optional :: iostat
1980 : character(*, SK), intent(inout) , optional :: iomsg
1981 : logical(LK) , intent(in) , optional :: linefed
1982 : character(:,SKC), allocatable :: record
1983 : end function
1984 :
1985 : end interface
1986 :
1987 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1988 :
1989 : !> \brief
1990 : !> Read a full record (line) of arbitrary length as a string from the current position of
1991 : !> the **record-oriented** and **formatted** file connected to the specified input `unit`.
1992 : !>
1993 : !> \param[in] unit : The input scalar `integer` of default kind \IK representing the unit of the **connected file** to read the line from.<br>
1994 : !> \param[inout] record : The input/output `allocatable` scalar `character` of default kind \SK that will contain the requested line in full.<br>
1995 : !> On input,<br>
1996 : !> <ol>
1997 : !> <li> The argument `record` can be preallocated to the best-guess length for the record to be read.<br>
1998 : !> Preallocating `record` to the right size can improve the runtime performance of the procedure.<br>
1999 : !> <ol>
2000 : !> <li> If the optional input argument `lb` is specified, any old contents `record(1 : lb - 1)` will remain intact on return.<br>
2001 : !> </ol>
2002 : !> <li> The argument `record` can be unallocated, in which case, it will be allocated to the proper size within the algorithm.<br>
2003 : !> </ol>
2004 : !> On output,<br>
2005 : !> <ol>
2006 : !> <li> The argument `record` will potentially be [resized](@ref pm_arrayResize::setResized) to contain the full record from the specified unit.<br>
2007 : !> <ol>
2008 : !> <li> If the optional output argument `ub` is specified, then the output `record` will **not** be trimmed (i.e., reallocated) on return.<br>
2009 : !> Specifying `ub` will eliminate one redundant final reallocation and copy action, which can in return boost the runtime performance.<br>
2010 : !> </ol>
2011 : !> </ol>
2012 : !> \param[out] iostat : The output scalar `integer` of default kind \IK.<br>
2013 : !> <ol>
2014 : !> <li> If present and no error occurs, it is set to `0` on output.
2015 : !> <li> If present and an end-of-file condition occurs, it is set to `iostat_end` from Fortran intrinsic module `iso_fortran_env`.<br>
2016 : !> <li> If present and an error occurs (e.g., if the input argument values are wrong or inconsistent), it is set to a positive non-zero value.<br>
2017 : !> <li> If missing and an error occurs (including end-of-file condition), then the program halts by calling `error stop` followed by the relevant error message.<br>
2018 : !> </ol>
2019 : !> (**optional**. It must be present <b>if and only if</b> the output argument `iomsg` is also present.)
2020 : !> \param[inout] iomsg : The input/output scalar `character` of default kind \SK containing the error message, if any error occurs.<br>
2021 : !> A length type parameter value of [LEN_IOMSG](@ref pm_io::LEN_IOMSG) is generally sufficient for `iomsg` to contain the output error messages.<br>
2022 : !> (**optional**. It must be present <b>if and only if</b> the output argument `iostat` is also present.)
2023 : !> \param[in] lb : The **input** scalar `integer` of default kind \IK,
2024 : !> containing the lower starting bound (index) of `record` from which the writing must begin.<br>
2025 : !> Specifying this argument will keep the segment `record(1 : lb - 1)` intact on return.<br>
2026 : !> This behavior is extremely useful for consecutively reading a series of lines of a `unit`.<br>
2027 : !> (**optional**, default = `1`)
2028 : !> \param[out] ub : The **output** scalar `integer` of default kind \IK,
2029 : !> containing the upper bound (index) of `record` up to which the record from the specified `unit` was read.<br>
2030 : !> Specifying this argument leads to faster runtime performance since it prevents an extra final reallocation and string copy.<br>
2031 : !> By definition, if the line in the file is empty, `ub` is set to `0`, unless `linefed` is set to `.true.`, in which case `ub` is the length of the linefeed character(s).<br>
2032 : !> (**optional**. If missing, `record` will be reallocated to size `record(1 : ub)`, otherwise, record will not be trimmed.)
2033 : !> \param[in] linefed : The input scalar `logical` of default kind \LK.<br>
2034 : !> If `.true.`, then the output `record` will end with the new line character(s) as specified by the Fortran intrinsic `new_line("a")`.<br>
2035 : !> If `.false.`, then the output `record` will **not** end with the new line character(s).<br>
2036 : !> In either case, **only one record will be read** from the specified unit, but will or will
2037 : !> not end with a new line character if `linefed` is `.true.` or `.false.` respectively.<br>
2038 : !> This behavior is extremely useful for,
2039 : !> <ol>
2040 : !> <li> reading records from a CSV file potentially containing new line characters in its fields.<br>
2041 : !> <li> consecutively reading a series of lines of a `unit` into a single string by repeated calls to
2042 : !> this generic interface while preserving the linefeed characters as record separators.<br>
2043 : !> </ol>
2044 : !> (**optional**, default = `.false.`)
2045 : !>
2046 : !> \interface{setRecordFrom}
2047 : !> \code{.F90}
2048 : !>
2049 : !> use pm_io, only: setRecordFrom
2050 : !>
2051 : !> call setRecordFrom(unit, record, lb = lb, ub = ub, linefed = linefed)
2052 : !> call setRecordFrom(unit, record, iostat, iomsg, lb = lb, ub = ub, linefed = linefed)
2053 : !>
2054 : !> \endcode
2055 : !>
2056 : !> \warning
2057 : !> The condition `0 < lb` must hold for the corresponding input arguments.
2058 : !> \vericon
2059 : !>
2060 : !> \remark
2061 : !> Allowing the input `record` to be preallocated with `intent(inout)` particularly
2062 : !> helps with minimizing the number of reallocations of `record` within the procedure.<br>
2063 : !>
2064 : !> \remark
2065 : !> Specifying the output argument `ub` particularly helps with the runtime performance
2066 : !> by removing a redundant reallocation and data copy.<br>
2067 : !>
2068 : !> \note
2069 : !> This generic interface can be readily used to read a certain number or all of the lines of a specified `unit`.<br>
2070 : !> For example, the following code snippet,<br>
2071 : !> \code{.F90}
2072 : !>
2073 : !> use iso_fortran_env, only: iostat_end
2074 : !> open(unit, file, status = "old")
2075 : !> lb = 1_IK
2076 : !> do
2077 : !> call setRecordFrom(unit, record, iostat, iomsg, lb, ub, linefed = .true._LK)
2078 : !> if (iostat /= iostat_end) exit
2079 : !> if (iostat /= 0_IK) error stop trim(iomsg)
2080 : !> lb = ub + 1_IK
2081 : !> end do
2082 : !> close(unit)
2083 : !> record = record(1:ub)
2084 : !>
2085 : !> \endcode
2086 : !> will store the entire contents of the specified `file` associated with `unit` in the `allocatable` string `record`,
2087 : !> within which lines are separated by `new_line("a")` instances.<br>
2088 : !>
2089 : !> \note
2090 : !> Note that setting `linefed = .true.` leads to each record being padded with a newline character, including the last line in the file.<br>
2091 : !> As such, reading an entire file using the above code snippet will lead to a final output that an has extra final newline character compared
2092 : !> to the output of [getContentsFrom()](@ref pm_io::getContentsFrom) or [setContentsFrom()](@ref pm_io::setContentsFrom).<br>
2093 : !>
2094 : !> \see
2095 : !> [getRecordFrom](@ref pm_io::getRecordFrom)<br>
2096 : !> [getContentsFrom](@ref pm_io::getContentsFrom)<br>
2097 : !> [setContentsFrom](@ref pm_io::setContentsFrom)<br>
2098 : !> [isPreconnected](@ref pm_io::isPreconnected)<br>
2099 : !> [getFileUnit](@ref pm_io::getFileUnit)<br>
2100 : !>
2101 : !> \example{setRecordFrom}
2102 : !> \include{lineno} example/pm_io/setRecordFrom/main.F90
2103 : !> \compilef{setRecordFrom}
2104 : !> \output{setRecordFrom}
2105 : !> \include{lineno} example/pm_io/setRecordFrom/main.out.F90
2106 : !>
2107 : !> \test
2108 : !> [test_pm_io](@ref test_pm_io)
2109 : !>
2110 : !> \finmain{setRecordFrom}
2111 : !>
2112 : !> \author
2113 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
2114 : interface setRecordFrom
2115 :
2116 : module subroutine setRecordFromUR_SK(unit, record, lb, ub, linefed)
2117 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2118 : !DEC$ ATTRIBUTES DLLEXPORT :: setRecordFromUR_SK
2119 : #endif
2120 : use pm_kind, only: SKC => SK
2121 : integer(IK) , intent(in) :: unit
2122 : character(:,SKC), intent(inout) , allocatable :: record
2123 : integer(IK) , intent(in) , optional :: lb
2124 : integer(IK) , intent(out) , optional :: ub
2125 : logical(LK) , intent(in) , optional :: linefed
2126 : end subroutine
2127 :
2128 : module subroutine setRecordFromURII_SK(unit, record, iostat, iomsg, lb, ub, linefed)
2129 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2130 : !DEC$ ATTRIBUTES DLLEXPORT :: setRecordFromURII_SK
2131 : #endif
2132 : use pm_kind, only: SKC => SK
2133 : integer(IK) , intent(in) :: unit
2134 : character(:,SKC), intent(inout) , allocatable :: record
2135 : integer(IK) , intent(out) :: iostat
2136 : character(*, SK), intent(inout) :: iomsg
2137 : integer(IK) , intent(in) , optional :: lb
2138 : integer(IK) , intent(out) , optional :: ub
2139 : logical(LK) , intent(in) , optional :: linefed
2140 : end subroutine
2141 :
2142 : end interface
2143 :
2144 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2145 :
2146 : !> \brief
2147 : !> Generate and return the number of records **left** (starting immediately after the last accessed record) in the **record-oriented** input file.
2148 : !>
2149 : !> \details
2150 : !> If any error occurs during the IO and the output `iostat` argument is missing, the program will halt by calling `error stop`.
2151 : !>
2152 : !> \param[in] unit : The input scalar `integer` of default kind \IK containing the unit of the connected file whose number of record **left** is to be returned.
2153 : !> \param isCountable : The `external` user-specified function that takes one input **scalar** `character` of default kind \SK of arbitrary length type parameter,
2154 : !> containing the most recent record that has been read from the input file.<br>
2155 : !> It returns a scalar `logical` of default kind \LK that is `.true.` <b>if and only if</b> the input `record` should be included in counting.<br>
2156 : !> The following illustrates the generic interface of `isCountable`,
2157 : !> \code{.F90}
2158 : !> function isCountable(record) result(countable)
2159 : !> use pm_kind, only: LK, SK
2160 : !> character(*, SK), intent(in) :: record
2161 : !> logical(LK) :: countable
2162 : !> end function
2163 : !> \endcode
2164 : !> This user-defined countability check is extremely useful where certain records in the file ought to be
2165 : !> excluded from counting or only records with specific patterns should be included (for example, excluding
2166 : !> or including only records that are empty or begin with or end with or have specific patterns).<br>
2167 : !> (**optional**. If missing, all records are included in counting).
2168 : !> \param[in] reset : The input scalar `logical` of default kind \LK.
2169 : !> <ol>
2170 : !> <li> If `.true.`, the record position in the file will be reset to where it was upon entering the procedure.
2171 : !> <li> If `.false.`, the record position will be the end of the file.
2172 : !> </ol>
2173 : !> This option is useful for scenarios where a file has been partially read (e.g., fixed header),
2174 : !> but the number of remaining file records is required to read the rest of the file.<br>
2175 : !> This is done by calling the Fortran intrinsic `backspace` for `nrecord` number of times.<br>
2176 : !> Note that the `backspace` statement is often very costly in computer resources.<br>
2177 : !> Therefore this use of this optional argument should be minimized in performance critical routines.<br>
2178 : !> (**optional**, default = `.false.`)
2179 : !> \param[out] iostat : The **optional** output scalar `integer` of default kind \IK.<br>
2180 : !> -# If present and no error occurs, it is set to `0` on output.
2181 : !> -# If present and an error occurs (e.g., if the input argument values are wrong or inconsistent), it is set to a positive non-zero value.
2182 : !> -# If missing and an error occurs, then the program halts by calling `error stop` followed by the relevant error message.
2183 : !> \param[inout] iomsg : The input/output scalar `character` of default kind \SK containing the error message, if any error occurs.<br>
2184 : !> A length type parameter value of [LEN_IOMSG](@ref pm_io::LEN_IOMSG) is generally sufficient for `iomsg` to contain the output error messages.<br>
2185 : !> (**optional**. Its presence is relevant only if the `iostat` output argument is also present.)
2186 : !>
2187 : !> \return
2188 : !> `nrecord` : The output scalar `integer` of default kind \IK, representing the number of records in the input file.
2189 : !>
2190 : !> \interface{getCountRecordLeft}
2191 : !> \code{.F90}
2192 : !>
2193 : !> use pm_io, only: getCountRecordLeft
2194 : !>
2195 : !> nrecord = getCountRecordLeft(file, isCountable = isCountable, reset = reset, iostat = iostat, iomsg = iomsg)
2196 : !>
2197 : !> \endcode
2198 : !>
2199 : !> \warning
2200 : !> The input `unit` must be connected to a file prior to calling this procedure.<br>
2201 : !> Additionally, this procedure will **not** close the file upon return.<br>
2202 : !>
2203 : !> \see
2204 : !> [getCountRecord](@ref pm_io::getCountRecord)<br>
2205 : !> [isPreconnected](@ref pm_io::isPreconnected)<br>
2206 : !> [setRecordFrom](@ref pm_io::setRecordFrom)<br>
2207 : !> [getFileUnit](@ref pm_io::getFileUnit)<br>
2208 : !>
2209 : !> \example{getCountRecordLeft}
2210 : !> \include{lineno} example/pm_io/getCountRecordLeft/main.F90
2211 : !> \compilef{getCountRecordLeft}
2212 : !> \output{getCountRecordLeft}
2213 : !> \include{lineno} example/pm_io/getCountRecordLeft/main.out.F90
2214 : !>
2215 : !> \test
2216 : !> [test_pm_io](@ref test_pm_io)
2217 : !>
2218 : !> \todo
2219 : !> This procedure can be converted to a generic interface to add the optional `iseq()`
2220 : !> external comparison procedures for custom exclusion or inclusion of lines in the count.
2221 : !>
2222 : !> \finmain{getCountRecordLeft}
2223 : !>
2224 : !> \author
2225 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
2226 : interface getCountRecordLeft
2227 : module function getCountRecordLeft_IK(unit, isCountable, reset, iostat, iomsg) result(nrecord)
2228 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2229 : !DEC$ ATTRIBUTES DLLEXPORT :: getCountRecordLeft_IK
2230 : #endif
2231 : integer(IK) , intent(in) :: unit
2232 : procedure(logical(LK)) , optional :: isCountable
2233 : logical(LK) , intent(in) , optional :: reset
2234 : integer(IK) , intent(out) , optional :: iostat
2235 : character(*, SK) , intent(inout) , optional :: iomsg
2236 : integer(IK) :: nrecord
2237 : end function
2238 : end interface
2239 :
2240 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2241 :
2242 : !> \brief
2243 : !> Generate and return the `iostat` code resulting from reading the contents of the specified `file` or `unit` into an output `table`.<br>
2244 : !>
2245 : !> \param[in] file : The input scalar `character` of default kind \SK representing the path to the external file to which the `table` must be read.<br>
2246 : !> If the specified `file` does not exist, it will be created.<br>
2247 : !> If it exists or is already connected, it will repositioned before the beginning of its first record.<br>
2248 : !> (**optional**. It can be present **only if** the input argument `unit` is missing.)
2249 : !> \param[in] unit : The input scalar `integer` of default kind \IK representing the preconnected (opened) file unit to which the table must be read.<br>
2250 : !> The writing will begin from the current file position plus the input `roff`.<br>
2251 : !> (**optional**. It can be present **only if** the input argument `file` is missing.)
2252 : !> \param[out] table : The output `allocatable` array of shape `(:)` or `(:,:)` of either <br>
2253 : !> <ol>
2254 : !> <li> type `character` of kind \SKALL of predefined length type parameter (not deferred-length), or <br>
2255 : !> <li> type `integer` of kind \IKALL, or <br>
2256 : !> <li> type `logical` of kind \LKALL, or <br>
2257 : !> <li> type `complex` of kind \CKALL, or <br>
2258 : !> <li> type `real` of kind \RKALL, <br>
2259 : !> </ol>
2260 : !> representing the data `table` to be read from the specified input.<br>
2261 : !> By default a `table` of rank `1` is considered to be a single column unless
2262 : !> the input optional argument `operation` is set to [trans](@ref pm_matrixTrans::trans) in which case `table` is considered as a row of fields.<br>
2263 : !> See the tips in the note below for reading tables of `complex` values written in the Fortran list-directed format.<br>
2264 : !> By default, if the input argument `operation` is missing, each column of `table` corresponds to each column of data in the file.<br>
2265 : !> \param[in] operation : The input scalar constant that can be:<br>
2266 : !> <ol>
2267 : !> <li> the scalar constant [trans](@ref pm_matrixTrans::trans) or a scalar object of type [trans_type](@ref pm_matrixTrans::trans_type),
2268 : !> implying that the input `table` must be transposed before being written to the output file.<br>
2269 : !> This option is particularly useful for inputting rows of `table` in Fortran column-major
2270 : !> storage mode, that is, rows of table occupy the first dimension of the matrix table
2271 : !> such that rows of data in the output file are stored contiguously in memory.<br>
2272 : !> Use this option if you intend to work with rows more so than with individual columns.<br>
2273 : !> </ol>
2274 : !> (**optional**, default = [nothing](@ref pm_array::nothing), implying that the `table` must be output as is.)
2275 : !> \param[out] header : The output `allocatable` scalar `character` of default kind \SK of arbitrary length type parameter containing the table header.<br>
2276 : !> The output table `header` can be subsequently split into fields by passing `header` and `sep` to the generic interface [setSplit](@ref pm_arraySplit).<br>
2277 : !> If the table in file contains a header, but `header` argument is missing, then `roff` must be set to at least `1` to gracefully skip the header line.<br>
2278 : !> (**optional**, If missing, no header will be read from the specified input.<br>
2279 : !> The generic interface [getStr()](@ref pm_val2str::getStr) can be used to readily join a list of header fields with the appropriate separator.)
2280 : !> \param[in] sep : The input scalar `character` of default kind \SK of arbitrary length type parameter
2281 : !> containing the separator of the fields of each of row of the `table` in the input file.<br>
2282 : !> An empty input `sep` implies that there is only a single column in the file.<br>
2283 : !> (**optional**, default = `,` or ` ` (blank).)
2284 : !> \param[in] roff : The input scalar `integer` of default kind \IK representing the row offset, that is, the number of rows
2285 : !> in the external `file` or `unit` to skip before beginning to read the output variables `header` and `table`.<br>
2286 : !> (**optional**. default = `0`)
2287 : !> \param[inout] iomsg : The input/output scalar `character` of default kind \SK containing the error message, if any error occurs.<br>
2288 : !> A length type parameter value of [LEN_IOMSG](@ref pm_io::LEN_IOMSG) is generally sufficient for `iomsg` to contain the output error messages.<br>
2289 : !> (**optional**. If missing, no information other than the output error code `err` will be returned.)
2290 : !>
2291 : !> \return
2292 : !> `err` : The output scalar `integer` of default kind \IK containing the `iostat`
2293 : !> error code returned by the Fortran intrinsic `write()` statement.<br>
2294 : !> On return, `err` is set to `0` **if and only if** the `table` is successfully read from the input.<br>
2295 : !> See the Fortran standard and specific compiler documentations for the possible meanings of the output `err`.<br>
2296 : !>
2297 : !> \interface{getErrTableRead}
2298 : !> \code{.F90}
2299 : !>
2300 : !> use pm_io, only: getErrTableRead
2301 : !> use pm_kind, only: IK
2302 : !> integer(IK) :: err
2303 : !>
2304 : !> err = getErrTableRead(unit, table, header = header, sep = sep, roff = roff, iomsg = iomsg)
2305 : !> err = getErrTableRead(file, table, header = header, sep = sep, roff = roff, iomsg = iomsg)
2306 : !>
2307 : !> err = getErrTableRead(unit, table, operation, header = header, sep = sep, roff = roff, iomsg = iomsg)
2308 : !> err = getErrTableRead(file, table, operation, header = header, sep = sep, roff = roff, iomsg = iomsg)
2309 : !> !
2310 : !> \endcode
2311 : !>
2312 : !> \impure
2313 : !>
2314 : !> \note
2315 : !> For `table` of type `complex`, it is best to either<br>
2316 : !> <ol>
2317 : !> <li> have the `complex` table fields in the file in Fortran list-directed format `(.,.)` and drop
2318 : !> the `sep` input argument to activate the default intrinsic [Fortran list-directed parser, or<br>
2319 : !> <li> have the `complex` table fields in the file written as if `real` and `imaginary` components are
2320 : !> independent table fields and specify the `sep` argument to activate the customized parser to read the table.<br>
2321 : !> </ol>
2322 : !> Otherwise,<br>
2323 : !> <ol>
2324 : !> <li> if the file is in [Fortran list-directed format](@ref pm_io::fld_type) and `sep` is present or,
2325 : !> <li> if the file is in [csv format or similar](@ref pm_io::csv_type) and `sep` is missing,
2326 : !> </ol>
2327 : !> The table read action will fail.<br>
2328 : !> If so, the algorithm will try to read the `table` again by reading it with the
2329 : !> alternative parser before completely failing and returning a non-zero code.<br>
2330 : !>
2331 : !> \devnote
2332 : !> The naming choice `sep` over `delim` or similar is deliberate.<br>
2333 : !> While many resources consider *separator* and *delimiter* identical, it is more sensible to consider *delimiter* as a character
2334 : !> set that determines what belong to a field, and *separator* as a character set that separates different fields from each other.<br>
2335 : !> This convention is also consistent with the Fortran standard terminology where delimiters are referred to as delimiters.<br>
2336 : !>
2337 : !> \see
2338 : !> [getRecordFrom](@ref pm_io::getRecordFrom)<br>
2339 : !> [setRecordFrom](@ref pm_io::setRecordFrom)<br>
2340 : !> [getContentsFrom](@ref pm_io::getContentsFrom)<br>
2341 : !> [setContentsFrom](@ref pm_io::setContentsFrom)<br>
2342 : !> [getErrTableRead](@ref pm_io::getErrTableRead)<br>
2343 : !> [getErrTableWrite](@ref pm_io::getErrTableWrite)<br>
2344 : !>
2345 : !> \example{getErrTableRead}
2346 : !> \include{lineno} example/pm_io/getErrTableRead/main.F90
2347 : !> \compilef{getErrTableRead}
2348 : !> \output{getErrTableRead}
2349 : !> \include{lineno} example/pm_io/getErrTableRead/main.out.F90
2350 : !>
2351 : !> \test
2352 : !> [test_pm_io](@ref test_pm_io)
2353 : !>
2354 : !> \todo
2355 : !> \phigh
2356 : !> When the user-specified `sep` contains a value other than `" "` or `,`, the current implementation cannot handle
2357 : !> the presence of new line characters within string single or double quote delimited fields in output tables of type `character`.<br>
2358 : !> This limitation can be fixed by tracking the delimiters while reading the contents of `table`.<br>
2359 : !>
2360 : !> \todo
2361 : !> \phigh
2362 : !> The `optional` input arguments `deliml` `delimr` must be added to allow parsing arbitrarily-delimited fields.<br>
2363 : !>
2364 : !> \todo
2365 : !> \pmed
2366 : !> The behavior of this generic interface for empty tables is currently undefined, although the `err` code is non-zero.<br>
2367 : !> This should be fixed.<br>
2368 : !>
2369 : !> \todo
2370 : !> \pmed
2371 : !> The non-intrinsic values for the output error code `err` must be standardized.<br>
2372 : !> Currently, the `err` is set to `-1` if an error occurs other than what is diagnosed by the compiler.<br>
2373 : !>
2374 : !> \todo
2375 : !> \pmed
2376 : !> An `optional` input argument `del` must be added to optionally delete the input `file` or `unit` upon **successful** reading of the `table`.<br>
2377 : !>
2378 : !> \todo
2379 : !> \pvhigh
2380 : !> In the current implementation, the behavior under an empty `sep` with `trans` option present is vague and untested.<br>
2381 : !> This must be clarified via testing and further improvements.<br>
2382 : !>
2383 : !> \finmain{getErrTableRead}
2384 : !>
2385 : !> \author
2386 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
2387 :
2388 : ! D1 file NO
2389 :
2390 : interface getErrTableRead
2391 :
2392 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2393 :
2394 : #if SK5_ENABLED
2395 : module function getErrTableReadFile_NO_D1_SK5(file, table, header, sep, roff, iomsg) result(err)
2396 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2397 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_SK5
2398 : #endif
2399 : use pm_kind, only: SKC => SK5
2400 : character(*,SKC) , intent(out) , allocatable :: table(:)
2401 : character(:, SK) , intent(out) , allocatable , optional :: header
2402 : character(*, SK) , intent(in) :: file
2403 : character(*, SK) , intent(in) , optional :: sep
2404 : character(*, SK) , intent(inout) , optional :: iomsg
2405 : integer(IK) , intent(in) , optional :: roff
2406 : integer(IK) :: err
2407 : end function
2408 : #endif
2409 :
2410 : #if SK4_ENABLED
2411 : module function getErrTableReadFile_NO_D1_SK4(file, table, header, sep, roff, iomsg) result(err)
2412 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2413 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_SK4
2414 : #endif
2415 : use pm_kind, only: SKC => SK4
2416 : character(*,SKC) , intent(out) , allocatable :: table(:)
2417 : character(:, SK) , intent(out) , allocatable , optional :: header
2418 : character(*, SK) , intent(in) :: file
2419 : character(*, SK) , intent(in) , optional :: sep
2420 : character(*, SK) , intent(inout) , optional :: iomsg
2421 : integer(IK) , intent(in) , optional :: roff
2422 : integer(IK) :: err
2423 : end function
2424 : #endif
2425 :
2426 : #if SK3_ENABLED
2427 : module function getErrTableReadFile_NO_D1_SK3(file, table, header, sep, roff, iomsg) result(err)
2428 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2429 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_SK3
2430 : #endif
2431 : use pm_kind, only: SKC => SK3
2432 : character(*,SKC) , intent(out) , allocatable :: table(:)
2433 : character(:, SK) , intent(out) , allocatable , optional :: header
2434 : character(*, SK) , intent(in) :: file
2435 : character(*, SK) , intent(in) , optional :: sep
2436 : character(*, SK) , intent(inout) , optional :: iomsg
2437 : integer(IK) , intent(in) , optional :: roff
2438 : integer(IK) :: err
2439 : end function
2440 : #endif
2441 :
2442 : #if SK2_ENABLED
2443 : module function getErrTableReadFile_NO_D1_SK2(file, table, header, sep, roff, iomsg) result(err)
2444 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2445 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_SK2
2446 : #endif
2447 : use pm_kind, only: SKC => SK2
2448 : character(*,SKC) , intent(out) , allocatable :: table(:)
2449 : character(:, SK) , intent(out) , allocatable , optional :: header
2450 : character(*, SK) , intent(in) :: file
2451 : character(*, SK) , intent(in) , optional :: sep
2452 : character(*, SK) , intent(inout) , optional :: iomsg
2453 : integer(IK) , intent(in) , optional :: roff
2454 : integer(IK) :: err
2455 : end function
2456 : #endif
2457 :
2458 : #if SK1_ENABLED
2459 : module function getErrTableReadFile_NO_D1_SK1(file, table, header, sep, roff, iomsg) result(err)
2460 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2461 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_SK1
2462 : #endif
2463 : use pm_kind, only: SKC => SK1
2464 : character(*,SKC) , intent(out) , allocatable :: table(:)
2465 : character(:, SK) , intent(out) , allocatable , optional :: header
2466 : character(*, SK) , intent(in) :: file
2467 : character(*, SK) , intent(in) , optional :: sep
2468 : character(*, SK) , intent(inout) , optional :: iomsg
2469 : integer(IK) , intent(in) , optional :: roff
2470 : integer(IK) :: err
2471 : end function
2472 : #endif
2473 :
2474 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2475 :
2476 : #if IK5_ENABLED
2477 : module function getErrTableReadFile_NO_D1_IK5(file, table, header, sep, roff, iomsg) result(err)
2478 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2479 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_IK5
2480 : #endif
2481 : use pm_kind, only: IKC => IK5
2482 : integer(IKC) , intent(out) , allocatable :: table(:)
2483 : character(:, SK) , intent(out) , allocatable , optional :: header
2484 : character(*, SK) , intent(in) :: file
2485 : character(*, SK) , intent(in) , optional :: sep
2486 : character(*, SK) , intent(inout) , optional :: iomsg
2487 : integer(IK) , intent(in) , optional :: roff
2488 : integer(IK) :: err
2489 : end function
2490 : #endif
2491 :
2492 : #if IK4_ENABLED
2493 : module function getErrTableReadFile_NO_D1_IK4(file, table, header, sep, roff, iomsg) result(err)
2494 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2495 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_IK4
2496 : #endif
2497 : use pm_kind, only: IKC => IK4
2498 : integer(IKC) , intent(out) , allocatable :: table(:)
2499 : character(:, SK) , intent(out) , allocatable , optional :: header
2500 : character(*, SK) , intent(in) :: file
2501 : character(*, SK) , intent(in) , optional :: sep
2502 : character(*, SK) , intent(inout) , optional :: iomsg
2503 : integer(IK) , intent(in) , optional :: roff
2504 : integer(IK) :: err
2505 : end function
2506 : #endif
2507 :
2508 : #if IK3_ENABLED
2509 : module function getErrTableReadFile_NO_D1_IK3(file, table, header, sep, roff, iomsg) result(err)
2510 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2511 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_IK3
2512 : #endif
2513 : use pm_kind, only: IKC => IK3
2514 : integer(IKC) , intent(out) , allocatable :: table(:)
2515 : character(:, SK) , intent(out) , allocatable , optional :: header
2516 : character(*, SK) , intent(in) :: file
2517 : character(*, SK) , intent(in) , optional :: sep
2518 : character(*, SK) , intent(inout) , optional :: iomsg
2519 : integer(IK) , intent(in) , optional :: roff
2520 : integer(IK) :: err
2521 : end function
2522 : #endif
2523 :
2524 : #if IK2_ENABLED
2525 : module function getErrTableReadFile_NO_D1_IK2(file, table, header, sep, roff, iomsg) result(err)
2526 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2527 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_IK2
2528 : #endif
2529 : use pm_kind, only: IKC => IK2
2530 : integer(IKC) , intent(out) , allocatable :: table(:)
2531 : character(:, SK) , intent(out) , allocatable , optional :: header
2532 : character(*, SK) , intent(in) :: file
2533 : character(*, SK) , intent(in) , optional :: sep
2534 : character(*, SK) , intent(inout) , optional :: iomsg
2535 : integer(IK) , intent(in) , optional :: roff
2536 : integer(IK) :: err
2537 : end function
2538 : #endif
2539 :
2540 : #if IK1_ENABLED
2541 : module function getErrTableReadFile_NO_D1_IK1(file, table, header, sep, roff, iomsg) result(err)
2542 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2543 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_IK1
2544 : #endif
2545 : use pm_kind, only: IKC => IK1
2546 : integer(IKC) , intent(out) , allocatable :: table(:)
2547 : character(:, SK) , intent(out) , allocatable , optional :: header
2548 : character(*, SK) , intent(in) :: file
2549 : character(*, SK) , intent(in) , optional :: sep
2550 : character(*, SK) , intent(inout) , optional :: iomsg
2551 : integer(IK) , intent(in) , optional :: roff
2552 : integer(IK) :: err
2553 : end function
2554 : #endif
2555 :
2556 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2557 :
2558 : #if LK5_ENABLED
2559 : module function getErrTableReadFile_NO_D1_LK5(file, table, header, sep, roff, iomsg) result(err)
2560 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2561 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_LK5
2562 : #endif
2563 : use pm_kind, only: LKC => LK5
2564 : logical(LKC) , intent(out) , allocatable :: table(:)
2565 : character(:, SK) , intent(out) , allocatable , optional :: header
2566 : character(*, SK) , intent(in) :: file
2567 : character(*, SK) , intent(in) , optional :: sep
2568 : character(*, SK) , intent(inout) , optional :: iomsg
2569 : integer(IK) , intent(in) , optional :: roff
2570 : integer(IK) :: err
2571 : end function
2572 : #endif
2573 :
2574 : #if LK4_ENABLED
2575 : module function getErrTableReadFile_NO_D1_LK4(file, table, header, sep, roff, iomsg) result(err)
2576 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2577 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_LK4
2578 : #endif
2579 : use pm_kind, only: LKC => LK4
2580 : logical(LKC) , intent(out) , allocatable :: table(:)
2581 : character(:, SK) , intent(out) , allocatable , optional :: header
2582 : character(*, SK) , intent(in) :: file
2583 : character(*, SK) , intent(in) , optional :: sep
2584 : character(*, SK) , intent(inout) , optional :: iomsg
2585 : integer(IK) , intent(in) , optional :: roff
2586 : integer(IK) :: err
2587 : end function
2588 : #endif
2589 :
2590 : #if LK3_ENABLED
2591 : module function getErrTableReadFile_NO_D1_LK3(file, table, header, sep, roff, iomsg) result(err)
2592 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2593 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_LK3
2594 : #endif
2595 : use pm_kind, only: LKC => LK3
2596 : logical(LKC) , intent(out) , allocatable :: table(:)
2597 : character(:, SK) , intent(out) , allocatable , optional :: header
2598 : character(*, SK) , intent(in) :: file
2599 : character(*, SK) , intent(in) , optional :: sep
2600 : character(*, SK) , intent(inout) , optional :: iomsg
2601 : integer(IK) , intent(in) , optional :: roff
2602 : integer(IK) :: err
2603 : end function
2604 : #endif
2605 :
2606 : #if LK2_ENABLED
2607 : module function getErrTableReadFile_NO_D1_LK2(file, table, header, sep, roff, iomsg) result(err)
2608 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2609 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_LK2
2610 : #endif
2611 : use pm_kind, only: LKC => LK2
2612 : logical(LKC) , intent(out) , allocatable :: table(:)
2613 : character(:, SK) , intent(out) , allocatable , optional :: header
2614 : character(*, SK) , intent(in) :: file
2615 : character(*, SK) , intent(in) , optional :: sep
2616 : character(*, SK) , intent(inout) , optional :: iomsg
2617 : integer(IK) , intent(in) , optional :: roff
2618 : integer(IK) :: err
2619 : end function
2620 : #endif
2621 :
2622 : #if LK1_ENABLED
2623 : module function getErrTableReadFile_NO_D1_LK1(file, table, header, sep, roff, iomsg) result(err)
2624 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2625 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_LK1
2626 : #endif
2627 : use pm_kind, only: LKC => LK1
2628 : logical(LKC) , intent(out) , allocatable :: table(:)
2629 : character(:, SK) , intent(out) , allocatable , optional :: header
2630 : character(*, SK) , intent(in) :: file
2631 : character(*, SK) , intent(in) , optional :: sep
2632 : character(*, SK) , intent(inout) , optional :: iomsg
2633 : integer(IK) , intent(in) , optional :: roff
2634 : integer(IK) :: err
2635 : end function
2636 : #endif
2637 :
2638 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2639 :
2640 : #if CK5_ENABLED
2641 : module function getErrTableReadFile_NO_D1_CK5(file, table, header, sep, roff, iomsg) result(err)
2642 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2643 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_CK5
2644 : #endif
2645 : use pm_kind, only: CKC => CK5
2646 : complex(CKC) , intent(out) , allocatable :: table(:)
2647 : character(:, SK) , intent(out) , allocatable , optional :: header
2648 : character(*, SK) , intent(in) :: file
2649 : character(*, SK) , intent(in) , optional :: sep
2650 : character(*, SK) , intent(inout) , optional :: iomsg
2651 : integer(IK) , intent(in) , optional :: roff
2652 : integer(IK) :: err
2653 : end function
2654 : #endif
2655 :
2656 : #if CK4_ENABLED
2657 : module function getErrTableReadFile_NO_D1_CK4(file, table, header, sep, roff, iomsg) result(err)
2658 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2659 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_CK4
2660 : #endif
2661 : use pm_kind, only: CKC => CK4
2662 : complex(CKC) , intent(out) , allocatable :: table(:)
2663 : character(:, SK) , intent(out) , allocatable , optional :: header
2664 : character(*, SK) , intent(in) :: file
2665 : character(*, SK) , intent(in) , optional :: sep
2666 : character(*, SK) , intent(inout) , optional :: iomsg
2667 : integer(IK) , intent(in) , optional :: roff
2668 : integer(IK) :: err
2669 : end function
2670 : #endif
2671 :
2672 : #if CK3_ENABLED
2673 : module function getErrTableReadFile_NO_D1_CK3(file, table, header, sep, roff, iomsg) result(err)
2674 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2675 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_CK3
2676 : #endif
2677 : use pm_kind, only: CKC => CK3
2678 : complex(CKC) , intent(out) , allocatable :: table(:)
2679 : character(:, SK) , intent(out) , allocatable , optional :: header
2680 : character(*, SK) , intent(in) :: file
2681 : character(*, SK) , intent(in) , optional :: sep
2682 : character(*, SK) , intent(inout) , optional :: iomsg
2683 : integer(IK) , intent(in) , optional :: roff
2684 : integer(IK) :: err
2685 : end function
2686 : #endif
2687 :
2688 : #if CK2_ENABLED
2689 : module function getErrTableReadFile_NO_D1_CK2(file, table, header, sep, roff, iomsg) result(err)
2690 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2691 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_CK2
2692 : #endif
2693 : use pm_kind, only: CKC => CK2
2694 : complex(CKC) , intent(out) , allocatable :: table(:)
2695 : character(:, SK) , intent(out) , allocatable , optional :: header
2696 : character(*, SK) , intent(in) :: file
2697 : character(*, SK) , intent(in) , optional :: sep
2698 : character(*, SK) , intent(inout) , optional :: iomsg
2699 : integer(IK) , intent(in) , optional :: roff
2700 : integer(IK) :: err
2701 : end function
2702 : #endif
2703 :
2704 : #if CK1_ENABLED
2705 : module function getErrTableReadFile_NO_D1_CK1(file, table, header, sep, roff, iomsg) result(err)
2706 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2707 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_CK1
2708 : #endif
2709 : use pm_kind, only: CKC => CK1
2710 : complex(CKC) , intent(out) , allocatable :: table(:)
2711 : character(:, SK) , intent(out) , allocatable , optional :: header
2712 : character(*, SK) , intent(in) :: file
2713 : character(*, SK) , intent(in) , optional :: sep
2714 : character(*, SK) , intent(inout) , optional :: iomsg
2715 : integer(IK) , intent(in) , optional :: roff
2716 : integer(IK) :: err
2717 : end function
2718 : #endif
2719 :
2720 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2721 :
2722 : #if RK5_ENABLED
2723 : module function getErrTableReadFile_NO_D1_RK5(file, table, header, sep, roff, iomsg) result(err)
2724 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2725 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_RK5
2726 : #endif
2727 : use pm_kind, only: RKC => RK5
2728 : real(RKC) , intent(out) , allocatable :: table(:)
2729 : character(:, SK) , intent(out) , allocatable , optional :: header
2730 : character(*, SK) , intent(in) :: file
2731 : character(*, SK) , intent(in) , optional :: sep
2732 : character(*, SK) , intent(inout) , optional :: iomsg
2733 : integer(IK) , intent(in) , optional :: roff
2734 : integer(IK) :: err
2735 : end function
2736 : #endif
2737 :
2738 : #if RK4_ENABLED
2739 : module function getErrTableReadFile_NO_D1_RK4(file, table, header, sep, roff, iomsg) result(err)
2740 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2741 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_RK4
2742 : #endif
2743 : use pm_kind, only: RKC => RK4
2744 : real(RKC) , intent(out) , allocatable :: table(:)
2745 : character(:, SK) , intent(out) , allocatable , optional :: header
2746 : character(*, SK) , intent(in) :: file
2747 : character(*, SK) , intent(in) , optional :: sep
2748 : character(*, SK) , intent(inout) , optional :: iomsg
2749 : integer(IK) , intent(in) , optional :: roff
2750 : integer(IK) :: err
2751 : end function
2752 : #endif
2753 :
2754 : #if RK3_ENABLED
2755 : module function getErrTableReadFile_NO_D1_RK3(file, table, header, sep, roff, iomsg) result(err)
2756 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2757 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_RK3
2758 : #endif
2759 : use pm_kind, only: RKC => RK3
2760 : real(RKC) , intent(out) , allocatable :: table(:)
2761 : character(:, SK) , intent(out) , allocatable , optional :: header
2762 : character(*, SK) , intent(in) :: file
2763 : character(*, SK) , intent(in) , optional :: sep
2764 : character(*, SK) , intent(inout) , optional :: iomsg
2765 : integer(IK) , intent(in) , optional :: roff
2766 : integer(IK) :: err
2767 : end function
2768 : #endif
2769 :
2770 : #if RK2_ENABLED
2771 : module function getErrTableReadFile_NO_D1_RK2(file, table, header, sep, roff, iomsg) result(err)
2772 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2773 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_RK2
2774 : #endif
2775 : use pm_kind, only: RKC => RK2
2776 : real(RKC) , intent(out) , allocatable :: table(:)
2777 : character(:, SK) , intent(out) , allocatable , optional :: header
2778 : character(*, SK) , intent(in) :: file
2779 : character(*, SK) , intent(in) , optional :: sep
2780 : character(*, SK) , intent(inout) , optional :: iomsg
2781 : integer(IK) , intent(in) , optional :: roff
2782 : integer(IK) :: err
2783 : end function
2784 : #endif
2785 :
2786 : #if RK1_ENABLED
2787 : module function getErrTableReadFile_NO_D1_RK1(file, table, header, sep, roff, iomsg) result(err)
2788 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2789 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D1_RK1
2790 : #endif
2791 : use pm_kind, only: RKC => RK1
2792 : real(RKC) , intent(out) , allocatable :: table(:)
2793 : character(:, SK) , intent(out) , allocatable , optional :: header
2794 : character(*, SK) , intent(in) :: file
2795 : character(*, SK) , intent(in) , optional :: sep
2796 : character(*, SK) , intent(inout) , optional :: iomsg
2797 : integer(IK) , intent(in) , optional :: roff
2798 : integer(IK) :: err
2799 : end function
2800 : #endif
2801 :
2802 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2803 :
2804 : end interface
2805 :
2806 : ! D1 unit NO
2807 :
2808 : interface getErrTableRead
2809 :
2810 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2811 :
2812 : #if SK5_ENABLED
2813 : module function getErrTableReadUnit_NO_D1_SK5(unit, table, header, sep, roff, iomsg) result(err)
2814 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2815 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_SK5
2816 : #endif
2817 : use pm_kind, only: SKC => SK5
2818 : character(*,SKC) , intent(out) , allocatable :: table(:)
2819 : character(:, SK) , intent(out) , allocatable , optional :: header
2820 : character(*, SK) , intent(in) , optional :: sep
2821 : character(*, SK) , intent(inout) , optional :: iomsg
2822 : integer(IK) , intent(in) , optional :: roff
2823 : integer(IK) , intent(in) :: unit
2824 : integer(IK) :: err
2825 : end function
2826 : #endif
2827 :
2828 : #if SK4_ENABLED
2829 : module function getErrTableReadUnit_NO_D1_SK4(unit, table, header, sep, roff, iomsg) result(err)
2830 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2831 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_SK4
2832 : #endif
2833 : use pm_kind, only: SKC => SK4
2834 : character(*,SKC) , intent(out) , allocatable :: table(:)
2835 : character(:, SK) , intent(out) , allocatable , optional :: header
2836 : character(*, SK) , intent(in) , optional :: sep
2837 : character(*, SK) , intent(inout) , optional :: iomsg
2838 : integer(IK) , intent(in) , optional :: roff
2839 : integer(IK) , intent(in) :: unit
2840 : integer(IK) :: err
2841 : end function
2842 : #endif
2843 :
2844 : #if SK3_ENABLED
2845 : module function getErrTableReadUnit_NO_D1_SK3(unit, table, header, sep, roff, iomsg) result(err)
2846 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2847 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_SK3
2848 : #endif
2849 : use pm_kind, only: SKC => SK3
2850 : character(*,SKC) , intent(out) , allocatable :: table(:)
2851 : character(:, SK) , intent(out) , allocatable , optional :: header
2852 : character(*, SK) , intent(in) , optional :: sep
2853 : character(*, SK) , intent(inout) , optional :: iomsg
2854 : integer(IK) , intent(in) , optional :: roff
2855 : integer(IK) , intent(in) :: unit
2856 : integer(IK) :: err
2857 : end function
2858 : #endif
2859 :
2860 : #if SK2_ENABLED
2861 : module function getErrTableReadUnit_NO_D1_SK2(unit, table, header, sep, roff, iomsg) result(err)
2862 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2863 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_SK2
2864 : #endif
2865 : use pm_kind, only: SKC => SK2
2866 : character(*,SKC) , intent(out) , allocatable :: table(:)
2867 : character(:, SK) , intent(out) , allocatable , optional :: header
2868 : character(*, SK) , intent(in) , optional :: sep
2869 : character(*, SK) , intent(inout) , optional :: iomsg
2870 : integer(IK) , intent(in) , optional :: roff
2871 : integer(IK) , intent(in) :: unit
2872 : integer(IK) :: err
2873 : end function
2874 : #endif
2875 :
2876 : #if SK1_ENABLED
2877 : module function getErrTableReadUnit_NO_D1_SK1(unit, table, header, sep, roff, iomsg) result(err)
2878 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2879 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_SK1
2880 : #endif
2881 : use pm_kind, only: SKC => SK1
2882 : character(*,SKC) , intent(out) , allocatable :: table(:)
2883 : character(:, SK) , intent(out) , allocatable , optional :: header
2884 : character(*, SK) , intent(in) , optional :: sep
2885 : character(*, SK) , intent(inout) , optional :: iomsg
2886 : integer(IK) , intent(in) , optional :: roff
2887 : integer(IK) , intent(in) :: unit
2888 : integer(IK) :: err
2889 : end function
2890 : #endif
2891 :
2892 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2893 :
2894 : #if IK5_ENABLED
2895 : module function getErrTableReadUnit_NO_D1_IK5(unit, table, header, sep, roff, iomsg) result(err)
2896 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2897 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_IK5
2898 : #endif
2899 : use pm_kind, only: IKC => IK5
2900 : integer(IKC) , intent(out) , allocatable :: table(:)
2901 : character(:, SK) , intent(out) , allocatable , optional :: header
2902 : character(*, SK) , intent(in) , optional :: sep
2903 : character(*, SK) , intent(inout) , optional :: iomsg
2904 : integer(IK) , intent(in) , optional :: roff
2905 : integer(IK) , intent(in) :: unit
2906 : integer(IK) :: err
2907 : end function
2908 : #endif
2909 :
2910 : #if IK4_ENABLED
2911 : module function getErrTableReadUnit_NO_D1_IK4(unit, table, header, sep, roff, iomsg) result(err)
2912 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2913 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_IK4
2914 : #endif
2915 : use pm_kind, only: IKC => IK4
2916 : integer(IKC) , intent(out) , allocatable :: table(:)
2917 : character(:, SK) , intent(out) , allocatable , optional :: header
2918 : character(*, SK) , intent(in) , optional :: sep
2919 : character(*, SK) , intent(inout) , optional :: iomsg
2920 : integer(IK) , intent(in) , optional :: roff
2921 : integer(IK) , intent(in) :: unit
2922 : integer(IK) :: err
2923 : end function
2924 : #endif
2925 :
2926 : #if IK3_ENABLED
2927 : module function getErrTableReadUnit_NO_D1_IK3(unit, table, header, sep, roff, iomsg) result(err)
2928 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2929 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_IK3
2930 : #endif
2931 : use pm_kind, only: IKC => IK3
2932 : integer(IKC) , intent(out) , allocatable :: table(:)
2933 : character(:, SK) , intent(out) , allocatable , optional :: header
2934 : character(*, SK) , intent(in) , optional :: sep
2935 : character(*, SK) , intent(inout) , optional :: iomsg
2936 : integer(IK) , intent(in) , optional :: roff
2937 : integer(IK) , intent(in) :: unit
2938 : integer(IK) :: err
2939 : end function
2940 : #endif
2941 :
2942 : #if IK2_ENABLED
2943 : module function getErrTableReadUnit_NO_D1_IK2(unit, table, header, sep, roff, iomsg) result(err)
2944 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2945 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_IK2
2946 : #endif
2947 : use pm_kind, only: IKC => IK2
2948 : integer(IKC) , intent(out) , allocatable :: table(:)
2949 : character(:, SK) , intent(out) , allocatable , optional :: header
2950 : character(*, SK) , intent(in) , optional :: sep
2951 : character(*, SK) , intent(inout) , optional :: iomsg
2952 : integer(IK) , intent(in) , optional :: roff
2953 : integer(IK) , intent(in) :: unit
2954 : integer(IK) :: err
2955 : end function
2956 : #endif
2957 :
2958 : #if IK1_ENABLED
2959 : module function getErrTableReadUnit_NO_D1_IK1(unit, table, header, sep, roff, iomsg) result(err)
2960 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2961 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_IK1
2962 : #endif
2963 : use pm_kind, only: IKC => IK1
2964 : integer(IKC) , intent(out) , allocatable :: table(:)
2965 : character(:, SK) , intent(out) , allocatable , optional :: header
2966 : character(*, SK) , intent(in) , optional :: sep
2967 : character(*, SK) , intent(inout) , optional :: iomsg
2968 : integer(IK) , intent(in) , optional :: roff
2969 : integer(IK) , intent(in) :: unit
2970 : integer(IK) :: err
2971 : end function
2972 : #endif
2973 :
2974 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2975 :
2976 : #if LK5_ENABLED
2977 : module function getErrTableReadUnit_NO_D1_LK5(unit, table, header, sep, roff, iomsg) result(err)
2978 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2979 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_LK5
2980 : #endif
2981 : use pm_kind, only: LKC => LK5
2982 : logical(LKC) , intent(out) , allocatable :: table(:)
2983 : character(:, SK) , intent(out) , allocatable , optional :: header
2984 : character(*, SK) , intent(in) , optional :: sep
2985 : character(*, SK) , intent(inout) , optional :: iomsg
2986 : integer(IK) , intent(in) , optional :: roff
2987 : integer(IK) , intent(in) :: unit
2988 : integer(IK) :: err
2989 : end function
2990 : #endif
2991 :
2992 : #if LK4_ENABLED
2993 : module function getErrTableReadUnit_NO_D1_LK4(unit, table, header, sep, roff, iomsg) result(err)
2994 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2995 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_LK4
2996 : #endif
2997 : use pm_kind, only: LKC => LK4
2998 : logical(LKC) , intent(out) , allocatable :: table(:)
2999 : character(:, SK) , intent(out) , allocatable , optional :: header
3000 : character(*, SK) , intent(in) , optional :: sep
3001 : character(*, SK) , intent(inout) , optional :: iomsg
3002 : integer(IK) , intent(in) , optional :: roff
3003 : integer(IK) , intent(in) :: unit
3004 : integer(IK) :: err
3005 : end function
3006 : #endif
3007 :
3008 : #if LK3_ENABLED
3009 : module function getErrTableReadUnit_NO_D1_LK3(unit, table, header, sep, roff, iomsg) result(err)
3010 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3011 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_LK3
3012 : #endif
3013 : use pm_kind, only: LKC => LK3
3014 : logical(LKC) , intent(out) , allocatable :: table(:)
3015 : character(:, SK) , intent(out) , allocatable , optional :: header
3016 : character(*, SK) , intent(in) , optional :: sep
3017 : character(*, SK) , intent(inout) , optional :: iomsg
3018 : integer(IK) , intent(in) , optional :: roff
3019 : integer(IK) , intent(in) :: unit
3020 : integer(IK) :: err
3021 : end function
3022 : #endif
3023 :
3024 : #if LK2_ENABLED
3025 : module function getErrTableReadUnit_NO_D1_LK2(unit, table, header, sep, roff, iomsg) result(err)
3026 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3027 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_LK2
3028 : #endif
3029 : use pm_kind, only: LKC => LK2
3030 : logical(LKC) , intent(out) , allocatable :: table(:)
3031 : character(:, SK) , intent(out) , allocatable , optional :: header
3032 : character(*, SK) , intent(in) , optional :: sep
3033 : character(*, SK) , intent(inout) , optional :: iomsg
3034 : integer(IK) , intent(in) , optional :: roff
3035 : integer(IK) , intent(in) :: unit
3036 : integer(IK) :: err
3037 : end function
3038 : #endif
3039 :
3040 : #if LK1_ENABLED
3041 : module function getErrTableReadUnit_NO_D1_LK1(unit, table, header, sep, roff, iomsg) result(err)
3042 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3043 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_LK1
3044 : #endif
3045 : use pm_kind, only: LKC => LK1
3046 : logical(LKC) , intent(out) , allocatable :: table(:)
3047 : character(:, SK) , intent(out) , allocatable , optional :: header
3048 : character(*, SK) , intent(in) , optional :: sep
3049 : character(*, SK) , intent(inout) , optional :: iomsg
3050 : integer(IK) , intent(in) , optional :: roff
3051 : integer(IK) , intent(in) :: unit
3052 : integer(IK) :: err
3053 : end function
3054 : #endif
3055 :
3056 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3057 :
3058 : #if CK5_ENABLED
3059 : module function getErrTableReadUnit_NO_D1_CK5(unit, table, header, sep, roff, iomsg) result(err)
3060 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3061 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_CK5
3062 : #endif
3063 : use pm_kind, only: CKC => CK5
3064 : complex(CKC) , intent(out) , allocatable :: table(:)
3065 : character(:, SK) , intent(out) , allocatable , optional :: header
3066 : character(*, SK) , intent(in) , optional :: sep
3067 : character(*, SK) , intent(inout) , optional :: iomsg
3068 : integer(IK) , intent(in) , optional :: roff
3069 : integer(IK) , intent(in) :: unit
3070 : integer(IK) :: err
3071 : end function
3072 : #endif
3073 :
3074 : #if CK4_ENABLED
3075 : module function getErrTableReadUnit_NO_D1_CK4(unit, table, header, sep, roff, iomsg) result(err)
3076 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3077 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_CK4
3078 : #endif
3079 : use pm_kind, only: CKC => CK4
3080 : complex(CKC) , intent(out) , allocatable :: table(:)
3081 : character(:, SK) , intent(out) , allocatable , optional :: header
3082 : character(*, SK) , intent(in) , optional :: sep
3083 : character(*, SK) , intent(inout) , optional :: iomsg
3084 : integer(IK) , intent(in) , optional :: roff
3085 : integer(IK) , intent(in) :: unit
3086 : integer(IK) :: err
3087 : end function
3088 : #endif
3089 :
3090 : #if CK3_ENABLED
3091 : module function getErrTableReadUnit_NO_D1_CK3(unit, table, header, sep, roff, iomsg) result(err)
3092 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3093 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_CK3
3094 : #endif
3095 : use pm_kind, only: CKC => CK3
3096 : complex(CKC) , intent(out) , allocatable :: table(:)
3097 : character(:, SK) , intent(out) , allocatable , optional :: header
3098 : character(*, SK) , intent(in) , optional :: sep
3099 : character(*, SK) , intent(inout) , optional :: iomsg
3100 : integer(IK) , intent(in) , optional :: roff
3101 : integer(IK) , intent(in) :: unit
3102 : integer(IK) :: err
3103 : end function
3104 : #endif
3105 :
3106 : #if CK2_ENABLED
3107 : module function getErrTableReadUnit_NO_D1_CK2(unit, table, header, sep, roff, iomsg) result(err)
3108 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3109 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_CK2
3110 : #endif
3111 : use pm_kind, only: CKC => CK2
3112 : complex(CKC) , intent(out) , allocatable :: table(:)
3113 : character(:, SK) , intent(out) , allocatable , optional :: header
3114 : character(*, SK) , intent(in) , optional :: sep
3115 : character(*, SK) , intent(inout) , optional :: iomsg
3116 : integer(IK) , intent(in) , optional :: roff
3117 : integer(IK) , intent(in) :: unit
3118 : integer(IK) :: err
3119 : end function
3120 : #endif
3121 :
3122 : #if CK1_ENABLED
3123 : module function getErrTableReadUnit_NO_D1_CK1(unit, table, header, sep, roff, iomsg) result(err)
3124 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3125 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_CK1
3126 : #endif
3127 : use pm_kind, only: CKC => CK1
3128 : complex(CKC) , intent(out) , allocatable :: table(:)
3129 : character(:, SK) , intent(out) , allocatable , optional :: header
3130 : character(*, SK) , intent(in) , optional :: sep
3131 : character(*, SK) , intent(inout) , optional :: iomsg
3132 : integer(IK) , intent(in) , optional :: roff
3133 : integer(IK) , intent(in) :: unit
3134 : integer(IK) :: err
3135 : end function
3136 : #endif
3137 :
3138 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3139 :
3140 : #if RK5_ENABLED
3141 : module function getErrTableReadUnit_NO_D1_RK5(unit, table, header, sep, roff, iomsg) result(err)
3142 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3143 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_RK5
3144 : #endif
3145 : use pm_kind, only: RKC => RK5
3146 : real(RKC) , intent(out) , allocatable :: table(:)
3147 : character(:, SK) , intent(out) , allocatable , optional :: header
3148 : character(*, SK) , intent(in) , optional :: sep
3149 : character(*, SK) , intent(inout) , optional :: iomsg
3150 : integer(IK) , intent(in) , optional :: roff
3151 : integer(IK) , intent(in) :: unit
3152 : integer(IK) :: err
3153 : end function
3154 : #endif
3155 :
3156 : #if RK4_ENABLED
3157 : module function getErrTableReadUnit_NO_D1_RK4(unit, table, header, sep, roff, iomsg) result(err)
3158 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3159 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_RK4
3160 : #endif
3161 : use pm_kind, only: RKC => RK4
3162 : real(RKC) , intent(out) , allocatable :: table(:)
3163 : character(:, SK) , intent(out) , allocatable , optional :: header
3164 : character(*, SK) , intent(in) , optional :: sep
3165 : character(*, SK) , intent(inout) , optional :: iomsg
3166 : integer(IK) , intent(in) , optional :: roff
3167 : integer(IK) , intent(in) :: unit
3168 : integer(IK) :: err
3169 : end function
3170 : #endif
3171 :
3172 : #if RK3_ENABLED
3173 : module function getErrTableReadUnit_NO_D1_RK3(unit, table, header, sep, roff, iomsg) result(err)
3174 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3175 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_RK3
3176 : #endif
3177 : use pm_kind, only: RKC => RK3
3178 : real(RKC) , intent(out) , allocatable :: table(:)
3179 : character(:, SK) , intent(out) , allocatable , optional :: header
3180 : character(*, SK) , intent(in) , optional :: sep
3181 : character(*, SK) , intent(inout) , optional :: iomsg
3182 : integer(IK) , intent(in) , optional :: roff
3183 : integer(IK) , intent(in) :: unit
3184 : integer(IK) :: err
3185 : end function
3186 : #endif
3187 :
3188 : #if RK2_ENABLED
3189 : module function getErrTableReadUnit_NO_D1_RK2(unit, table, header, sep, roff, iomsg) result(err)
3190 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3191 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_RK2
3192 : #endif
3193 : use pm_kind, only: RKC => RK2
3194 : real(RKC) , intent(out) , allocatable :: table(:)
3195 : character(:, SK) , intent(out) , allocatable , optional :: header
3196 : character(*, SK) , intent(in) , optional :: sep
3197 : character(*, SK) , intent(inout) , optional :: iomsg
3198 : integer(IK) , intent(in) , optional :: roff
3199 : integer(IK) , intent(in) :: unit
3200 : integer(IK) :: err
3201 : end function
3202 : #endif
3203 :
3204 : #if RK1_ENABLED
3205 : module function getErrTableReadUnit_NO_D1_RK1(unit, table, header, sep, roff, iomsg) result(err)
3206 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3207 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D1_RK1
3208 : #endif
3209 : use pm_kind, only: RKC => RK1
3210 : real(RKC) , intent(out) , allocatable :: table(:)
3211 : character(:, SK) , intent(out) , allocatable , optional :: header
3212 : character(*, SK) , intent(in) , optional :: sep
3213 : character(*, SK) , intent(inout) , optional :: iomsg
3214 : integer(IK) , intent(in) , optional :: roff
3215 : integer(IK) , intent(in) :: unit
3216 : integer(IK) :: err
3217 : end function
3218 : #endif
3219 :
3220 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3221 :
3222 : end interface
3223 :
3224 : ! D2 file NO
3225 :
3226 : interface getErrTableRead
3227 :
3228 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3229 :
3230 : #if SK5_ENABLED
3231 : module function getErrTableReadFile_NO_D2_SK5(file, table, header, sep, roff, iomsg) result(err)
3232 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3233 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_SK5
3234 : #endif
3235 : use pm_kind, only: SKC => SK5
3236 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
3237 : character(:, SK) , intent(out) , allocatable , optional :: header
3238 : character(*, SK) , intent(in) :: file
3239 : character(*, SK) , intent(in) , optional :: sep
3240 : character(*, SK) , intent(inout) , optional :: iomsg
3241 : integer(IK) , intent(in) , optional :: roff
3242 : integer(IK) :: err
3243 : end function
3244 : #endif
3245 :
3246 : #if SK4_ENABLED
3247 : module function getErrTableReadFile_NO_D2_SK4(file, table, header, sep, roff, iomsg) result(err)
3248 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3249 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_SK4
3250 : #endif
3251 : use pm_kind, only: SKC => SK4
3252 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
3253 : character(:, SK) , intent(out) , allocatable , optional :: header
3254 : character(*, SK) , intent(in) :: file
3255 : character(*, SK) , intent(in) , optional :: sep
3256 : character(*, SK) , intent(inout) , optional :: iomsg
3257 : integer(IK) , intent(in) , optional :: roff
3258 : integer(IK) :: err
3259 : end function
3260 : #endif
3261 :
3262 : #if SK3_ENABLED
3263 : module function getErrTableReadFile_NO_D2_SK3(file, table, header, sep, roff, iomsg) result(err)
3264 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3265 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_SK3
3266 : #endif
3267 : use pm_kind, only: SKC => SK3
3268 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
3269 : character(:, SK) , intent(out) , allocatable , optional :: header
3270 : character(*, SK) , intent(in) :: file
3271 : character(*, SK) , intent(in) , optional :: sep
3272 : character(*, SK) , intent(inout) , optional :: iomsg
3273 : integer(IK) , intent(in) , optional :: roff
3274 : integer(IK) :: err
3275 : end function
3276 : #endif
3277 :
3278 : #if SK2_ENABLED
3279 : module function getErrTableReadFile_NO_D2_SK2(file, table, header, sep, roff, iomsg) result(err)
3280 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3281 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_SK2
3282 : #endif
3283 : use pm_kind, only: SKC => SK2
3284 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
3285 : character(:, SK) , intent(out) , allocatable , optional :: header
3286 : character(*, SK) , intent(in) :: file
3287 : character(*, SK) , intent(in) , optional :: sep
3288 : character(*, SK) , intent(inout) , optional :: iomsg
3289 : integer(IK) , intent(in) , optional :: roff
3290 : integer(IK) :: err
3291 : end function
3292 : #endif
3293 :
3294 : #if SK1_ENABLED
3295 : module function getErrTableReadFile_NO_D2_SK1(file, table, header, sep, roff, iomsg) result(err)
3296 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3297 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_SK1
3298 : #endif
3299 : use pm_kind, only: SKC => SK1
3300 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
3301 : character(:, SK) , intent(out) , allocatable , optional :: header
3302 : character(*, SK) , intent(in) :: file
3303 : character(*, SK) , intent(in) , optional :: sep
3304 : character(*, SK) , intent(inout) , optional :: iomsg
3305 : integer(IK) , intent(in) , optional :: roff
3306 : integer(IK) :: err
3307 : end function
3308 : #endif
3309 :
3310 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3311 :
3312 : #if IK5_ENABLED
3313 : module function getErrTableReadFile_NO_D2_IK5(file, table, header, sep, roff, iomsg) result(err)
3314 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3315 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_IK5
3316 : #endif
3317 : use pm_kind, only: IKC => IK5
3318 : integer(IKC) , intent(out) , allocatable :: table(:,:)
3319 : character(:, SK) , intent(out) , allocatable , optional :: header
3320 : character(*, SK) , intent(in) :: file
3321 : character(*, SK) , intent(in) , optional :: sep
3322 : character(*, SK) , intent(inout) , optional :: iomsg
3323 : integer(IK) , intent(in) , optional :: roff
3324 : integer(IK) :: err
3325 : end function
3326 : #endif
3327 :
3328 : #if IK4_ENABLED
3329 : module function getErrTableReadFile_NO_D2_IK4(file, table, header, sep, roff, iomsg) result(err)
3330 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3331 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_IK4
3332 : #endif
3333 : use pm_kind, only: IKC => IK4
3334 : integer(IKC) , intent(out) , allocatable :: table(:,:)
3335 : character(:, SK) , intent(out) , allocatable , optional :: header
3336 : character(*, SK) , intent(in) :: file
3337 : character(*, SK) , intent(in) , optional :: sep
3338 : character(*, SK) , intent(inout) , optional :: iomsg
3339 : integer(IK) , intent(in) , optional :: roff
3340 : integer(IK) :: err
3341 : end function
3342 : #endif
3343 :
3344 : #if IK3_ENABLED
3345 : module function getErrTableReadFile_NO_D2_IK3(file, table, header, sep, roff, iomsg) result(err)
3346 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3347 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_IK3
3348 : #endif
3349 : use pm_kind, only: IKC => IK3
3350 : integer(IKC) , intent(out) , allocatable :: table(:,:)
3351 : character(:, SK) , intent(out) , allocatable , optional :: header
3352 : character(*, SK) , intent(in) :: file
3353 : character(*, SK) , intent(in) , optional :: sep
3354 : character(*, SK) , intent(inout) , optional :: iomsg
3355 : integer(IK) , intent(in) , optional :: roff
3356 : integer(IK) :: err
3357 : end function
3358 : #endif
3359 :
3360 : #if IK2_ENABLED
3361 : module function getErrTableReadFile_NO_D2_IK2(file, table, header, sep, roff, iomsg) result(err)
3362 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3363 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_IK2
3364 : #endif
3365 : use pm_kind, only: IKC => IK2
3366 : integer(IKC) , intent(out) , allocatable :: table(:,:)
3367 : character(:, SK) , intent(out) , allocatable , optional :: header
3368 : character(*, SK) , intent(in) :: file
3369 : character(*, SK) , intent(in) , optional :: sep
3370 : character(*, SK) , intent(inout) , optional :: iomsg
3371 : integer(IK) , intent(in) , optional :: roff
3372 : integer(IK) :: err
3373 : end function
3374 : #endif
3375 :
3376 : #if IK1_ENABLED
3377 : module function getErrTableReadFile_NO_D2_IK1(file, table, header, sep, roff, iomsg) result(err)
3378 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3379 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_IK1
3380 : #endif
3381 : use pm_kind, only: IKC => IK1
3382 : integer(IKC) , intent(out) , allocatable :: table(:,:)
3383 : character(:, SK) , intent(out) , allocatable , optional :: header
3384 : character(*, SK) , intent(in) :: file
3385 : character(*, SK) , intent(in) , optional :: sep
3386 : character(*, SK) , intent(inout) , optional :: iomsg
3387 : integer(IK) , intent(in) , optional :: roff
3388 : integer(IK) :: err
3389 : end function
3390 : #endif
3391 :
3392 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3393 :
3394 : #if LK5_ENABLED
3395 : module function getErrTableReadFile_NO_D2_LK5(file, table, header, sep, roff, iomsg) result(err)
3396 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3397 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_LK5
3398 : #endif
3399 : use pm_kind, only: LKC => LK5
3400 : logical(LKC) , intent(out) , allocatable :: table(:,:)
3401 : character(:, SK) , intent(out) , allocatable , optional :: header
3402 : character(*, SK) , intent(in) :: file
3403 : character(*, SK) , intent(in) , optional :: sep
3404 : character(*, SK) , intent(inout) , optional :: iomsg
3405 : integer(IK) , intent(in) , optional :: roff
3406 : integer(IK) :: err
3407 : end function
3408 : #endif
3409 :
3410 : #if LK4_ENABLED
3411 : module function getErrTableReadFile_NO_D2_LK4(file, table, header, sep, roff, iomsg) result(err)
3412 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3413 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_LK4
3414 : #endif
3415 : use pm_kind, only: LKC => LK4
3416 : logical(LKC) , intent(out) , allocatable :: table(:,:)
3417 : character(:, SK) , intent(out) , allocatable , optional :: header
3418 : character(*, SK) , intent(in) :: file
3419 : character(*, SK) , intent(in) , optional :: sep
3420 : character(*, SK) , intent(inout) , optional :: iomsg
3421 : integer(IK) , intent(in) , optional :: roff
3422 : integer(IK) :: err
3423 : end function
3424 : #endif
3425 :
3426 : #if LK3_ENABLED
3427 : module function getErrTableReadFile_NO_D2_LK3(file, table, header, sep, roff, iomsg) result(err)
3428 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3429 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_LK3
3430 : #endif
3431 : use pm_kind, only: LKC => LK3
3432 : logical(LKC) , intent(out) , allocatable :: table(:,:)
3433 : character(:, SK) , intent(out) , allocatable , optional :: header
3434 : character(*, SK) , intent(in) :: file
3435 : character(*, SK) , intent(in) , optional :: sep
3436 : character(*, SK) , intent(inout) , optional :: iomsg
3437 : integer(IK) , intent(in) , optional :: roff
3438 : integer(IK) :: err
3439 : end function
3440 : #endif
3441 :
3442 : #if LK2_ENABLED
3443 : module function getErrTableReadFile_NO_D2_LK2(file, table, header, sep, roff, iomsg) result(err)
3444 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3445 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_LK2
3446 : #endif
3447 : use pm_kind, only: LKC => LK2
3448 : logical(LKC) , intent(out) , allocatable :: table(:,:)
3449 : character(:, SK) , intent(out) , allocatable , optional :: header
3450 : character(*, SK) , intent(in) :: file
3451 : character(*, SK) , intent(in) , optional :: sep
3452 : character(*, SK) , intent(inout) , optional :: iomsg
3453 : integer(IK) , intent(in) , optional :: roff
3454 : integer(IK) :: err
3455 : end function
3456 : #endif
3457 :
3458 : #if LK1_ENABLED
3459 : module function getErrTableReadFile_NO_D2_LK1(file, table, header, sep, roff, iomsg) result(err)
3460 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3461 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_LK1
3462 : #endif
3463 : use pm_kind, only: LKC => LK1
3464 : logical(LKC) , intent(out) , allocatable :: table(:,:)
3465 : character(:, SK) , intent(out) , allocatable , optional :: header
3466 : character(*, SK) , intent(in) :: file
3467 : character(*, SK) , intent(in) , optional :: sep
3468 : character(*, SK) , intent(inout) , optional :: iomsg
3469 : integer(IK) , intent(in) , optional :: roff
3470 : integer(IK) :: err
3471 : end function
3472 : #endif
3473 :
3474 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3475 :
3476 : #if CK5_ENABLED
3477 : module function getErrTableReadFile_NO_D2_CK5(file, table, header, sep, roff, iomsg) result(err)
3478 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3479 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_CK5
3480 : #endif
3481 : use pm_kind, only: CKC => CK5
3482 : complex(CKC) , intent(out) , allocatable :: table(:,:)
3483 : character(:, SK) , intent(out) , allocatable , optional :: header
3484 : character(*, SK) , intent(in) :: file
3485 : character(*, SK) , intent(in) , optional :: sep
3486 : character(*, SK) , intent(inout) , optional :: iomsg
3487 : integer(IK) , intent(in) , optional :: roff
3488 : integer(IK) :: err
3489 : end function
3490 : #endif
3491 :
3492 : #if CK4_ENABLED
3493 : module function getErrTableReadFile_NO_D2_CK4(file, table, header, sep, roff, iomsg) result(err)
3494 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3495 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_CK4
3496 : #endif
3497 : use pm_kind, only: CKC => CK4
3498 : complex(CKC) , intent(out) , allocatable :: table(:,:)
3499 : character(:, SK) , intent(out) , allocatable , optional :: header
3500 : character(*, SK) , intent(in) :: file
3501 : character(*, SK) , intent(in) , optional :: sep
3502 : character(*, SK) , intent(inout) , optional :: iomsg
3503 : integer(IK) , intent(in) , optional :: roff
3504 : integer(IK) :: err
3505 : end function
3506 : #endif
3507 :
3508 : #if CK3_ENABLED
3509 : module function getErrTableReadFile_NO_D2_CK3(file, table, header, sep, roff, iomsg) result(err)
3510 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3511 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_CK3
3512 : #endif
3513 : use pm_kind, only: CKC => CK3
3514 : complex(CKC) , intent(out) , allocatable :: table(:,:)
3515 : character(:, SK) , intent(out) , allocatable , optional :: header
3516 : character(*, SK) , intent(in) :: file
3517 : character(*, SK) , intent(in) , optional :: sep
3518 : character(*, SK) , intent(inout) , optional :: iomsg
3519 : integer(IK) , intent(in) , optional :: roff
3520 : integer(IK) :: err
3521 : end function
3522 : #endif
3523 :
3524 : #if CK2_ENABLED
3525 : module function getErrTableReadFile_NO_D2_CK2(file, table, header, sep, roff, iomsg) result(err)
3526 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3527 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_CK2
3528 : #endif
3529 : use pm_kind, only: CKC => CK2
3530 : complex(CKC) , intent(out) , allocatable :: table(:,:)
3531 : character(:, SK) , intent(out) , allocatable , optional :: header
3532 : character(*, SK) , intent(in) :: file
3533 : character(*, SK) , intent(in) , optional :: sep
3534 : character(*, SK) , intent(inout) , optional :: iomsg
3535 : integer(IK) , intent(in) , optional :: roff
3536 : integer(IK) :: err
3537 : end function
3538 : #endif
3539 :
3540 : #if CK1_ENABLED
3541 : module function getErrTableReadFile_NO_D2_CK1(file, table, header, sep, roff, iomsg) result(err)
3542 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3543 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_CK1
3544 : #endif
3545 : use pm_kind, only: CKC => CK1
3546 : complex(CKC) , intent(out) , allocatable :: table(:,:)
3547 : character(:, SK) , intent(out) , allocatable , optional :: header
3548 : character(*, SK) , intent(in) :: file
3549 : character(*, SK) , intent(in) , optional :: sep
3550 : character(*, SK) , intent(inout) , optional :: iomsg
3551 : integer(IK) , intent(in) , optional :: roff
3552 : integer(IK) :: err
3553 : end function
3554 : #endif
3555 :
3556 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3557 :
3558 : #if RK5_ENABLED
3559 : module function getErrTableReadFile_NO_D2_RK5(file, table, header, sep, roff, iomsg) result(err)
3560 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3561 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_RK5
3562 : #endif
3563 : use pm_kind, only: RKC => RK5
3564 : real(RKC) , intent(out) , allocatable :: table(:,:)
3565 : character(:, SK) , intent(out) , allocatable , optional :: header
3566 : character(*, SK) , intent(in) :: file
3567 : character(*, SK) , intent(in) , optional :: sep
3568 : character(*, SK) , intent(inout) , optional :: iomsg
3569 : integer(IK) , intent(in) , optional :: roff
3570 : integer(IK) :: err
3571 : end function
3572 : #endif
3573 :
3574 : #if RK4_ENABLED
3575 : module function getErrTableReadFile_NO_D2_RK4(file, table, header, sep, roff, iomsg) result(err)
3576 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3577 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_RK4
3578 : #endif
3579 : use pm_kind, only: RKC => RK4
3580 : real(RKC) , intent(out) , allocatable :: table(:,:)
3581 : character(:, SK) , intent(out) , allocatable , optional :: header
3582 : character(*, SK) , intent(in) :: file
3583 : character(*, SK) , intent(in) , optional :: sep
3584 : character(*, SK) , intent(inout) , optional :: iomsg
3585 : integer(IK) , intent(in) , optional :: roff
3586 : integer(IK) :: err
3587 : end function
3588 : #endif
3589 :
3590 : #if RK3_ENABLED
3591 : module function getErrTableReadFile_NO_D2_RK3(file, table, header, sep, roff, iomsg) result(err)
3592 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3593 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_RK3
3594 : #endif
3595 : use pm_kind, only: RKC => RK3
3596 : real(RKC) , intent(out) , allocatable :: table(:,:)
3597 : character(:, SK) , intent(out) , allocatable , optional :: header
3598 : character(*, SK) , intent(in) :: file
3599 : character(*, SK) , intent(in) , optional :: sep
3600 : character(*, SK) , intent(inout) , optional :: iomsg
3601 : integer(IK) , intent(in) , optional :: roff
3602 : integer(IK) :: err
3603 : end function
3604 : #endif
3605 :
3606 : #if RK2_ENABLED
3607 : module function getErrTableReadFile_NO_D2_RK2(file, table, header, sep, roff, iomsg) result(err)
3608 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3609 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_RK2
3610 : #endif
3611 : use pm_kind, only: RKC => RK2
3612 : real(RKC) , intent(out) , allocatable :: table(:,:)
3613 : character(:, SK) , intent(out) , allocatable , optional :: header
3614 : character(*, SK) , intent(in) :: file
3615 : character(*, SK) , intent(in) , optional :: sep
3616 : character(*, SK) , intent(inout) , optional :: iomsg
3617 : integer(IK) , intent(in) , optional :: roff
3618 : integer(IK) :: err
3619 : end function
3620 : #endif
3621 :
3622 : #if RK1_ENABLED
3623 : module function getErrTableReadFile_NO_D2_RK1(file, table, header, sep, roff, iomsg) result(err)
3624 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3625 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_NO_D2_RK1
3626 : #endif
3627 : use pm_kind, only: RKC => RK1
3628 : real(RKC) , intent(out) , allocatable :: table(:,:)
3629 : character(:, SK) , intent(out) , allocatable , optional :: header
3630 : character(*, SK) , intent(in) :: file
3631 : character(*, SK) , intent(in) , optional :: sep
3632 : character(*, SK) , intent(inout) , optional :: iomsg
3633 : integer(IK) , intent(in) , optional :: roff
3634 : integer(IK) :: err
3635 : end function
3636 : #endif
3637 :
3638 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3639 :
3640 : end interface
3641 :
3642 : ! D2 unit NO
3643 :
3644 : interface getErrTableRead
3645 :
3646 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3647 :
3648 : #if SK5_ENABLED
3649 : module function getErrTableReadUnit_NO_D2_SK5(unit, table, header, sep, roff, iomsg) result(err)
3650 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3651 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_SK5
3652 : #endif
3653 : use pm_kind, only: SKC => SK5
3654 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
3655 : character(:, SK) , intent(out) , allocatable , optional :: header
3656 : character(*, SK) , intent(in) , optional :: sep
3657 : character(*, SK) , intent(inout) , optional :: iomsg
3658 : integer(IK) , intent(in) , optional :: roff
3659 : integer(IK) , intent(in) :: unit
3660 : integer(IK) :: err
3661 : end function
3662 : #endif
3663 :
3664 : #if SK4_ENABLED
3665 : module function getErrTableReadUnit_NO_D2_SK4(unit, table, header, sep, roff, iomsg) result(err)
3666 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3667 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_SK4
3668 : #endif
3669 : use pm_kind, only: SKC => SK4
3670 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
3671 : character(:, SK) , intent(out) , allocatable , optional :: header
3672 : character(*, SK) , intent(in) , optional :: sep
3673 : character(*, SK) , intent(inout) , optional :: iomsg
3674 : integer(IK) , intent(in) , optional :: roff
3675 : integer(IK) , intent(in) :: unit
3676 : integer(IK) :: err
3677 : end function
3678 : #endif
3679 :
3680 : #if SK3_ENABLED
3681 : module function getErrTableReadUnit_NO_D2_SK3(unit, table, header, sep, roff, iomsg) result(err)
3682 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3683 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_SK3
3684 : #endif
3685 : use pm_kind, only: SKC => SK3
3686 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
3687 : character(:, SK) , intent(out) , allocatable , optional :: header
3688 : character(*, SK) , intent(in) , optional :: sep
3689 : character(*, SK) , intent(inout) , optional :: iomsg
3690 : integer(IK) , intent(in) , optional :: roff
3691 : integer(IK) , intent(in) :: unit
3692 : integer(IK) :: err
3693 : end function
3694 : #endif
3695 :
3696 : #if SK2_ENABLED
3697 : module function getErrTableReadUnit_NO_D2_SK2(unit, table, header, sep, roff, iomsg) result(err)
3698 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3699 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_SK2
3700 : #endif
3701 : use pm_kind, only: SKC => SK2
3702 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
3703 : character(:, SK) , intent(out) , allocatable , optional :: header
3704 : character(*, SK) , intent(in) , optional :: sep
3705 : character(*, SK) , intent(inout) , optional :: iomsg
3706 : integer(IK) , intent(in) , optional :: roff
3707 : integer(IK) , intent(in) :: unit
3708 : integer(IK) :: err
3709 : end function
3710 : #endif
3711 :
3712 : #if SK1_ENABLED
3713 : module function getErrTableReadUnit_NO_D2_SK1(unit, table, header, sep, roff, iomsg) result(err)
3714 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3715 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_SK1
3716 : #endif
3717 : use pm_kind, only: SKC => SK1
3718 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
3719 : character(:, SK) , intent(out) , allocatable , optional :: header
3720 : character(*, SK) , intent(in) , optional :: sep
3721 : character(*, SK) , intent(inout) , optional :: iomsg
3722 : integer(IK) , intent(in) , optional :: roff
3723 : integer(IK) , intent(in) :: unit
3724 : integer(IK) :: err
3725 : end function
3726 : #endif
3727 :
3728 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3729 :
3730 : #if IK5_ENABLED
3731 : module function getErrTableReadUnit_NO_D2_IK5(unit, table, header, sep, roff, iomsg) result(err)
3732 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3733 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_IK5
3734 : #endif
3735 : use pm_kind, only: IKC => IK5
3736 : integer(IKC) , intent(out) , allocatable :: table(:,:)
3737 : character(:, SK) , intent(out) , allocatable , optional :: header
3738 : character(*, SK) , intent(in) , optional :: sep
3739 : character(*, SK) , intent(inout) , optional :: iomsg
3740 : integer(IK) , intent(in) , optional :: roff
3741 : integer(IK) , intent(in) :: unit
3742 : integer(IK) :: err
3743 : end function
3744 : #endif
3745 :
3746 : #if IK4_ENABLED
3747 : module function getErrTableReadUnit_NO_D2_IK4(unit, table, header, sep, roff, iomsg) result(err)
3748 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3749 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_IK4
3750 : #endif
3751 : use pm_kind, only: IKC => IK4
3752 : integer(IKC) , intent(out) , allocatable :: table(:,:)
3753 : character(:, SK) , intent(out) , allocatable , optional :: header
3754 : character(*, SK) , intent(in) , optional :: sep
3755 : character(*, SK) , intent(inout) , optional :: iomsg
3756 : integer(IK) , intent(in) , optional :: roff
3757 : integer(IK) , intent(in) :: unit
3758 : integer(IK) :: err
3759 : end function
3760 : #endif
3761 :
3762 : #if IK3_ENABLED
3763 : module function getErrTableReadUnit_NO_D2_IK3(unit, table, header, sep, roff, iomsg) result(err)
3764 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3765 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_IK3
3766 : #endif
3767 : use pm_kind, only: IKC => IK3
3768 : integer(IKC) , intent(out) , allocatable :: table(:,:)
3769 : character(:, SK) , intent(out) , allocatable , optional :: header
3770 : character(*, SK) , intent(in) , optional :: sep
3771 : character(*, SK) , intent(inout) , optional :: iomsg
3772 : integer(IK) , intent(in) , optional :: roff
3773 : integer(IK) , intent(in) :: unit
3774 : integer(IK) :: err
3775 : end function
3776 : #endif
3777 :
3778 : #if IK2_ENABLED
3779 : module function getErrTableReadUnit_NO_D2_IK2(unit, table, header, sep, roff, iomsg) result(err)
3780 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3781 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_IK2
3782 : #endif
3783 : use pm_kind, only: IKC => IK2
3784 : integer(IKC) , intent(out) , allocatable :: table(:,:)
3785 : character(:, SK) , intent(out) , allocatable , optional :: header
3786 : character(*, SK) , intent(in) , optional :: sep
3787 : character(*, SK) , intent(inout) , optional :: iomsg
3788 : integer(IK) , intent(in) , optional :: roff
3789 : integer(IK) , intent(in) :: unit
3790 : integer(IK) :: err
3791 : end function
3792 : #endif
3793 :
3794 : #if IK1_ENABLED
3795 : module function getErrTableReadUnit_NO_D2_IK1(unit, table, header, sep, roff, iomsg) result(err)
3796 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3797 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_IK1
3798 : #endif
3799 : use pm_kind, only: IKC => IK1
3800 : integer(IKC) , intent(out) , allocatable :: table(:,:)
3801 : character(:, SK) , intent(out) , allocatable , optional :: header
3802 : character(*, SK) , intent(in) , optional :: sep
3803 : character(*, SK) , intent(inout) , optional :: iomsg
3804 : integer(IK) , intent(in) , optional :: roff
3805 : integer(IK) , intent(in) :: unit
3806 : integer(IK) :: err
3807 : end function
3808 : #endif
3809 :
3810 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3811 :
3812 : #if LK5_ENABLED
3813 : module function getErrTableReadUnit_NO_D2_LK5(unit, table, header, sep, roff, iomsg) result(err)
3814 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3815 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_LK5
3816 : #endif
3817 : use pm_kind, only: LKC => LK5
3818 : logical(LKC) , intent(out) , allocatable :: table(:,:)
3819 : character(:, SK) , intent(out) , allocatable , optional :: header
3820 : character(*, SK) , intent(in) , optional :: sep
3821 : character(*, SK) , intent(inout) , optional :: iomsg
3822 : integer(IK) , intent(in) , optional :: roff
3823 : integer(IK) , intent(in) :: unit
3824 : integer(IK) :: err
3825 : end function
3826 : #endif
3827 :
3828 : #if LK4_ENABLED
3829 : module function getErrTableReadUnit_NO_D2_LK4(unit, table, header, sep, roff, iomsg) result(err)
3830 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3831 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_LK4
3832 : #endif
3833 : use pm_kind, only: LKC => LK4
3834 : logical(LKC) , intent(out) , allocatable :: table(:,:)
3835 : character(:, SK) , intent(out) , allocatable , optional :: header
3836 : character(*, SK) , intent(in) , optional :: sep
3837 : character(*, SK) , intent(inout) , optional :: iomsg
3838 : integer(IK) , intent(in) , optional :: roff
3839 : integer(IK) , intent(in) :: unit
3840 : integer(IK) :: err
3841 : end function
3842 : #endif
3843 :
3844 : #if LK3_ENABLED
3845 : module function getErrTableReadUnit_NO_D2_LK3(unit, table, header, sep, roff, iomsg) result(err)
3846 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3847 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_LK3
3848 : #endif
3849 : use pm_kind, only: LKC => LK3
3850 : logical(LKC) , intent(out) , allocatable :: table(:,:)
3851 : character(:, SK) , intent(out) , allocatable , optional :: header
3852 : character(*, SK) , intent(in) , optional :: sep
3853 : character(*, SK) , intent(inout) , optional :: iomsg
3854 : integer(IK) , intent(in) , optional :: roff
3855 : integer(IK) , intent(in) :: unit
3856 : integer(IK) :: err
3857 : end function
3858 : #endif
3859 :
3860 : #if LK2_ENABLED
3861 : module function getErrTableReadUnit_NO_D2_LK2(unit, table, header, sep, roff, iomsg) result(err)
3862 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3863 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_LK2
3864 : #endif
3865 : use pm_kind, only: LKC => LK2
3866 : logical(LKC) , intent(out) , allocatable :: table(:,:)
3867 : character(:, SK) , intent(out) , allocatable , optional :: header
3868 : character(*, SK) , intent(in) , optional :: sep
3869 : character(*, SK) , intent(inout) , optional :: iomsg
3870 : integer(IK) , intent(in) , optional :: roff
3871 : integer(IK) , intent(in) :: unit
3872 : integer(IK) :: err
3873 : end function
3874 : #endif
3875 :
3876 : #if LK1_ENABLED
3877 : module function getErrTableReadUnit_NO_D2_LK1(unit, table, header, sep, roff, iomsg) result(err)
3878 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3879 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_LK1
3880 : #endif
3881 : use pm_kind, only: LKC => LK1
3882 : logical(LKC) , intent(out) , allocatable :: table(:,:)
3883 : character(:, SK) , intent(out) , allocatable , optional :: header
3884 : character(*, SK) , intent(in) , optional :: sep
3885 : character(*, SK) , intent(inout) , optional :: iomsg
3886 : integer(IK) , intent(in) , optional :: roff
3887 : integer(IK) , intent(in) :: unit
3888 : integer(IK) :: err
3889 : end function
3890 : #endif
3891 :
3892 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3893 :
3894 : #if CK5_ENABLED
3895 : module function getErrTableReadUnit_NO_D2_CK5(unit, table, header, sep, roff, iomsg) result(err)
3896 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3897 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_CK5
3898 : #endif
3899 : use pm_kind, only: CKC => CK5
3900 : complex(CKC) , intent(out) , allocatable :: table(:,:)
3901 : character(:, SK) , intent(out) , allocatable , optional :: header
3902 : character(*, SK) , intent(in) , optional :: sep
3903 : character(*, SK) , intent(inout) , optional :: iomsg
3904 : integer(IK) , intent(in) , optional :: roff
3905 : integer(IK) , intent(in) :: unit
3906 : integer(IK) :: err
3907 : end function
3908 : #endif
3909 :
3910 : #if CK4_ENABLED
3911 : module function getErrTableReadUnit_NO_D2_CK4(unit, table, header, sep, roff, iomsg) result(err)
3912 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3913 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_CK4
3914 : #endif
3915 : use pm_kind, only: CKC => CK4
3916 : complex(CKC) , intent(out) , allocatable :: table(:,:)
3917 : character(:, SK) , intent(out) , allocatable , optional :: header
3918 : character(*, SK) , intent(in) , optional :: sep
3919 : character(*, SK) , intent(inout) , optional :: iomsg
3920 : integer(IK) , intent(in) , optional :: roff
3921 : integer(IK) , intent(in) :: unit
3922 : integer(IK) :: err
3923 : end function
3924 : #endif
3925 :
3926 : #if CK3_ENABLED
3927 : module function getErrTableReadUnit_NO_D2_CK3(unit, table, header, sep, roff, iomsg) result(err)
3928 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3929 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_CK3
3930 : #endif
3931 : use pm_kind, only: CKC => CK3
3932 : complex(CKC) , intent(out) , allocatable :: table(:,:)
3933 : character(:, SK) , intent(out) , allocatable , optional :: header
3934 : character(*, SK) , intent(in) , optional :: sep
3935 : character(*, SK) , intent(inout) , optional :: iomsg
3936 : integer(IK) , intent(in) , optional :: roff
3937 : integer(IK) , intent(in) :: unit
3938 : integer(IK) :: err
3939 : end function
3940 : #endif
3941 :
3942 : #if CK2_ENABLED
3943 : module function getErrTableReadUnit_NO_D2_CK2(unit, table, header, sep, roff, iomsg) result(err)
3944 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3945 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_CK2
3946 : #endif
3947 : use pm_kind, only: CKC => CK2
3948 : complex(CKC) , intent(out) , allocatable :: table(:,:)
3949 : character(:, SK) , intent(out) , allocatable , optional :: header
3950 : character(*, SK) , intent(in) , optional :: sep
3951 : character(*, SK) , intent(inout) , optional :: iomsg
3952 : integer(IK) , intent(in) , optional :: roff
3953 : integer(IK) , intent(in) :: unit
3954 : integer(IK) :: err
3955 : end function
3956 : #endif
3957 :
3958 : #if CK1_ENABLED
3959 : module function getErrTableReadUnit_NO_D2_CK1(unit, table, header, sep, roff, iomsg) result(err)
3960 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3961 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_CK1
3962 : #endif
3963 : use pm_kind, only: CKC => CK1
3964 : complex(CKC) , intent(out) , allocatable :: table(:,:)
3965 : character(:, SK) , intent(out) , allocatable , optional :: header
3966 : character(*, SK) , intent(in) , optional :: sep
3967 : character(*, SK) , intent(inout) , optional :: iomsg
3968 : integer(IK) , intent(in) , optional :: roff
3969 : integer(IK) , intent(in) :: unit
3970 : integer(IK) :: err
3971 : end function
3972 : #endif
3973 :
3974 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3975 :
3976 : #if RK5_ENABLED
3977 : module function getErrTableReadUnit_NO_D2_RK5(unit, table, header, sep, roff, iomsg) result(err)
3978 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3979 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_RK5
3980 : #endif
3981 : use pm_kind, only: RKC => RK5
3982 : real(RKC) , intent(out) , allocatable :: table(:,:)
3983 : character(:, SK) , intent(out) , allocatable , optional :: header
3984 : character(*, SK) , intent(in) , optional :: sep
3985 : character(*, SK) , intent(inout) , optional :: iomsg
3986 : integer(IK) , intent(in) , optional :: roff
3987 : integer(IK) , intent(in) :: unit
3988 : integer(IK) :: err
3989 : end function
3990 : #endif
3991 :
3992 : #if RK4_ENABLED
3993 : module function getErrTableReadUnit_NO_D2_RK4(unit, table, header, sep, roff, iomsg) result(err)
3994 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3995 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_RK4
3996 : #endif
3997 : use pm_kind, only: RKC => RK4
3998 : real(RKC) , intent(out) , allocatable :: table(:,:)
3999 : character(:, SK) , intent(out) , allocatable , optional :: header
4000 : character(*, SK) , intent(in) , optional :: sep
4001 : character(*, SK) , intent(inout) , optional :: iomsg
4002 : integer(IK) , intent(in) , optional :: roff
4003 : integer(IK) , intent(in) :: unit
4004 : integer(IK) :: err
4005 : end function
4006 : #endif
4007 :
4008 : #if RK3_ENABLED
4009 : module function getErrTableReadUnit_NO_D2_RK3(unit, table, header, sep, roff, iomsg) result(err)
4010 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4011 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_RK3
4012 : #endif
4013 : use pm_kind, only: RKC => RK3
4014 : real(RKC) , intent(out) , allocatable :: table(:,:)
4015 : character(:, SK) , intent(out) , allocatable , optional :: header
4016 : character(*, SK) , intent(in) , optional :: sep
4017 : character(*, SK) , intent(inout) , optional :: iomsg
4018 : integer(IK) , intent(in) , optional :: roff
4019 : integer(IK) , intent(in) :: unit
4020 : integer(IK) :: err
4021 : end function
4022 : #endif
4023 :
4024 : #if RK2_ENABLED
4025 : module function getErrTableReadUnit_NO_D2_RK2(unit, table, header, sep, roff, iomsg) result(err)
4026 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4027 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_RK2
4028 : #endif
4029 : use pm_kind, only: RKC => RK2
4030 : real(RKC) , intent(out) , allocatable :: table(:,:)
4031 : character(:, SK) , intent(out) , allocatable , optional :: header
4032 : character(*, SK) , intent(in) , optional :: sep
4033 : character(*, SK) , intent(inout) , optional :: iomsg
4034 : integer(IK) , intent(in) , optional :: roff
4035 : integer(IK) , intent(in) :: unit
4036 : integer(IK) :: err
4037 : end function
4038 : #endif
4039 :
4040 : #if RK1_ENABLED
4041 : module function getErrTableReadUnit_NO_D2_RK1(unit, table, header, sep, roff, iomsg) result(err)
4042 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4043 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_NO_D2_RK1
4044 : #endif
4045 : use pm_kind, only: RKC => RK1
4046 : real(RKC) , intent(out) , allocatable :: table(:,:)
4047 : character(:, SK) , intent(out) , allocatable , optional :: header
4048 : character(*, SK) , intent(in) , optional :: sep
4049 : character(*, SK) , intent(inout) , optional :: iomsg
4050 : integer(IK) , intent(in) , optional :: roff
4051 : integer(IK) , intent(in) :: unit
4052 : integer(IK) :: err
4053 : end function
4054 : #endif
4055 :
4056 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4057 :
4058 : end interface
4059 :
4060 : ! D1 file TO
4061 :
4062 : interface getErrTableRead
4063 :
4064 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4065 :
4066 : #if SK5_ENABLED
4067 : module function getErrTableReadFile_TO_D1_SK5(file, table, operation, header, sep, roff, iomsg) result(err)
4068 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4069 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_SK5
4070 : #endif
4071 : use pm_kind, only: SKC => SK5
4072 : character(*,SKC) , intent(out) , allocatable :: table(:)
4073 : character(:, SK) , intent(out) , allocatable , optional :: header
4074 : character(*, SK) , intent(in) :: file
4075 : character(*, SK) , intent(in) , optional :: sep
4076 : character(*, SK) , intent(inout) , optional :: iomsg
4077 : type(trans_type) , intent(in) :: operation
4078 : integer(IK) , intent(in) , optional :: roff
4079 : integer(IK) :: err
4080 : end function
4081 : #endif
4082 :
4083 : #if SK4_ENABLED
4084 : module function getErrTableReadFile_TO_D1_SK4(file, table, operation, header, sep, roff, iomsg) result(err)
4085 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4086 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_SK4
4087 : #endif
4088 : use pm_kind, only: SKC => SK4
4089 : character(*,SKC) , intent(out) , allocatable :: table(:)
4090 : character(:, SK) , intent(out) , allocatable , optional :: header
4091 : character(*, SK) , intent(in) :: file
4092 : character(*, SK) , intent(in) , optional :: sep
4093 : character(*, SK) , intent(inout) , optional :: iomsg
4094 : type(trans_type) , intent(in) :: operation
4095 : integer(IK) , intent(in) , optional :: roff
4096 : integer(IK) :: err
4097 : end function
4098 : #endif
4099 :
4100 : #if SK3_ENABLED
4101 : module function getErrTableReadFile_TO_D1_SK3(file, table, operation, header, sep, roff, iomsg) result(err)
4102 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4103 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_SK3
4104 : #endif
4105 : use pm_kind, only: SKC => SK3
4106 : character(*,SKC) , intent(out) , allocatable :: table(:)
4107 : character(:, SK) , intent(out) , allocatable , optional :: header
4108 : character(*, SK) , intent(in) :: file
4109 : character(*, SK) , intent(in) , optional :: sep
4110 : character(*, SK) , intent(inout) , optional :: iomsg
4111 : type(trans_type) , intent(in) :: operation
4112 : integer(IK) , intent(in) , optional :: roff
4113 : integer(IK) :: err
4114 : end function
4115 : #endif
4116 :
4117 : #if SK2_ENABLED
4118 : module function getErrTableReadFile_TO_D1_SK2(file, table, operation, header, sep, roff, iomsg) result(err)
4119 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4120 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_SK2
4121 : #endif
4122 : use pm_kind, only: SKC => SK2
4123 : character(*,SKC) , intent(out) , allocatable :: table(:)
4124 : character(:, SK) , intent(out) , allocatable , optional :: header
4125 : character(*, SK) , intent(in) :: file
4126 : character(*, SK) , intent(in) , optional :: sep
4127 : character(*, SK) , intent(inout) , optional :: iomsg
4128 : type(trans_type) , intent(in) :: operation
4129 : integer(IK) , intent(in) , optional :: roff
4130 : integer(IK) :: err
4131 : end function
4132 : #endif
4133 :
4134 : #if SK1_ENABLED
4135 : module function getErrTableReadFile_TO_D1_SK1(file, table, operation, header, sep, roff, iomsg) result(err)
4136 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4137 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_SK1
4138 : #endif
4139 : use pm_kind, only: SKC => SK1
4140 : character(*,SKC) , intent(out) , allocatable :: table(:)
4141 : character(:, SK) , intent(out) , allocatable , optional :: header
4142 : character(*, SK) , intent(in) :: file
4143 : character(*, SK) , intent(in) , optional :: sep
4144 : character(*, SK) , intent(inout) , optional :: iomsg
4145 : type(trans_type) , intent(in) :: operation
4146 : integer(IK) , intent(in) , optional :: roff
4147 : integer(IK) :: err
4148 : end function
4149 : #endif
4150 :
4151 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4152 :
4153 : #if IK5_ENABLED
4154 : module function getErrTableReadFile_TO_D1_IK5(file, table, operation, header, sep, roff, iomsg) result(err)
4155 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4156 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_IK5
4157 : #endif
4158 : use pm_kind, only: IKC => IK5
4159 : integer(IKC) , intent(out) , allocatable :: table(:)
4160 : character(:, SK) , intent(out) , allocatable , optional :: header
4161 : character(*, SK) , intent(in) :: file
4162 : character(*, SK) , intent(in) , optional :: sep
4163 : character(*, SK) , intent(inout) , optional :: iomsg
4164 : type(trans_type) , intent(in) :: operation
4165 : integer(IK) , intent(in) , optional :: roff
4166 : integer(IK) :: err
4167 : end function
4168 : #endif
4169 :
4170 : #if IK4_ENABLED
4171 : module function getErrTableReadFile_TO_D1_IK4(file, table, operation, header, sep, roff, iomsg) result(err)
4172 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4173 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_IK4
4174 : #endif
4175 : use pm_kind, only: IKC => IK4
4176 : integer(IKC) , intent(out) , allocatable :: table(:)
4177 : character(:, SK) , intent(out) , allocatable , optional :: header
4178 : character(*, SK) , intent(in) :: file
4179 : character(*, SK) , intent(in) , optional :: sep
4180 : character(*, SK) , intent(inout) , optional :: iomsg
4181 : type(trans_type) , intent(in) :: operation
4182 : integer(IK) , intent(in) , optional :: roff
4183 : integer(IK) :: err
4184 : end function
4185 : #endif
4186 :
4187 : #if IK3_ENABLED
4188 : module function getErrTableReadFile_TO_D1_IK3(file, table, operation, header, sep, roff, iomsg) result(err)
4189 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4190 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_IK3
4191 : #endif
4192 : use pm_kind, only: IKC => IK3
4193 : integer(IKC) , intent(out) , allocatable :: table(:)
4194 : character(:, SK) , intent(out) , allocatable , optional :: header
4195 : character(*, SK) , intent(in) :: file
4196 : character(*, SK) , intent(in) , optional :: sep
4197 : character(*, SK) , intent(inout) , optional :: iomsg
4198 : type(trans_type) , intent(in) :: operation
4199 : integer(IK) , intent(in) , optional :: roff
4200 : integer(IK) :: err
4201 : end function
4202 : #endif
4203 :
4204 : #if IK2_ENABLED
4205 : module function getErrTableReadFile_TO_D1_IK2(file, table, operation, header, sep, roff, iomsg) result(err)
4206 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4207 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_IK2
4208 : #endif
4209 : use pm_kind, only: IKC => IK2
4210 : integer(IKC) , intent(out) , allocatable :: table(:)
4211 : character(:, SK) , intent(out) , allocatable , optional :: header
4212 : character(*, SK) , intent(in) :: file
4213 : character(*, SK) , intent(in) , optional :: sep
4214 : character(*, SK) , intent(inout) , optional :: iomsg
4215 : type(trans_type) , intent(in) :: operation
4216 : integer(IK) , intent(in) , optional :: roff
4217 : integer(IK) :: err
4218 : end function
4219 : #endif
4220 :
4221 : #if IK1_ENABLED
4222 : module function getErrTableReadFile_TO_D1_IK1(file, table, operation, header, sep, roff, iomsg) result(err)
4223 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4224 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_IK1
4225 : #endif
4226 : use pm_kind, only: IKC => IK1
4227 : integer(IKC) , intent(out) , allocatable :: table(:)
4228 : character(:, SK) , intent(out) , allocatable , optional :: header
4229 : character(*, SK) , intent(in) :: file
4230 : character(*, SK) , intent(in) , optional :: sep
4231 : character(*, SK) , intent(inout) , optional :: iomsg
4232 : type(trans_type) , intent(in) :: operation
4233 : integer(IK) , intent(in) , optional :: roff
4234 : integer(IK) :: err
4235 : end function
4236 : #endif
4237 :
4238 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4239 :
4240 : #if LK5_ENABLED
4241 : module function getErrTableReadFile_TO_D1_LK5(file, table, operation, header, sep, roff, iomsg) result(err)
4242 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4243 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_LK5
4244 : #endif
4245 : use pm_kind, only: LKC => LK5
4246 : logical(LKC) , intent(out) , allocatable :: table(:)
4247 : character(:, SK) , intent(out) , allocatable , optional :: header
4248 : character(*, SK) , intent(in) :: file
4249 : character(*, SK) , intent(in) , optional :: sep
4250 : character(*, SK) , intent(inout) , optional :: iomsg
4251 : type(trans_type) , intent(in) :: operation
4252 : integer(IK) , intent(in) , optional :: roff
4253 : integer(IK) :: err
4254 : end function
4255 : #endif
4256 :
4257 : #if LK4_ENABLED
4258 : module function getErrTableReadFile_TO_D1_LK4(file, table, operation, header, sep, roff, iomsg) result(err)
4259 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4260 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_LK4
4261 : #endif
4262 : use pm_kind, only: LKC => LK4
4263 : logical(LKC) , intent(out) , allocatable :: table(:)
4264 : character(:, SK) , intent(out) , allocatable , optional :: header
4265 : character(*, SK) , intent(in) :: file
4266 : character(*, SK) , intent(in) , optional :: sep
4267 : character(*, SK) , intent(inout) , optional :: iomsg
4268 : type(trans_type) , intent(in) :: operation
4269 : integer(IK) , intent(in) , optional :: roff
4270 : integer(IK) :: err
4271 : end function
4272 : #endif
4273 :
4274 : #if LK3_ENABLED
4275 : module function getErrTableReadFile_TO_D1_LK3(file, table, operation, header, sep, roff, iomsg) result(err)
4276 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4277 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_LK3
4278 : #endif
4279 : use pm_kind, only: LKC => LK3
4280 : logical(LKC) , intent(out) , allocatable :: table(:)
4281 : character(:, SK) , intent(out) , allocatable , optional :: header
4282 : character(*, SK) , intent(in) :: file
4283 : character(*, SK) , intent(in) , optional :: sep
4284 : character(*, SK) , intent(inout) , optional :: iomsg
4285 : type(trans_type) , intent(in) :: operation
4286 : integer(IK) , intent(in) , optional :: roff
4287 : integer(IK) :: err
4288 : end function
4289 : #endif
4290 :
4291 : #if LK2_ENABLED
4292 : module function getErrTableReadFile_TO_D1_LK2(file, table, operation, header, sep, roff, iomsg) result(err)
4293 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4294 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_LK2
4295 : #endif
4296 : use pm_kind, only: LKC => LK2
4297 : logical(LKC) , intent(out) , allocatable :: table(:)
4298 : character(:, SK) , intent(out) , allocatable , optional :: header
4299 : character(*, SK) , intent(in) :: file
4300 : character(*, SK) , intent(in) , optional :: sep
4301 : character(*, SK) , intent(inout) , optional :: iomsg
4302 : type(trans_type) , intent(in) :: operation
4303 : integer(IK) , intent(in) , optional :: roff
4304 : integer(IK) :: err
4305 : end function
4306 : #endif
4307 :
4308 : #if LK1_ENABLED
4309 : module function getErrTableReadFile_TO_D1_LK1(file, table, operation, header, sep, roff, iomsg) result(err)
4310 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4311 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_LK1
4312 : #endif
4313 : use pm_kind, only: LKC => LK1
4314 : logical(LKC) , intent(out) , allocatable :: table(:)
4315 : character(:, SK) , intent(out) , allocatable , optional :: header
4316 : character(*, SK) , intent(in) :: file
4317 : character(*, SK) , intent(in) , optional :: sep
4318 : character(*, SK) , intent(inout) , optional :: iomsg
4319 : type(trans_type) , intent(in) :: operation
4320 : integer(IK) , intent(in) , optional :: roff
4321 : integer(IK) :: err
4322 : end function
4323 : #endif
4324 :
4325 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4326 :
4327 : #if CK5_ENABLED
4328 : module function getErrTableReadFile_TO_D1_CK5(file, table, operation, header, sep, roff, iomsg) result(err)
4329 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4330 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_CK5
4331 : #endif
4332 : use pm_kind, only: CKC => CK5
4333 : complex(CKC) , intent(out) , allocatable :: table(:)
4334 : character(:, SK) , intent(out) , allocatable , optional :: header
4335 : character(*, SK) , intent(in) :: file
4336 : character(*, SK) , intent(in) , optional :: sep
4337 : character(*, SK) , intent(inout) , optional :: iomsg
4338 : type(trans_type) , intent(in) :: operation
4339 : integer(IK) , intent(in) , optional :: roff
4340 : integer(IK) :: err
4341 : end function
4342 : #endif
4343 :
4344 : #if CK4_ENABLED
4345 : module function getErrTableReadFile_TO_D1_CK4(file, table, operation, header, sep, roff, iomsg) result(err)
4346 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4347 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_CK4
4348 : #endif
4349 : use pm_kind, only: CKC => CK4
4350 : complex(CKC) , intent(out) , allocatable :: table(:)
4351 : character(:, SK) , intent(out) , allocatable , optional :: header
4352 : character(*, SK) , intent(in) :: file
4353 : character(*, SK) , intent(in) , optional :: sep
4354 : character(*, SK) , intent(inout) , optional :: iomsg
4355 : type(trans_type) , intent(in) :: operation
4356 : integer(IK) , intent(in) , optional :: roff
4357 : integer(IK) :: err
4358 : end function
4359 : #endif
4360 :
4361 : #if CK3_ENABLED
4362 : module function getErrTableReadFile_TO_D1_CK3(file, table, operation, header, sep, roff, iomsg) result(err)
4363 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4364 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_CK3
4365 : #endif
4366 : use pm_kind, only: CKC => CK3
4367 : complex(CKC) , intent(out) , allocatable :: table(:)
4368 : character(:, SK) , intent(out) , allocatable , optional :: header
4369 : character(*, SK) , intent(in) :: file
4370 : character(*, SK) , intent(in) , optional :: sep
4371 : character(*, SK) , intent(inout) , optional :: iomsg
4372 : type(trans_type) , intent(in) :: operation
4373 : integer(IK) , intent(in) , optional :: roff
4374 : integer(IK) :: err
4375 : end function
4376 : #endif
4377 :
4378 : #if CK2_ENABLED
4379 : module function getErrTableReadFile_TO_D1_CK2(file, table, operation, header, sep, roff, iomsg) result(err)
4380 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4381 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_CK2
4382 : #endif
4383 : use pm_kind, only: CKC => CK2
4384 : complex(CKC) , intent(out) , allocatable :: table(:)
4385 : character(:, SK) , intent(out) , allocatable , optional :: header
4386 : character(*, SK) , intent(in) :: file
4387 : character(*, SK) , intent(in) , optional :: sep
4388 : character(*, SK) , intent(inout) , optional :: iomsg
4389 : type(trans_type) , intent(in) :: operation
4390 : integer(IK) , intent(in) , optional :: roff
4391 : integer(IK) :: err
4392 : end function
4393 : #endif
4394 :
4395 : #if CK1_ENABLED
4396 : module function getErrTableReadFile_TO_D1_CK1(file, table, operation, header, sep, roff, iomsg) result(err)
4397 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4398 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_CK1
4399 : #endif
4400 : use pm_kind, only: CKC => CK1
4401 : complex(CKC) , intent(out) , allocatable :: table(:)
4402 : character(:, SK) , intent(out) , allocatable , optional :: header
4403 : character(*, SK) , intent(in) :: file
4404 : character(*, SK) , intent(in) , optional :: sep
4405 : character(*, SK) , intent(inout) , optional :: iomsg
4406 : type(trans_type) , intent(in) :: operation
4407 : integer(IK) , intent(in) , optional :: roff
4408 : integer(IK) :: err
4409 : end function
4410 : #endif
4411 :
4412 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4413 :
4414 : #if RK5_ENABLED
4415 : module function getErrTableReadFile_TO_D1_RK5(file, table, operation, header, sep, roff, iomsg) result(err)
4416 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4417 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_RK5
4418 : #endif
4419 : use pm_kind, only: RKC => RK5
4420 : real(RKC) , intent(out) , allocatable :: table(:)
4421 : character(:, SK) , intent(out) , allocatable , optional :: header
4422 : character(*, SK) , intent(in) :: file
4423 : character(*, SK) , intent(in) , optional :: sep
4424 : character(*, SK) , intent(inout) , optional :: iomsg
4425 : type(trans_type) , intent(in) :: operation
4426 : integer(IK) , intent(in) , optional :: roff
4427 : integer(IK) :: err
4428 : end function
4429 : #endif
4430 :
4431 : #if RK4_ENABLED
4432 : module function getErrTableReadFile_TO_D1_RK4(file, table, operation, header, sep, roff, iomsg) result(err)
4433 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4434 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_RK4
4435 : #endif
4436 : use pm_kind, only: RKC => RK4
4437 : real(RKC) , intent(out) , allocatable :: table(:)
4438 : character(:, SK) , intent(out) , allocatable , optional :: header
4439 : character(*, SK) , intent(in) :: file
4440 : character(*, SK) , intent(in) , optional :: sep
4441 : character(*, SK) , intent(inout) , optional :: iomsg
4442 : type(trans_type) , intent(in) :: operation
4443 : integer(IK) , intent(in) , optional :: roff
4444 : integer(IK) :: err
4445 : end function
4446 : #endif
4447 :
4448 : #if RK3_ENABLED
4449 : module function getErrTableReadFile_TO_D1_RK3(file, table, operation, header, sep, roff, iomsg) result(err)
4450 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4451 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_RK3
4452 : #endif
4453 : use pm_kind, only: RKC => RK3
4454 : real(RKC) , intent(out) , allocatable :: table(:)
4455 : character(:, SK) , intent(out) , allocatable , optional :: header
4456 : character(*, SK) , intent(in) :: file
4457 : character(*, SK) , intent(in) , optional :: sep
4458 : character(*, SK) , intent(inout) , optional :: iomsg
4459 : type(trans_type) , intent(in) :: operation
4460 : integer(IK) , intent(in) , optional :: roff
4461 : integer(IK) :: err
4462 : end function
4463 : #endif
4464 :
4465 : #if RK2_ENABLED
4466 : module function getErrTableReadFile_TO_D1_RK2(file, table, operation, header, sep, roff, iomsg) result(err)
4467 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4468 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_RK2
4469 : #endif
4470 : use pm_kind, only: RKC => RK2
4471 : real(RKC) , intent(out) , allocatable :: table(:)
4472 : character(:, SK) , intent(out) , allocatable , optional :: header
4473 : character(*, SK) , intent(in) :: file
4474 : character(*, SK) , intent(in) , optional :: sep
4475 : character(*, SK) , intent(inout) , optional :: iomsg
4476 : type(trans_type) , intent(in) :: operation
4477 : integer(IK) , intent(in) , optional :: roff
4478 : integer(IK) :: err
4479 : end function
4480 : #endif
4481 :
4482 : #if RK1_ENABLED
4483 : module function getErrTableReadFile_TO_D1_RK1(file, table, operation, header, sep, roff, iomsg) result(err)
4484 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4485 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D1_RK1
4486 : #endif
4487 : use pm_kind, only: RKC => RK1
4488 : real(RKC) , intent(out) , allocatable :: table(:)
4489 : character(:, SK) , intent(out) , allocatable , optional :: header
4490 : character(*, SK) , intent(in) :: file
4491 : character(*, SK) , intent(in) , optional :: sep
4492 : character(*, SK) , intent(inout) , optional :: iomsg
4493 : type(trans_type) , intent(in) :: operation
4494 : integer(IK) , intent(in) , optional :: roff
4495 : integer(IK) :: err
4496 : end function
4497 : #endif
4498 :
4499 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4500 :
4501 : end interface
4502 :
4503 : ! D1 unit TO
4504 :
4505 : interface getErrTableRead
4506 :
4507 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4508 :
4509 : #if SK5_ENABLED
4510 : module function getErrTableReadUnit_TO_D1_SK5(unit, table, operation, header, sep, roff, iomsg) result(err)
4511 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4512 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_SK5
4513 : #endif
4514 : use pm_kind, only: SKC => SK5
4515 : character(*,SKC) , intent(out) , allocatable :: table(:)
4516 : character(:, SK) , intent(out) , allocatable , optional :: header
4517 : character(*, SK) , intent(in) , optional :: sep
4518 : character(*, SK) , intent(inout) , optional :: iomsg
4519 : type(trans_type) , intent(in) :: operation
4520 : integer(IK) , intent(in) , optional :: roff
4521 : integer(IK) , intent(in) :: unit
4522 : integer(IK) :: err
4523 : end function
4524 : #endif
4525 :
4526 : #if SK4_ENABLED
4527 : module function getErrTableReadUnit_TO_D1_SK4(unit, table, operation, header, sep, roff, iomsg) result(err)
4528 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4529 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_SK4
4530 : #endif
4531 : use pm_kind, only: SKC => SK4
4532 : character(*,SKC) , intent(out) , allocatable :: table(:)
4533 : character(:, SK) , intent(out) , allocatable , optional :: header
4534 : character(*, SK) , intent(in) , optional :: sep
4535 : character(*, SK) , intent(inout) , optional :: iomsg
4536 : type(trans_type) , intent(in) :: operation
4537 : integer(IK) , intent(in) , optional :: roff
4538 : integer(IK) , intent(in) :: unit
4539 : integer(IK) :: err
4540 : end function
4541 : #endif
4542 :
4543 : #if SK3_ENABLED
4544 : module function getErrTableReadUnit_TO_D1_SK3(unit, table, operation, header, sep, roff, iomsg) result(err)
4545 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4546 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_SK3
4547 : #endif
4548 : use pm_kind, only: SKC => SK3
4549 : character(*,SKC) , intent(out) , allocatable :: table(:)
4550 : character(:, SK) , intent(out) , allocatable , optional :: header
4551 : character(*, SK) , intent(in) , optional :: sep
4552 : character(*, SK) , intent(inout) , optional :: iomsg
4553 : type(trans_type) , intent(in) :: operation
4554 : integer(IK) , intent(in) , optional :: roff
4555 : integer(IK) , intent(in) :: unit
4556 : integer(IK) :: err
4557 : end function
4558 : #endif
4559 :
4560 : #if SK2_ENABLED
4561 : module function getErrTableReadUnit_TO_D1_SK2(unit, table, operation, header, sep, roff, iomsg) result(err)
4562 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4563 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_SK2
4564 : #endif
4565 : use pm_kind, only: SKC => SK2
4566 : character(*,SKC) , intent(out) , allocatable :: table(:)
4567 : character(:, SK) , intent(out) , allocatable , optional :: header
4568 : character(*, SK) , intent(in) , optional :: sep
4569 : character(*, SK) , intent(inout) , optional :: iomsg
4570 : type(trans_type) , intent(in) :: operation
4571 : integer(IK) , intent(in) , optional :: roff
4572 : integer(IK) , intent(in) :: unit
4573 : integer(IK) :: err
4574 : end function
4575 : #endif
4576 :
4577 : #if SK1_ENABLED
4578 : module function getErrTableReadUnit_TO_D1_SK1(unit, table, operation, header, sep, roff, iomsg) result(err)
4579 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4580 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_SK1
4581 : #endif
4582 : use pm_kind, only: SKC => SK1
4583 : character(*,SKC) , intent(out) , allocatable :: table(:)
4584 : character(:, SK) , intent(out) , allocatable , optional :: header
4585 : character(*, SK) , intent(in) , optional :: sep
4586 : character(*, SK) , intent(inout) , optional :: iomsg
4587 : type(trans_type) , intent(in) :: operation
4588 : integer(IK) , intent(in) , optional :: roff
4589 : integer(IK) , intent(in) :: unit
4590 : integer(IK) :: err
4591 : end function
4592 : #endif
4593 :
4594 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4595 :
4596 : #if IK5_ENABLED
4597 : module function getErrTableReadUnit_TO_D1_IK5(unit, table, operation, header, sep, roff, iomsg) result(err)
4598 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4599 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_IK5
4600 : #endif
4601 : use pm_kind, only: IKC => IK5
4602 : integer(IKC) , intent(out) , allocatable :: table(:)
4603 : character(:, SK) , intent(out) , allocatable , optional :: header
4604 : character(*, SK) , intent(in) , optional :: sep
4605 : character(*, SK) , intent(inout) , optional :: iomsg
4606 : type(trans_type) , intent(in) :: operation
4607 : integer(IK) , intent(in) , optional :: roff
4608 : integer(IK) , intent(in) :: unit
4609 : integer(IK) :: err
4610 : end function
4611 : #endif
4612 :
4613 : #if IK4_ENABLED
4614 : module function getErrTableReadUnit_TO_D1_IK4(unit, table, operation, header, sep, roff, iomsg) result(err)
4615 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4616 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_IK4
4617 : #endif
4618 : use pm_kind, only: IKC => IK4
4619 : integer(IKC) , intent(out) , allocatable :: table(:)
4620 : character(:, SK) , intent(out) , allocatable , optional :: header
4621 : character(*, SK) , intent(in) , optional :: sep
4622 : character(*, SK) , intent(inout) , optional :: iomsg
4623 : type(trans_type) , intent(in) :: operation
4624 : integer(IK) , intent(in) , optional :: roff
4625 : integer(IK) , intent(in) :: unit
4626 : integer(IK) :: err
4627 : end function
4628 : #endif
4629 :
4630 : #if IK3_ENABLED
4631 : module function getErrTableReadUnit_TO_D1_IK3(unit, table, operation, header, sep, roff, iomsg) result(err)
4632 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4633 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_IK3
4634 : #endif
4635 : use pm_kind, only: IKC => IK3
4636 : integer(IKC) , intent(out) , allocatable :: table(:)
4637 : character(:, SK) , intent(out) , allocatable , optional :: header
4638 : character(*, SK) , intent(in) , optional :: sep
4639 : character(*, SK) , intent(inout) , optional :: iomsg
4640 : type(trans_type) , intent(in) :: operation
4641 : integer(IK) , intent(in) , optional :: roff
4642 : integer(IK) , intent(in) :: unit
4643 : integer(IK) :: err
4644 : end function
4645 : #endif
4646 :
4647 : #if IK2_ENABLED
4648 : module function getErrTableReadUnit_TO_D1_IK2(unit, table, operation, header, sep, roff, iomsg) result(err)
4649 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4650 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_IK2
4651 : #endif
4652 : use pm_kind, only: IKC => IK2
4653 : integer(IKC) , intent(out) , allocatable :: table(:)
4654 : character(:, SK) , intent(out) , allocatable , optional :: header
4655 : character(*, SK) , intent(in) , optional :: sep
4656 : character(*, SK) , intent(inout) , optional :: iomsg
4657 : type(trans_type) , intent(in) :: operation
4658 : integer(IK) , intent(in) , optional :: roff
4659 : integer(IK) , intent(in) :: unit
4660 : integer(IK) :: err
4661 : end function
4662 : #endif
4663 :
4664 : #if IK1_ENABLED
4665 : module function getErrTableReadUnit_TO_D1_IK1(unit, table, operation, header, sep, roff, iomsg) result(err)
4666 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4667 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_IK1
4668 : #endif
4669 : use pm_kind, only: IKC => IK1
4670 : integer(IKC) , intent(out) , allocatable :: table(:)
4671 : character(:, SK) , intent(out) , allocatable , optional :: header
4672 : character(*, SK) , intent(in) , optional :: sep
4673 : character(*, SK) , intent(inout) , optional :: iomsg
4674 : type(trans_type) , intent(in) :: operation
4675 : integer(IK) , intent(in) , optional :: roff
4676 : integer(IK) , intent(in) :: unit
4677 : integer(IK) :: err
4678 : end function
4679 : #endif
4680 :
4681 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4682 :
4683 : #if LK5_ENABLED
4684 : module function getErrTableReadUnit_TO_D1_LK5(unit, table, operation, header, sep, roff, iomsg) result(err)
4685 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4686 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_LK5
4687 : #endif
4688 : use pm_kind, only: LKC => LK5
4689 : logical(LKC) , intent(out) , allocatable :: table(:)
4690 : character(:, SK) , intent(out) , allocatable , optional :: header
4691 : character(*, SK) , intent(in) , optional :: sep
4692 : character(*, SK) , intent(inout) , optional :: iomsg
4693 : type(trans_type) , intent(in) :: operation
4694 : integer(IK) , intent(in) , optional :: roff
4695 : integer(IK) , intent(in) :: unit
4696 : integer(IK) :: err
4697 : end function
4698 : #endif
4699 :
4700 : #if LK4_ENABLED
4701 : module function getErrTableReadUnit_TO_D1_LK4(unit, table, operation, header, sep, roff, iomsg) result(err)
4702 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4703 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_LK4
4704 : #endif
4705 : use pm_kind, only: LKC => LK4
4706 : logical(LKC) , intent(out) , allocatable :: table(:)
4707 : character(:, SK) , intent(out) , allocatable , optional :: header
4708 : character(*, SK) , intent(in) , optional :: sep
4709 : character(*, SK) , intent(inout) , optional :: iomsg
4710 : type(trans_type) , intent(in) :: operation
4711 : integer(IK) , intent(in) , optional :: roff
4712 : integer(IK) , intent(in) :: unit
4713 : integer(IK) :: err
4714 : end function
4715 : #endif
4716 :
4717 : #if LK3_ENABLED
4718 : module function getErrTableReadUnit_TO_D1_LK3(unit, table, operation, header, sep, roff, iomsg) result(err)
4719 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4720 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_LK3
4721 : #endif
4722 : use pm_kind, only: LKC => LK3
4723 : logical(LKC) , intent(out) , allocatable :: table(:)
4724 : character(:, SK) , intent(out) , allocatable , optional :: header
4725 : character(*, SK) , intent(in) , optional :: sep
4726 : character(*, SK) , intent(inout) , optional :: iomsg
4727 : type(trans_type) , intent(in) :: operation
4728 : integer(IK) , intent(in) , optional :: roff
4729 : integer(IK) , intent(in) :: unit
4730 : integer(IK) :: err
4731 : end function
4732 : #endif
4733 :
4734 : #if LK2_ENABLED
4735 : module function getErrTableReadUnit_TO_D1_LK2(unit, table, operation, header, sep, roff, iomsg) result(err)
4736 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4737 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_LK2
4738 : #endif
4739 : use pm_kind, only: LKC => LK2
4740 : logical(LKC) , intent(out) , allocatable :: table(:)
4741 : character(:, SK) , intent(out) , allocatable , optional :: header
4742 : character(*, SK) , intent(in) , optional :: sep
4743 : character(*, SK) , intent(inout) , optional :: iomsg
4744 : type(trans_type) , intent(in) :: operation
4745 : integer(IK) , intent(in) , optional :: roff
4746 : integer(IK) , intent(in) :: unit
4747 : integer(IK) :: err
4748 : end function
4749 : #endif
4750 :
4751 : #if LK1_ENABLED
4752 : module function getErrTableReadUnit_TO_D1_LK1(unit, table, operation, header, sep, roff, iomsg) result(err)
4753 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4754 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_LK1
4755 : #endif
4756 : use pm_kind, only: LKC => LK1
4757 : logical(LKC) , intent(out) , allocatable :: table(:)
4758 : character(:, SK) , intent(out) , allocatable , optional :: header
4759 : character(*, SK) , intent(in) , optional :: sep
4760 : character(*, SK) , intent(inout) , optional :: iomsg
4761 : type(trans_type) , intent(in) :: operation
4762 : integer(IK) , intent(in) , optional :: roff
4763 : integer(IK) , intent(in) :: unit
4764 : integer(IK) :: err
4765 : end function
4766 : #endif
4767 :
4768 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4769 :
4770 : #if CK5_ENABLED
4771 : module function getErrTableReadUnit_TO_D1_CK5(unit, table, operation, header, sep, roff, iomsg) result(err)
4772 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4773 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_CK5
4774 : #endif
4775 : use pm_kind, only: CKC => CK5
4776 : complex(CKC) , intent(out) , allocatable :: table(:)
4777 : character(:, SK) , intent(out) , allocatable , optional :: header
4778 : character(*, SK) , intent(in) , optional :: sep
4779 : character(*, SK) , intent(inout) , optional :: iomsg
4780 : type(trans_type) , intent(in) :: operation
4781 : integer(IK) , intent(in) , optional :: roff
4782 : integer(IK) , intent(in) :: unit
4783 : integer(IK) :: err
4784 : end function
4785 : #endif
4786 :
4787 : #if CK4_ENABLED
4788 : module function getErrTableReadUnit_TO_D1_CK4(unit, table, operation, header, sep, roff, iomsg) result(err)
4789 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4790 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_CK4
4791 : #endif
4792 : use pm_kind, only: CKC => CK4
4793 : complex(CKC) , intent(out) , allocatable :: table(:)
4794 : character(:, SK) , intent(out) , allocatable , optional :: header
4795 : character(*, SK) , intent(in) , optional :: sep
4796 : character(*, SK) , intent(inout) , optional :: iomsg
4797 : type(trans_type) , intent(in) :: operation
4798 : integer(IK) , intent(in) , optional :: roff
4799 : integer(IK) , intent(in) :: unit
4800 : integer(IK) :: err
4801 : end function
4802 : #endif
4803 :
4804 : #if CK3_ENABLED
4805 : module function getErrTableReadUnit_TO_D1_CK3(unit, table, operation, header, sep, roff, iomsg) result(err)
4806 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4807 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_CK3
4808 : #endif
4809 : use pm_kind, only: CKC => CK3
4810 : complex(CKC) , intent(out) , allocatable :: table(:)
4811 : character(:, SK) , intent(out) , allocatable , optional :: header
4812 : character(*, SK) , intent(in) , optional :: sep
4813 : character(*, SK) , intent(inout) , optional :: iomsg
4814 : type(trans_type) , intent(in) :: operation
4815 : integer(IK) , intent(in) , optional :: roff
4816 : integer(IK) , intent(in) :: unit
4817 : integer(IK) :: err
4818 : end function
4819 : #endif
4820 :
4821 : #if CK2_ENABLED
4822 : module function getErrTableReadUnit_TO_D1_CK2(unit, table, operation, header, sep, roff, iomsg) result(err)
4823 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4824 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_CK2
4825 : #endif
4826 : use pm_kind, only: CKC => CK2
4827 : complex(CKC) , intent(out) , allocatable :: table(:)
4828 : character(:, SK) , intent(out) , allocatable , optional :: header
4829 : character(*, SK) , intent(in) , optional :: sep
4830 : character(*, SK) , intent(inout) , optional :: iomsg
4831 : type(trans_type) , intent(in) :: operation
4832 : integer(IK) , intent(in) , optional :: roff
4833 : integer(IK) , intent(in) :: unit
4834 : integer(IK) :: err
4835 : end function
4836 : #endif
4837 :
4838 : #if CK1_ENABLED
4839 : module function getErrTableReadUnit_TO_D1_CK1(unit, table, operation, header, sep, roff, iomsg) result(err)
4840 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4841 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_CK1
4842 : #endif
4843 : use pm_kind, only: CKC => CK1
4844 : complex(CKC) , intent(out) , allocatable :: table(:)
4845 : character(:, SK) , intent(out) , allocatable , optional :: header
4846 : character(*, SK) , intent(in) , optional :: sep
4847 : character(*, SK) , intent(inout) , optional :: iomsg
4848 : type(trans_type) , intent(in) :: operation
4849 : integer(IK) , intent(in) , optional :: roff
4850 : integer(IK) , intent(in) :: unit
4851 : integer(IK) :: err
4852 : end function
4853 : #endif
4854 :
4855 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4856 :
4857 : #if RK5_ENABLED
4858 : module function getErrTableReadUnit_TO_D1_RK5(unit, table, operation, header, sep, roff, iomsg) result(err)
4859 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4860 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_RK5
4861 : #endif
4862 : use pm_kind, only: RKC => RK5
4863 : real(RKC) , intent(out) , allocatable :: table(:)
4864 : character(:, SK) , intent(out) , allocatable , optional :: header
4865 : character(*, SK) , intent(in) , optional :: sep
4866 : character(*, SK) , intent(inout) , optional :: iomsg
4867 : type(trans_type) , intent(in) :: operation
4868 : integer(IK) , intent(in) , optional :: roff
4869 : integer(IK) , intent(in) :: unit
4870 : integer(IK) :: err
4871 : end function
4872 : #endif
4873 :
4874 : #if RK4_ENABLED
4875 : module function getErrTableReadUnit_TO_D1_RK4(unit, table, operation, header, sep, roff, iomsg) result(err)
4876 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4877 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_RK4
4878 : #endif
4879 : use pm_kind, only: RKC => RK4
4880 : real(RKC) , intent(out) , allocatable :: table(:)
4881 : character(:, SK) , intent(out) , allocatable , optional :: header
4882 : character(*, SK) , intent(in) , optional :: sep
4883 : character(*, SK) , intent(inout) , optional :: iomsg
4884 : type(trans_type) , intent(in) :: operation
4885 : integer(IK) , intent(in) , optional :: roff
4886 : integer(IK) , intent(in) :: unit
4887 : integer(IK) :: err
4888 : end function
4889 : #endif
4890 :
4891 : #if RK3_ENABLED
4892 : module function getErrTableReadUnit_TO_D1_RK3(unit, table, operation, header, sep, roff, iomsg) result(err)
4893 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4894 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_RK3
4895 : #endif
4896 : use pm_kind, only: RKC => RK3
4897 : real(RKC) , intent(out) , allocatable :: table(:)
4898 : character(:, SK) , intent(out) , allocatable , optional :: header
4899 : character(*, SK) , intent(in) , optional :: sep
4900 : character(*, SK) , intent(inout) , optional :: iomsg
4901 : type(trans_type) , intent(in) :: operation
4902 : integer(IK) , intent(in) , optional :: roff
4903 : integer(IK) , intent(in) :: unit
4904 : integer(IK) :: err
4905 : end function
4906 : #endif
4907 :
4908 : #if RK2_ENABLED
4909 : module function getErrTableReadUnit_TO_D1_RK2(unit, table, operation, header, sep, roff, iomsg) result(err)
4910 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4911 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_RK2
4912 : #endif
4913 : use pm_kind, only: RKC => RK2
4914 : real(RKC) , intent(out) , allocatable :: table(:)
4915 : character(:, SK) , intent(out) , allocatable , optional :: header
4916 : character(*, SK) , intent(in) , optional :: sep
4917 : character(*, SK) , intent(inout) , optional :: iomsg
4918 : type(trans_type) , intent(in) :: operation
4919 : integer(IK) , intent(in) , optional :: roff
4920 : integer(IK) , intent(in) :: unit
4921 : integer(IK) :: err
4922 : end function
4923 : #endif
4924 :
4925 : #if RK1_ENABLED
4926 : module function getErrTableReadUnit_TO_D1_RK1(unit, table, operation, header, sep, roff, iomsg) result(err)
4927 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4928 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D1_RK1
4929 : #endif
4930 : use pm_kind, only: RKC => RK1
4931 : real(RKC) , intent(out) , allocatable :: table(:)
4932 : character(:, SK) , intent(out) , allocatable , optional :: header
4933 : character(*, SK) , intent(in) , optional :: sep
4934 : character(*, SK) , intent(inout) , optional :: iomsg
4935 : type(trans_type) , intent(in) :: operation
4936 : integer(IK) , intent(in) , optional :: roff
4937 : integer(IK) , intent(in) :: unit
4938 : integer(IK) :: err
4939 : end function
4940 : #endif
4941 :
4942 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4943 :
4944 : end interface
4945 :
4946 : ! D2 file TO
4947 :
4948 : interface getErrTableRead
4949 :
4950 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4951 :
4952 : #if SK5_ENABLED
4953 : module function getErrTableReadFile_TO_D2_SK5(file, table, operation, header, sep, roff, iomsg) result(err)
4954 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4955 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_SK5
4956 : #endif
4957 : use pm_kind, only: SKC => SK5
4958 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
4959 : character(:, SK) , intent(out) , allocatable , optional :: header
4960 : character(*, SK) , intent(in) :: file
4961 : character(*, SK) , intent(in) , optional :: sep
4962 : character(*, SK) , intent(inout) , optional :: iomsg
4963 : type(trans_type) , intent(in) :: operation
4964 : integer(IK) , intent(in) , optional :: roff
4965 : integer(IK) :: err
4966 : end function
4967 : #endif
4968 :
4969 : #if SK4_ENABLED
4970 : module function getErrTableReadFile_TO_D2_SK4(file, table, operation, header, sep, roff, iomsg) result(err)
4971 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4972 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_SK4
4973 : #endif
4974 : use pm_kind, only: SKC => SK4
4975 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
4976 : character(:, SK) , intent(out) , allocatable , optional :: header
4977 : character(*, SK) , intent(in) :: file
4978 : character(*, SK) , intent(in) , optional :: sep
4979 : character(*, SK) , intent(inout) , optional :: iomsg
4980 : type(trans_type) , intent(in) :: operation
4981 : integer(IK) , intent(in) , optional :: roff
4982 : integer(IK) :: err
4983 : end function
4984 : #endif
4985 :
4986 : #if SK3_ENABLED
4987 : module function getErrTableReadFile_TO_D2_SK3(file, table, operation, header, sep, roff, iomsg) result(err)
4988 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
4989 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_SK3
4990 : #endif
4991 : use pm_kind, only: SKC => SK3
4992 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
4993 : character(:, SK) , intent(out) , allocatable , optional :: header
4994 : character(*, SK) , intent(in) :: file
4995 : character(*, SK) , intent(in) , optional :: sep
4996 : character(*, SK) , intent(inout) , optional :: iomsg
4997 : type(trans_type) , intent(in) :: operation
4998 : integer(IK) , intent(in) , optional :: roff
4999 : integer(IK) :: err
5000 : end function
5001 : #endif
5002 :
5003 : #if SK2_ENABLED
5004 : module function getErrTableReadFile_TO_D2_SK2(file, table, operation, header, sep, roff, iomsg) result(err)
5005 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5006 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_SK2
5007 : #endif
5008 : use pm_kind, only: SKC => SK2
5009 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
5010 : character(:, SK) , intent(out) , allocatable , optional :: header
5011 : character(*, SK) , intent(in) :: file
5012 : character(*, SK) , intent(in) , optional :: sep
5013 : character(*, SK) , intent(inout) , optional :: iomsg
5014 : type(trans_type) , intent(in) :: operation
5015 : integer(IK) , intent(in) , optional :: roff
5016 : integer(IK) :: err
5017 : end function
5018 : #endif
5019 :
5020 : #if SK1_ENABLED
5021 : module function getErrTableReadFile_TO_D2_SK1(file, table, operation, header, sep, roff, iomsg) result(err)
5022 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5023 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_SK1
5024 : #endif
5025 : use pm_kind, only: SKC => SK1
5026 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
5027 : character(:, SK) , intent(out) , allocatable , optional :: header
5028 : character(*, SK) , intent(in) :: file
5029 : character(*, SK) , intent(in) , optional :: sep
5030 : character(*, SK) , intent(inout) , optional :: iomsg
5031 : type(trans_type) , intent(in) :: operation
5032 : integer(IK) , intent(in) , optional :: roff
5033 : integer(IK) :: err
5034 : end function
5035 : #endif
5036 :
5037 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5038 :
5039 : #if IK5_ENABLED
5040 : module function getErrTableReadFile_TO_D2_IK5(file, table, operation, header, sep, roff, iomsg) result(err)
5041 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5042 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_IK5
5043 : #endif
5044 : use pm_kind, only: IKC => IK5
5045 : integer(IKC) , intent(out) , allocatable :: table(:,:)
5046 : character(:, SK) , intent(out) , allocatable , optional :: header
5047 : character(*, SK) , intent(in) :: file
5048 : character(*, SK) , intent(in) , optional :: sep
5049 : character(*, SK) , intent(inout) , optional :: iomsg
5050 : type(trans_type) , intent(in) :: operation
5051 : integer(IK) , intent(in) , optional :: roff
5052 : integer(IK) :: err
5053 : end function
5054 : #endif
5055 :
5056 : #if IK4_ENABLED
5057 : module function getErrTableReadFile_TO_D2_IK4(file, table, operation, header, sep, roff, iomsg) result(err)
5058 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5059 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_IK4
5060 : #endif
5061 : use pm_kind, only: IKC => IK4
5062 : integer(IKC) , intent(out) , allocatable :: table(:,:)
5063 : character(:, SK) , intent(out) , allocatable , optional :: header
5064 : character(*, SK) , intent(in) :: file
5065 : character(*, SK) , intent(in) , optional :: sep
5066 : character(*, SK) , intent(inout) , optional :: iomsg
5067 : type(trans_type) , intent(in) :: operation
5068 : integer(IK) , intent(in) , optional :: roff
5069 : integer(IK) :: err
5070 : end function
5071 : #endif
5072 :
5073 : #if IK3_ENABLED
5074 : module function getErrTableReadFile_TO_D2_IK3(file, table, operation, header, sep, roff, iomsg) result(err)
5075 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5076 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_IK3
5077 : #endif
5078 : use pm_kind, only: IKC => IK3
5079 : integer(IKC) , intent(out) , allocatable :: table(:,:)
5080 : character(:, SK) , intent(out) , allocatable , optional :: header
5081 : character(*, SK) , intent(in) :: file
5082 : character(*, SK) , intent(in) , optional :: sep
5083 : character(*, SK) , intent(inout) , optional :: iomsg
5084 : type(trans_type) , intent(in) :: operation
5085 : integer(IK) , intent(in) , optional :: roff
5086 : integer(IK) :: err
5087 : end function
5088 : #endif
5089 :
5090 : #if IK2_ENABLED
5091 : module function getErrTableReadFile_TO_D2_IK2(file, table, operation, header, sep, roff, iomsg) result(err)
5092 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5093 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_IK2
5094 : #endif
5095 : use pm_kind, only: IKC => IK2
5096 : integer(IKC) , intent(out) , allocatable :: table(:,:)
5097 : character(:, SK) , intent(out) , allocatable , optional :: header
5098 : character(*, SK) , intent(in) :: file
5099 : character(*, SK) , intent(in) , optional :: sep
5100 : character(*, SK) , intent(inout) , optional :: iomsg
5101 : type(trans_type) , intent(in) :: operation
5102 : integer(IK) , intent(in) , optional :: roff
5103 : integer(IK) :: err
5104 : end function
5105 : #endif
5106 :
5107 : #if IK1_ENABLED
5108 : module function getErrTableReadFile_TO_D2_IK1(file, table, operation, header, sep, roff, iomsg) result(err)
5109 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5110 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_IK1
5111 : #endif
5112 : use pm_kind, only: IKC => IK1
5113 : integer(IKC) , intent(out) , allocatable :: table(:,:)
5114 : character(:, SK) , intent(out) , allocatable , optional :: header
5115 : character(*, SK) , intent(in) :: file
5116 : character(*, SK) , intent(in) , optional :: sep
5117 : character(*, SK) , intent(inout) , optional :: iomsg
5118 : type(trans_type) , intent(in) :: operation
5119 : integer(IK) , intent(in) , optional :: roff
5120 : integer(IK) :: err
5121 : end function
5122 : #endif
5123 :
5124 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5125 :
5126 : #if LK5_ENABLED
5127 : module function getErrTableReadFile_TO_D2_LK5(file, table, operation, header, sep, roff, iomsg) result(err)
5128 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5129 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_LK5
5130 : #endif
5131 : use pm_kind, only: LKC => LK5
5132 : logical(LKC) , intent(out) , allocatable :: table(:,:)
5133 : character(:, SK) , intent(out) , allocatable , optional :: header
5134 : character(*, SK) , intent(in) :: file
5135 : character(*, SK) , intent(in) , optional :: sep
5136 : character(*, SK) , intent(inout) , optional :: iomsg
5137 : type(trans_type) , intent(in) :: operation
5138 : integer(IK) , intent(in) , optional :: roff
5139 : integer(IK) :: err
5140 : end function
5141 : #endif
5142 :
5143 : #if LK4_ENABLED
5144 : module function getErrTableReadFile_TO_D2_LK4(file, table, operation, header, sep, roff, iomsg) result(err)
5145 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5146 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_LK4
5147 : #endif
5148 : use pm_kind, only: LKC => LK4
5149 : logical(LKC) , intent(out) , allocatable :: table(:,:)
5150 : character(:, SK) , intent(out) , allocatable , optional :: header
5151 : character(*, SK) , intent(in) :: file
5152 : character(*, SK) , intent(in) , optional :: sep
5153 : character(*, SK) , intent(inout) , optional :: iomsg
5154 : type(trans_type) , intent(in) :: operation
5155 : integer(IK) , intent(in) , optional :: roff
5156 : integer(IK) :: err
5157 : end function
5158 : #endif
5159 :
5160 : #if LK3_ENABLED
5161 : module function getErrTableReadFile_TO_D2_LK3(file, table, operation, header, sep, roff, iomsg) result(err)
5162 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5163 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_LK3
5164 : #endif
5165 : use pm_kind, only: LKC => LK3
5166 : logical(LKC) , intent(out) , allocatable :: table(:,:)
5167 : character(:, SK) , intent(out) , allocatable , optional :: header
5168 : character(*, SK) , intent(in) :: file
5169 : character(*, SK) , intent(in) , optional :: sep
5170 : character(*, SK) , intent(inout) , optional :: iomsg
5171 : type(trans_type) , intent(in) :: operation
5172 : integer(IK) , intent(in) , optional :: roff
5173 : integer(IK) :: err
5174 : end function
5175 : #endif
5176 :
5177 : #if LK2_ENABLED
5178 : module function getErrTableReadFile_TO_D2_LK2(file, table, operation, header, sep, roff, iomsg) result(err)
5179 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5180 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_LK2
5181 : #endif
5182 : use pm_kind, only: LKC => LK2
5183 : logical(LKC) , intent(out) , allocatable :: table(:,:)
5184 : character(:, SK) , intent(out) , allocatable , optional :: header
5185 : character(*, SK) , intent(in) :: file
5186 : character(*, SK) , intent(in) , optional :: sep
5187 : character(*, SK) , intent(inout) , optional :: iomsg
5188 : type(trans_type) , intent(in) :: operation
5189 : integer(IK) , intent(in) , optional :: roff
5190 : integer(IK) :: err
5191 : end function
5192 : #endif
5193 :
5194 : #if LK1_ENABLED
5195 : module function getErrTableReadFile_TO_D2_LK1(file, table, operation, header, sep, roff, iomsg) result(err)
5196 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5197 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_LK1
5198 : #endif
5199 : use pm_kind, only: LKC => LK1
5200 : logical(LKC) , intent(out) , allocatable :: table(:,:)
5201 : character(:, SK) , intent(out) , allocatable , optional :: header
5202 : character(*, SK) , intent(in) :: file
5203 : character(*, SK) , intent(in) , optional :: sep
5204 : character(*, SK) , intent(inout) , optional :: iomsg
5205 : type(trans_type) , intent(in) :: operation
5206 : integer(IK) , intent(in) , optional :: roff
5207 : integer(IK) :: err
5208 : end function
5209 : #endif
5210 :
5211 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5212 :
5213 : #if CK5_ENABLED
5214 : module function getErrTableReadFile_TO_D2_CK5(file, table, operation, header, sep, roff, iomsg) result(err)
5215 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5216 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_CK5
5217 : #endif
5218 : use pm_kind, only: CKC => CK5
5219 : complex(CKC) , intent(out) , allocatable :: table(:,:)
5220 : character(:, SK) , intent(out) , allocatable , optional :: header
5221 : character(*, SK) , intent(in) :: file
5222 : character(*, SK) , intent(in) , optional :: sep
5223 : character(*, SK) , intent(inout) , optional :: iomsg
5224 : type(trans_type) , intent(in) :: operation
5225 : integer(IK) , intent(in) , optional :: roff
5226 : integer(IK) :: err
5227 : end function
5228 : #endif
5229 :
5230 : #if CK4_ENABLED
5231 : module function getErrTableReadFile_TO_D2_CK4(file, table, operation, header, sep, roff, iomsg) result(err)
5232 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5233 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_CK4
5234 : #endif
5235 : use pm_kind, only: CKC => CK4
5236 : complex(CKC) , intent(out) , allocatable :: table(:,:)
5237 : character(:, SK) , intent(out) , allocatable , optional :: header
5238 : character(*, SK) , intent(in) :: file
5239 : character(*, SK) , intent(in) , optional :: sep
5240 : character(*, SK) , intent(inout) , optional :: iomsg
5241 : type(trans_type) , intent(in) :: operation
5242 : integer(IK) , intent(in) , optional :: roff
5243 : integer(IK) :: err
5244 : end function
5245 : #endif
5246 :
5247 : #if CK3_ENABLED
5248 : module function getErrTableReadFile_TO_D2_CK3(file, table, operation, header, sep, roff, iomsg) result(err)
5249 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5250 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_CK3
5251 : #endif
5252 : use pm_kind, only: CKC => CK3
5253 : complex(CKC) , intent(out) , allocatable :: table(:,:)
5254 : character(:, SK) , intent(out) , allocatable , optional :: header
5255 : character(*, SK) , intent(in) :: file
5256 : character(*, SK) , intent(in) , optional :: sep
5257 : character(*, SK) , intent(inout) , optional :: iomsg
5258 : type(trans_type) , intent(in) :: operation
5259 : integer(IK) , intent(in) , optional :: roff
5260 : integer(IK) :: err
5261 : end function
5262 : #endif
5263 :
5264 : #if CK2_ENABLED
5265 : module function getErrTableReadFile_TO_D2_CK2(file, table, operation, header, sep, roff, iomsg) result(err)
5266 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5267 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_CK2
5268 : #endif
5269 : use pm_kind, only: CKC => CK2
5270 : complex(CKC) , intent(out) , allocatable :: table(:,:)
5271 : character(:, SK) , intent(out) , allocatable , optional :: header
5272 : character(*, SK) , intent(in) :: file
5273 : character(*, SK) , intent(in) , optional :: sep
5274 : character(*, SK) , intent(inout) , optional :: iomsg
5275 : type(trans_type) , intent(in) :: operation
5276 : integer(IK) , intent(in) , optional :: roff
5277 : integer(IK) :: err
5278 : end function
5279 : #endif
5280 :
5281 : #if CK1_ENABLED
5282 : module function getErrTableReadFile_TO_D2_CK1(file, table, operation, header, sep, roff, iomsg) result(err)
5283 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5284 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_CK1
5285 : #endif
5286 : use pm_kind, only: CKC => CK1
5287 : complex(CKC) , intent(out) , allocatable :: table(:,:)
5288 : character(:, SK) , intent(out) , allocatable , optional :: header
5289 : character(*, SK) , intent(in) :: file
5290 : character(*, SK) , intent(in) , optional :: sep
5291 : character(*, SK) , intent(inout) , optional :: iomsg
5292 : type(trans_type) , intent(in) :: operation
5293 : integer(IK) , intent(in) , optional :: roff
5294 : integer(IK) :: err
5295 : end function
5296 : #endif
5297 :
5298 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5299 :
5300 : #if RK5_ENABLED
5301 : module function getErrTableReadFile_TO_D2_RK5(file, table, operation, header, sep, roff, iomsg) result(err)
5302 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5303 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_RK5
5304 : #endif
5305 : use pm_kind, only: RKC => RK5
5306 : real(RKC) , intent(out) , allocatable :: table(:,:)
5307 : character(:, SK) , intent(out) , allocatable , optional :: header
5308 : character(*, SK) , intent(in) :: file
5309 : character(*, SK) , intent(in) , optional :: sep
5310 : character(*, SK) , intent(inout) , optional :: iomsg
5311 : type(trans_type) , intent(in) :: operation
5312 : integer(IK) , intent(in) , optional :: roff
5313 : integer(IK) :: err
5314 : end function
5315 : #endif
5316 :
5317 : #if RK4_ENABLED
5318 : module function getErrTableReadFile_TO_D2_RK4(file, table, operation, header, sep, roff, iomsg) result(err)
5319 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5320 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_RK4
5321 : #endif
5322 : use pm_kind, only: RKC => RK4
5323 : real(RKC) , intent(out) , allocatable :: table(:,:)
5324 : character(:, SK) , intent(out) , allocatable , optional :: header
5325 : character(*, SK) , intent(in) :: file
5326 : character(*, SK) , intent(in) , optional :: sep
5327 : character(*, SK) , intent(inout) , optional :: iomsg
5328 : type(trans_type) , intent(in) :: operation
5329 : integer(IK) , intent(in) , optional :: roff
5330 : integer(IK) :: err
5331 : end function
5332 : #endif
5333 :
5334 : #if RK3_ENABLED
5335 : module function getErrTableReadFile_TO_D2_RK3(file, table, operation, header, sep, roff, iomsg) result(err)
5336 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5337 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_RK3
5338 : #endif
5339 : use pm_kind, only: RKC => RK3
5340 : real(RKC) , intent(out) , allocatable :: table(:,:)
5341 : character(:, SK) , intent(out) , allocatable , optional :: header
5342 : character(*, SK) , intent(in) :: file
5343 : character(*, SK) , intent(in) , optional :: sep
5344 : character(*, SK) , intent(inout) , optional :: iomsg
5345 : type(trans_type) , intent(in) :: operation
5346 : integer(IK) , intent(in) , optional :: roff
5347 : integer(IK) :: err
5348 : end function
5349 : #endif
5350 :
5351 : #if RK2_ENABLED
5352 : module function getErrTableReadFile_TO_D2_RK2(file, table, operation, header, sep, roff, iomsg) result(err)
5353 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5354 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_RK2
5355 : #endif
5356 : use pm_kind, only: RKC => RK2
5357 : real(RKC) , intent(out) , allocatable :: table(:,:)
5358 : character(:, SK) , intent(out) , allocatable , optional :: header
5359 : character(*, SK) , intent(in) :: file
5360 : character(*, SK) , intent(in) , optional :: sep
5361 : character(*, SK) , intent(inout) , optional :: iomsg
5362 : type(trans_type) , intent(in) :: operation
5363 : integer(IK) , intent(in) , optional :: roff
5364 : integer(IK) :: err
5365 : end function
5366 : #endif
5367 :
5368 : #if RK1_ENABLED
5369 : module function getErrTableReadFile_TO_D2_RK1(file, table, operation, header, sep, roff, iomsg) result(err)
5370 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5371 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadFile_TO_D2_RK1
5372 : #endif
5373 : use pm_kind, only: RKC => RK1
5374 : real(RKC) , intent(out) , allocatable :: table(:,:)
5375 : character(:, SK) , intent(out) , allocatable , optional :: header
5376 : character(*, SK) , intent(in) :: file
5377 : character(*, SK) , intent(in) , optional :: sep
5378 : character(*, SK) , intent(inout) , optional :: iomsg
5379 : type(trans_type) , intent(in) :: operation
5380 : integer(IK) , intent(in) , optional :: roff
5381 : integer(IK) :: err
5382 : end function
5383 : #endif
5384 :
5385 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5386 :
5387 : end interface
5388 :
5389 : ! D2 unit TO
5390 :
5391 : interface getErrTableRead
5392 :
5393 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5394 :
5395 : #if SK5_ENABLED
5396 : module function getErrTableReadUnit_TO_D2_SK5(unit, table, operation, header, sep, roff, iomsg) result(err)
5397 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5398 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_SK5
5399 : #endif
5400 : use pm_kind, only: SKC => SK5
5401 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
5402 : character(:, SK) , intent(out) , allocatable , optional :: header
5403 : character(*, SK) , intent(in) , optional :: sep
5404 : character(*, SK) , intent(inout) , optional :: iomsg
5405 : type(trans_type) , intent(in) :: operation
5406 : integer(IK) , intent(in) , optional :: roff
5407 : integer(IK) , intent(in) :: unit
5408 : integer(IK) :: err
5409 : end function
5410 : #endif
5411 :
5412 : #if SK4_ENABLED
5413 : module function getErrTableReadUnit_TO_D2_SK4(unit, table, operation, header, sep, roff, iomsg) result(err)
5414 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5415 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_SK4
5416 : #endif
5417 : use pm_kind, only: SKC => SK4
5418 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
5419 : character(:, SK) , intent(out) , allocatable , optional :: header
5420 : character(*, SK) , intent(in) , optional :: sep
5421 : character(*, SK) , intent(inout) , optional :: iomsg
5422 : type(trans_type) , intent(in) :: operation
5423 : integer(IK) , intent(in) , optional :: roff
5424 : integer(IK) , intent(in) :: unit
5425 : integer(IK) :: err
5426 : end function
5427 : #endif
5428 :
5429 : #if SK3_ENABLED
5430 : module function getErrTableReadUnit_TO_D2_SK3(unit, table, operation, header, sep, roff, iomsg) result(err)
5431 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5432 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_SK3
5433 : #endif
5434 : use pm_kind, only: SKC => SK3
5435 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
5436 : character(:, SK) , intent(out) , allocatable , optional :: header
5437 : character(*, SK) , intent(in) , optional :: sep
5438 : character(*, SK) , intent(inout) , optional :: iomsg
5439 : type(trans_type) , intent(in) :: operation
5440 : integer(IK) , intent(in) , optional :: roff
5441 : integer(IK) , intent(in) :: unit
5442 : integer(IK) :: err
5443 : end function
5444 : #endif
5445 :
5446 : #if SK2_ENABLED
5447 : module function getErrTableReadUnit_TO_D2_SK2(unit, table, operation, header, sep, roff, iomsg) result(err)
5448 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5449 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_SK2
5450 : #endif
5451 : use pm_kind, only: SKC => SK2
5452 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
5453 : character(:, SK) , intent(out) , allocatable , optional :: header
5454 : character(*, SK) , intent(in) , optional :: sep
5455 : character(*, SK) , intent(inout) , optional :: iomsg
5456 : type(trans_type) , intent(in) :: operation
5457 : integer(IK) , intent(in) , optional :: roff
5458 : integer(IK) , intent(in) :: unit
5459 : integer(IK) :: err
5460 : end function
5461 : #endif
5462 :
5463 : #if SK1_ENABLED
5464 : module function getErrTableReadUnit_TO_D2_SK1(unit, table, operation, header, sep, roff, iomsg) result(err)
5465 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5466 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_SK1
5467 : #endif
5468 : use pm_kind, only: SKC => SK1
5469 : character(*,SKC) , intent(out) , allocatable :: table(:,:)
5470 : character(:, SK) , intent(out) , allocatable , optional :: header
5471 : character(*, SK) , intent(in) , optional :: sep
5472 : character(*, SK) , intent(inout) , optional :: iomsg
5473 : type(trans_type) , intent(in) :: operation
5474 : integer(IK) , intent(in) , optional :: roff
5475 : integer(IK) , intent(in) :: unit
5476 : integer(IK) :: err
5477 : end function
5478 : #endif
5479 :
5480 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5481 :
5482 : #if IK5_ENABLED
5483 : module function getErrTableReadUnit_TO_D2_IK5(unit, table, operation, header, sep, roff, iomsg) result(err)
5484 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5485 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_IK5
5486 : #endif
5487 : use pm_kind, only: IKC => IK5
5488 : integer(IKC) , intent(out) , allocatable :: table(:,:)
5489 : character(:, SK) , intent(out) , allocatable , optional :: header
5490 : character(*, SK) , intent(in) , optional :: sep
5491 : character(*, SK) , intent(inout) , optional :: iomsg
5492 : type(trans_type) , intent(in) :: operation
5493 : integer(IK) , intent(in) , optional :: roff
5494 : integer(IK) , intent(in) :: unit
5495 : integer(IK) :: err
5496 : end function
5497 : #endif
5498 :
5499 : #if IK4_ENABLED
5500 : module function getErrTableReadUnit_TO_D2_IK4(unit, table, operation, header, sep, roff, iomsg) result(err)
5501 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5502 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_IK4
5503 : #endif
5504 : use pm_kind, only: IKC => IK4
5505 : integer(IKC) , intent(out) , allocatable :: table(:,:)
5506 : character(:, SK) , intent(out) , allocatable , optional :: header
5507 : character(*, SK) , intent(in) , optional :: sep
5508 : character(*, SK) , intent(inout) , optional :: iomsg
5509 : type(trans_type) , intent(in) :: operation
5510 : integer(IK) , intent(in) , optional :: roff
5511 : integer(IK) , intent(in) :: unit
5512 : integer(IK) :: err
5513 : end function
5514 : #endif
5515 :
5516 : #if IK3_ENABLED
5517 : module function getErrTableReadUnit_TO_D2_IK3(unit, table, operation, header, sep, roff, iomsg) result(err)
5518 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5519 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_IK3
5520 : #endif
5521 : use pm_kind, only: IKC => IK3
5522 : integer(IKC) , intent(out) , allocatable :: table(:,:)
5523 : character(:, SK) , intent(out) , allocatable , optional :: header
5524 : character(*, SK) , intent(in) , optional :: sep
5525 : character(*, SK) , intent(inout) , optional :: iomsg
5526 : type(trans_type) , intent(in) :: operation
5527 : integer(IK) , intent(in) , optional :: roff
5528 : integer(IK) , intent(in) :: unit
5529 : integer(IK) :: err
5530 : end function
5531 : #endif
5532 :
5533 : #if IK2_ENABLED
5534 : module function getErrTableReadUnit_TO_D2_IK2(unit, table, operation, header, sep, roff, iomsg) result(err)
5535 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5536 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_IK2
5537 : #endif
5538 : use pm_kind, only: IKC => IK2
5539 : integer(IKC) , intent(out) , allocatable :: table(:,:)
5540 : character(:, SK) , intent(out) , allocatable , optional :: header
5541 : character(*, SK) , intent(in) , optional :: sep
5542 : character(*, SK) , intent(inout) , optional :: iomsg
5543 : type(trans_type) , intent(in) :: operation
5544 : integer(IK) , intent(in) , optional :: roff
5545 : integer(IK) , intent(in) :: unit
5546 : integer(IK) :: err
5547 : end function
5548 : #endif
5549 :
5550 : #if IK1_ENABLED
5551 : module function getErrTableReadUnit_TO_D2_IK1(unit, table, operation, header, sep, roff, iomsg) result(err)
5552 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5553 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_IK1
5554 : #endif
5555 : use pm_kind, only: IKC => IK1
5556 : integer(IKC) , intent(out) , allocatable :: table(:,:)
5557 : character(:, SK) , intent(out) , allocatable , optional :: header
5558 : character(*, SK) , intent(in) , optional :: sep
5559 : character(*, SK) , intent(inout) , optional :: iomsg
5560 : type(trans_type) , intent(in) :: operation
5561 : integer(IK) , intent(in) , optional :: roff
5562 : integer(IK) , intent(in) :: unit
5563 : integer(IK) :: err
5564 : end function
5565 : #endif
5566 :
5567 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5568 :
5569 : #if LK5_ENABLED
5570 : module function getErrTableReadUnit_TO_D2_LK5(unit, table, operation, header, sep, roff, iomsg) result(err)
5571 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5572 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_LK5
5573 : #endif
5574 : use pm_kind, only: LKC => LK5
5575 : logical(LKC) , intent(out) , allocatable :: table(:,:)
5576 : character(:, SK) , intent(out) , allocatable , optional :: header
5577 : character(*, SK) , intent(in) , optional :: sep
5578 : character(*, SK) , intent(inout) , optional :: iomsg
5579 : type(trans_type) , intent(in) :: operation
5580 : integer(IK) , intent(in) , optional :: roff
5581 : integer(IK) , intent(in) :: unit
5582 : integer(IK) :: err
5583 : end function
5584 : #endif
5585 :
5586 : #if LK4_ENABLED
5587 : module function getErrTableReadUnit_TO_D2_LK4(unit, table, operation, header, sep, roff, iomsg) result(err)
5588 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5589 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_LK4
5590 : #endif
5591 : use pm_kind, only: LKC => LK4
5592 : logical(LKC) , intent(out) , allocatable :: table(:,:)
5593 : character(:, SK) , intent(out) , allocatable , optional :: header
5594 : character(*, SK) , intent(in) , optional :: sep
5595 : character(*, SK) , intent(inout) , optional :: iomsg
5596 : type(trans_type) , intent(in) :: operation
5597 : integer(IK) , intent(in) , optional :: roff
5598 : integer(IK) , intent(in) :: unit
5599 : integer(IK) :: err
5600 : end function
5601 : #endif
5602 :
5603 : #if LK3_ENABLED
5604 : module function getErrTableReadUnit_TO_D2_LK3(unit, table, operation, header, sep, roff, iomsg) result(err)
5605 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5606 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_LK3
5607 : #endif
5608 : use pm_kind, only: LKC => LK3
5609 : logical(LKC) , intent(out) , allocatable :: table(:,:)
5610 : character(:, SK) , intent(out) , allocatable , optional :: header
5611 : character(*, SK) , intent(in) , optional :: sep
5612 : character(*, SK) , intent(inout) , optional :: iomsg
5613 : type(trans_type) , intent(in) :: operation
5614 : integer(IK) , intent(in) , optional :: roff
5615 : integer(IK) , intent(in) :: unit
5616 : integer(IK) :: err
5617 : end function
5618 : #endif
5619 :
5620 : #if LK2_ENABLED
5621 : module function getErrTableReadUnit_TO_D2_LK2(unit, table, operation, header, sep, roff, iomsg) result(err)
5622 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5623 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_LK2
5624 : #endif
5625 : use pm_kind, only: LKC => LK2
5626 : logical(LKC) , intent(out) , allocatable :: table(:,:)
5627 : character(:, SK) , intent(out) , allocatable , optional :: header
5628 : character(*, SK) , intent(in) , optional :: sep
5629 : character(*, SK) , intent(inout) , optional :: iomsg
5630 : type(trans_type) , intent(in) :: operation
5631 : integer(IK) , intent(in) , optional :: roff
5632 : integer(IK) , intent(in) :: unit
5633 : integer(IK) :: err
5634 : end function
5635 : #endif
5636 :
5637 : #if LK1_ENABLED
5638 : module function getErrTableReadUnit_TO_D2_LK1(unit, table, operation, header, sep, roff, iomsg) result(err)
5639 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5640 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_LK1
5641 : #endif
5642 : use pm_kind, only: LKC => LK1
5643 : logical(LKC) , intent(out) , allocatable :: table(:,:)
5644 : character(:, SK) , intent(out) , allocatable , optional :: header
5645 : character(*, SK) , intent(in) , optional :: sep
5646 : character(*, SK) , intent(inout) , optional :: iomsg
5647 : type(trans_type) , intent(in) :: operation
5648 : integer(IK) , intent(in) , optional :: roff
5649 : integer(IK) , intent(in) :: unit
5650 : integer(IK) :: err
5651 : end function
5652 : #endif
5653 :
5654 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5655 :
5656 : #if CK5_ENABLED
5657 : module function getErrTableReadUnit_TO_D2_CK5(unit, table, operation, header, sep, roff, iomsg) result(err)
5658 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5659 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_CK5
5660 : #endif
5661 : use pm_kind, only: CKC => CK5
5662 : complex(CKC) , intent(out) , allocatable :: table(:,:)
5663 : character(:, SK) , intent(out) , allocatable , optional :: header
5664 : character(*, SK) , intent(in) , optional :: sep
5665 : character(*, SK) , intent(inout) , optional :: iomsg
5666 : type(trans_type) , intent(in) :: operation
5667 : integer(IK) , intent(in) , optional :: roff
5668 : integer(IK) , intent(in) :: unit
5669 : integer(IK) :: err
5670 : end function
5671 : #endif
5672 :
5673 : #if CK4_ENABLED
5674 : module function getErrTableReadUnit_TO_D2_CK4(unit, table, operation, header, sep, roff, iomsg) result(err)
5675 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5676 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_CK4
5677 : #endif
5678 : use pm_kind, only: CKC => CK4
5679 : complex(CKC) , intent(out) , allocatable :: table(:,:)
5680 : character(:, SK) , intent(out) , allocatable , optional :: header
5681 : character(*, SK) , intent(in) , optional :: sep
5682 : character(*, SK) , intent(inout) , optional :: iomsg
5683 : type(trans_type) , intent(in) :: operation
5684 : integer(IK) , intent(in) , optional :: roff
5685 : integer(IK) , intent(in) :: unit
5686 : integer(IK) :: err
5687 : end function
5688 : #endif
5689 :
5690 : #if CK3_ENABLED
5691 : module function getErrTableReadUnit_TO_D2_CK3(unit, table, operation, header, sep, roff, iomsg) result(err)
5692 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5693 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_CK3
5694 : #endif
5695 : use pm_kind, only: CKC => CK3
5696 : complex(CKC) , intent(out) , allocatable :: table(:,:)
5697 : character(:, SK) , intent(out) , allocatable , optional :: header
5698 : character(*, SK) , intent(in) , optional :: sep
5699 : character(*, SK) , intent(inout) , optional :: iomsg
5700 : type(trans_type) , intent(in) :: operation
5701 : integer(IK) , intent(in) , optional :: roff
5702 : integer(IK) , intent(in) :: unit
5703 : integer(IK) :: err
5704 : end function
5705 : #endif
5706 :
5707 : #if CK2_ENABLED
5708 : module function getErrTableReadUnit_TO_D2_CK2(unit, table, operation, header, sep, roff, iomsg) result(err)
5709 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5710 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_CK2
5711 : #endif
5712 : use pm_kind, only: CKC => CK2
5713 : complex(CKC) , intent(out) , allocatable :: table(:,:)
5714 : character(:, SK) , intent(out) , allocatable , optional :: header
5715 : character(*, SK) , intent(in) , optional :: sep
5716 : character(*, SK) , intent(inout) , optional :: iomsg
5717 : type(trans_type) , intent(in) :: operation
5718 : integer(IK) , intent(in) , optional :: roff
5719 : integer(IK) , intent(in) :: unit
5720 : integer(IK) :: err
5721 : end function
5722 : #endif
5723 :
5724 : #if CK1_ENABLED
5725 : module function getErrTableReadUnit_TO_D2_CK1(unit, table, operation, header, sep, roff, iomsg) result(err)
5726 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5727 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_CK1
5728 : #endif
5729 : use pm_kind, only: CKC => CK1
5730 : complex(CKC) , intent(out) , allocatable :: table(:,:)
5731 : character(:, SK) , intent(out) , allocatable , optional :: header
5732 : character(*, SK) , intent(in) , optional :: sep
5733 : character(*, SK) , intent(inout) , optional :: iomsg
5734 : type(trans_type) , intent(in) :: operation
5735 : integer(IK) , intent(in) , optional :: roff
5736 : integer(IK) , intent(in) :: unit
5737 : integer(IK) :: err
5738 : end function
5739 : #endif
5740 :
5741 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5742 :
5743 : #if RK5_ENABLED
5744 : module function getErrTableReadUnit_TO_D2_RK5(unit, table, operation, header, sep, roff, iomsg) result(err)
5745 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5746 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_RK5
5747 : #endif
5748 : use pm_kind, only: RKC => RK5
5749 : real(RKC) , intent(out) , allocatable :: table(:,:)
5750 : character(:, SK) , intent(out) , allocatable , optional :: header
5751 : character(*, SK) , intent(in) , optional :: sep
5752 : character(*, SK) , intent(inout) , optional :: iomsg
5753 : type(trans_type) , intent(in) :: operation
5754 : integer(IK) , intent(in) , optional :: roff
5755 : integer(IK) , intent(in) :: unit
5756 : integer(IK) :: err
5757 : end function
5758 : #endif
5759 :
5760 : #if RK4_ENABLED
5761 : module function getErrTableReadUnit_TO_D2_RK4(unit, table, operation, header, sep, roff, iomsg) result(err)
5762 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5763 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_RK4
5764 : #endif
5765 : use pm_kind, only: RKC => RK4
5766 : real(RKC) , intent(out) , allocatable :: table(:,:)
5767 : character(:, SK) , intent(out) , allocatable , optional :: header
5768 : character(*, SK) , intent(in) , optional :: sep
5769 : character(*, SK) , intent(inout) , optional :: iomsg
5770 : type(trans_type) , intent(in) :: operation
5771 : integer(IK) , intent(in) , optional :: roff
5772 : integer(IK) , intent(in) :: unit
5773 : integer(IK) :: err
5774 : end function
5775 : #endif
5776 :
5777 : #if RK3_ENABLED
5778 : module function getErrTableReadUnit_TO_D2_RK3(unit, table, operation, header, sep, roff, iomsg) result(err)
5779 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5780 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_RK3
5781 : #endif
5782 : use pm_kind, only: RKC => RK3
5783 : real(RKC) , intent(out) , allocatable :: table(:,:)
5784 : character(:, SK) , intent(out) , allocatable , optional :: header
5785 : character(*, SK) , intent(in) , optional :: sep
5786 : character(*, SK) , intent(inout) , optional :: iomsg
5787 : type(trans_type) , intent(in) :: operation
5788 : integer(IK) , intent(in) , optional :: roff
5789 : integer(IK) , intent(in) :: unit
5790 : integer(IK) :: err
5791 : end function
5792 : #endif
5793 :
5794 : #if RK2_ENABLED
5795 : module function getErrTableReadUnit_TO_D2_RK2(unit, table, operation, header, sep, roff, iomsg) result(err)
5796 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5797 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_RK2
5798 : #endif
5799 : use pm_kind, only: RKC => RK2
5800 : real(RKC) , intent(out) , allocatable :: table(:,:)
5801 : character(:, SK) , intent(out) , allocatable , optional :: header
5802 : character(*, SK) , intent(in) , optional :: sep
5803 : character(*, SK) , intent(inout) , optional :: iomsg
5804 : type(trans_type) , intent(in) :: operation
5805 : integer(IK) , intent(in) , optional :: roff
5806 : integer(IK) , intent(in) :: unit
5807 : integer(IK) :: err
5808 : end function
5809 : #endif
5810 :
5811 : #if RK1_ENABLED
5812 : module function getErrTableReadUnit_TO_D2_RK1(unit, table, operation, header, sep, roff, iomsg) result(err)
5813 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5814 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableReadUnit_TO_D2_RK1
5815 : #endif
5816 : use pm_kind, only: RKC => RK1
5817 : real(RKC) , intent(out) , allocatable :: table(:,:)
5818 : character(:, SK) , intent(out) , allocatable , optional :: header
5819 : character(*, SK) , intent(in) , optional :: sep
5820 : character(*, SK) , intent(inout) , optional :: iomsg
5821 : type(trans_type) , intent(in) :: operation
5822 : integer(IK) , intent(in) , optional :: roff
5823 : integer(IK) , intent(in) :: unit
5824 : integer(IK) :: err
5825 : end function
5826 : #endif
5827 :
5828 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5829 :
5830 : end interface
5831 :
5832 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5833 :
5834 : !> \brief
5835 : !> Generate and return the `iostat` code resulting from writing the input `table` of rank `1` or `2` to the specified output.<br>
5836 : !>
5837 : !> \param[in] file : The input scalar `character` of default kind \SK representing the path to the external file to which the `table` must be written.<br>
5838 : !> If the specified `file` does not exist, it will be created.<br>
5839 : !> If it exists or is already connected, it will repositioned before the beginning of its first record.<br>
5840 : !> (**optional**. It must be present **only if** the input argument `unit` is missing.)
5841 : !> \param[in] unit : The input scalar `integer` of default kind \IK representing the preconnected (opened) file unit to which the table must be written.<br>
5842 : !> The writing will begin from the current file position plus the input `roff`.<br>
5843 : !> To write to stdout, `use iso_fortran_env, only: unit => output_unit`.<br>
5844 : !> (**optional**. It must be present **only if** the input argument `file` is missing.)
5845 : !> \param[in] table : The input array of shape `(:)` or `(:,:)` of either <br>
5846 : !> <ol>
5847 : !> <li> type `character` of kind \SKALL, or <br>
5848 : !> <li> type `integer` of kind \IKALL, or <br>
5849 : !> <li> type `logical` of kind \LKALL, or <br>
5850 : !> <li> type `complex` of kind \CKALL, or <br>
5851 : !> <li> type `real` of kind \RKALL, <br>
5852 : !> </ol>
5853 : !> representing the data `table` to write to the specified output.<br>
5854 : !> By default a `table` of rank `1` is considered to be a single column unless
5855 : !> the input optional argument `operation` is set to [trans](@ref pm_matrixTrans::trans) in which case `table` is considered as a row of fields.<br>
5856 : !> By default, if the input argument `operation` is missing, each column of `table` corresponds to each column of data in the file.<br>
5857 : !> \param[in] operation : The input scalar constant that can be:<br>
5858 : !> <ol>
5859 : !> <li> the scalar constant [trans](@ref pm_matrixTrans::trans) or a scalar object of type [trans_type](@ref pm_matrixTrans::trans_type),
5860 : !> implying that the input `table` must be transposed before being written to the output file.<br>
5861 : !> This option is particularly useful for outputting `table` that is in Fortran column-major
5862 : !> storage mode but has to be written in regular row-major format to the output.<br>
5863 : !> </ol>
5864 : !> (**optional**, default = [nothing](@ref pm_array::nothing), implying that the `table` must be output as is.)
5865 : !> \param[in] header : The input scalar `character` of default kind \SK of arbitrary length type parameter containing the table header.<br>
5866 : !> It is recommended to delimit the header fields with the same input separator `sep`
5867 : !> to this generic interface to minimize difficulties with reading the table in the future.<br>
5868 : !> (**optional**, If missing, no header will be written to the specified output.
5869 : !> The generic interface [setSplit()](@ref pm_arraySplit::setSplit) can be used to readily generate a array of header field containers split at by the user-specified separator.)
5870 : !> \param[in] sep : The input scalar `character` of default kind \SK of arbitrary length type parameter
5871 : !> containing the separator of the fields of each of row of the `table` in the output file.<br>
5872 : !> (**optional**, default = `,` corresponding to an output CSV file.)
5873 : !> \param[in] deliml : The input scalar of type `character` of default kind \SK, of arbitrary length type parameter,
5874 : !> containing the left-delimiter to be used for delimiting (quoting) the left-side of the elements of `table` in the output file.<br>
5875 : !> The symbols \f$\texttt{"}\f$ and \f$\texttt{'}\f$ are the two most popular quotation mark choices that are recognized by both CSV and Fortran list-directed output forms.<br>
5876 : !> Unless there is a good reason, the use of delimiters for `table` of type other than `character` is not advised.<br>
5877 : !> (**optional**. default = `delimr` or if missing, no left-delimiter will be used.)
5878 : !> \param[in] delimr : The input scalar of type `character` of default kind \SK, of arbitrary length type parameter,
5879 : !> containing the right-delimiter to be used for delimiting (quoting) the right-side of the elements of `table` in the output file.<br>
5880 : !> The symbols \f$\texttt{"}\f$ and \f$\texttt{'}\f$ are the two most popular quotation mark choices that are recognized by both CSV and Fortran list-directed output forms.<br>
5881 : !> Unless there is a good reason, the use of delimiters for `table` of type other than `character` is not advised.<br>
5882 : !> (**optional**. default = `deliml` or if missing, no right-delimiter will be used.)
5883 : !> \param[in] roff : The input scalar `integer` of default kind \IK representing the row offset, that is, the number of rows
5884 : !> in the external `file` or `unit` to skip before beginning to read the output variables `header` and `table`.<br>
5885 : !> (**optional**. default = `0`)
5886 : !> \param[inout] iomsg : The input/output scalar `character` of default kind \SK containing the error message, if any error occurs.<br>
5887 : !> A length type parameter value of [LEN_IOMSG](@ref pm_io::LEN_IOMSG) is generally sufficient for `iomsg` to contain the output error messages.<br>
5888 : !> (**optional**. If missing, no information other than the output error code `err` will be returned.)
5889 : !>
5890 : !> \return
5891 : !> `err` : The output scalar `integer` of default kind \IK containing the `iostat`
5892 : !> error code returned by the Fortran intrinsic `write()` statement.<br>
5893 : !> On return, `err` is set to `0` **if and only if** the `table` is successfully written to the output.<br>
5894 : !> See the Fortran standard and specific compiler documentations for the possible meanings of the output `err`.<br>
5895 : !>
5896 : !> \interface{getErrTableWrite}
5897 : !> \code{.F90}
5898 : !>
5899 : !> use pm_io, only: getErrTableWrite
5900 : !> use pm_kind, only: IK
5901 : !> integer(IK) :: err
5902 : !>
5903 : !> err = getErrTableWrite(unit, table(1..2) , header = header, sep = sep, deliml, delimr = deliml, delimr = delimr, roff = roff, iomsg = iomsg)
5904 : !> err = getErrTableWrite(file, table(1..2) , header = header, sep = sep, deliml, delimr = deliml, delimr = delimr, roff = roff, iomsg = iomsg)
5905 : !> err = getErrTableWrite(unit, table(1..2), operation, header = header, sep = sep, deliml, delimr = deliml, delimr = delimr, roff = roff, iomsg = iomsg)
5906 : !> err = getErrTableWrite(file, table(1..2), operation, header = header, sep = sep, deliml, delimr = deliml, delimr = delimr, roff = roff, iomsg = iomsg)
5907 : !> !
5908 : !> \endcode
5909 : !>
5910 : !> \warning
5911 : !> The condition `isOpen(unit)` must hold for the corresponding input arguments.<br>
5912 : !> \vericon
5913 : !>
5914 : !> \impure
5915 : !>
5916 : !> \see
5917 : !> [getRecordFrom](@ref pm_io::getRecordFrom)<br>
5918 : !> [setRecordFrom](@ref pm_io::setRecordFrom)<br>
5919 : !> [getContentsFrom](@ref pm_io::getContentsFrom)<br>
5920 : !> [setContentsFrom](@ref pm_io::setContentsFrom)<br>
5921 : !> [getErrTableRead](@ref pm_io::getErrTableRead)<br>
5922 : !> [getErrTableWrite](@ref pm_io::getErrTableWrite)<br>
5923 : !>
5924 : !> \example{getErrTableWrite}
5925 : !> \include{lineno} example/pm_io/getErrTableWrite/main.F90
5926 : !> \compilef{getErrTableWrite}
5927 : !> \output{getErrTableWrite}
5928 : !> \include{lineno} example/pm_io/getErrTableWrite/main.out.F90
5929 : !>
5930 : !> \test
5931 : !> [test_pm_io](@ref test_pm_io)
5932 : !>
5933 : !> \finmain{getErrTableWrite}
5934 : !>
5935 : !> \author
5936 : !> \AmirShahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
5937 :
5938 : ! D1 file NO
5939 :
5940 : interface getErrTableWrite
5941 :
5942 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5943 :
5944 : #if SK5_ENABLED
5945 : module function getErrTableWriteFile_NO_D1_SK5(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
5946 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5947 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_SK5
5948 : #endif
5949 : use pm_kind, only: SKC => SK5
5950 : character(*,SKC) , intent(in) , contiguous :: table(:)
5951 : character(*, SK) , intent(in) , optional :: file, header, sep
5952 : character(*, SK) , intent(in) , optional :: deliml, delimr
5953 : character(*, SK) , intent(inout) , optional :: iomsg
5954 : integer(IK) , intent(in) , optional :: roff
5955 : integer(IK) :: err
5956 : end function
5957 : #endif
5958 :
5959 : #if SK4_ENABLED
5960 : module function getErrTableWriteFile_NO_D1_SK4(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
5961 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5962 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_SK4
5963 : #endif
5964 : use pm_kind, only: SKC => SK4
5965 : character(*,SKC) , intent(in) , contiguous :: table(:)
5966 : character(*, SK) , intent(in) , optional :: file, header, sep
5967 : character(*, SK) , intent(in) , optional :: deliml, delimr
5968 : character(*, SK) , intent(inout) , optional :: iomsg
5969 : integer(IK) , intent(in) , optional :: roff
5970 : integer(IK) :: err
5971 : end function
5972 : #endif
5973 :
5974 : #if SK3_ENABLED
5975 : module function getErrTableWriteFile_NO_D1_SK3(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
5976 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5977 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_SK3
5978 : #endif
5979 : use pm_kind, only: SKC => SK3
5980 : character(*,SKC) , intent(in) , contiguous :: table(:)
5981 : character(*, SK) , intent(in) , optional :: file, header, sep
5982 : character(*, SK) , intent(in) , optional :: deliml, delimr
5983 : character(*, SK) , intent(inout) , optional :: iomsg
5984 : integer(IK) , intent(in) , optional :: roff
5985 : integer(IK) :: err
5986 : end function
5987 : #endif
5988 :
5989 : #if SK2_ENABLED
5990 : module function getErrTableWriteFile_NO_D1_SK2(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
5991 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
5992 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_SK2
5993 : #endif
5994 : use pm_kind, only: SKC => SK2
5995 : character(*,SKC) , intent(in) , contiguous :: table(:)
5996 : character(*, SK) , intent(in) , optional :: file, header, sep
5997 : character(*, SK) , intent(in) , optional :: deliml, delimr
5998 : character(*, SK) , intent(inout) , optional :: iomsg
5999 : integer(IK) , intent(in) , optional :: roff
6000 : integer(IK) :: err
6001 : end function
6002 : #endif
6003 :
6004 : #if SK1_ENABLED
6005 : module function getErrTableWriteFile_NO_D1_SK1(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6006 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6007 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_SK1
6008 : #endif
6009 : use pm_kind, only: SKC => SK1
6010 : character(*,SKC) , intent(in) , contiguous :: table(:)
6011 : character(*, SK) , intent(in) , optional :: file, header, sep
6012 : character(*, SK) , intent(in) , optional :: deliml, delimr
6013 : character(*, SK) , intent(inout) , optional :: iomsg
6014 : integer(IK) , intent(in) , optional :: roff
6015 : integer(IK) :: err
6016 : end function
6017 : #endif
6018 :
6019 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6020 :
6021 : #if IK5_ENABLED
6022 : module function getErrTableWriteFile_NO_D1_IK5(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6023 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6024 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_IK5
6025 : #endif
6026 : use pm_kind, only: IKC => IK5
6027 : integer(IKC) , intent(in) , contiguous :: table(:)
6028 : character(*, SK) , intent(in) , optional :: file, header, sep
6029 : character(*, SK) , intent(in) , optional :: deliml, delimr
6030 : character(*, SK) , intent(inout) , optional :: iomsg
6031 : integer(IK) , intent(in) , optional :: roff
6032 : integer(IK) :: err
6033 : end function
6034 : #endif
6035 :
6036 : #if IK4_ENABLED
6037 : module function getErrTableWriteFile_NO_D1_IK4(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6038 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6039 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_IK4
6040 : #endif
6041 : use pm_kind, only: IKC => IK4
6042 : integer(IKC) , intent(in) , contiguous :: table(:)
6043 : character(*, SK) , intent(in) , optional :: file, header, sep
6044 : character(*, SK) , intent(in) , optional :: deliml, delimr
6045 : character(*, SK) , intent(inout) , optional :: iomsg
6046 : integer(IK) , intent(in) , optional :: roff
6047 : integer(IK) :: err
6048 : end function
6049 : #endif
6050 :
6051 : #if IK3_ENABLED
6052 : module function getErrTableWriteFile_NO_D1_IK3(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6053 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6054 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_IK3
6055 : #endif
6056 : use pm_kind, only: IKC => IK3
6057 : integer(IKC) , intent(in) , contiguous :: table(:)
6058 : character(*, SK) , intent(in) , optional :: file, header, sep
6059 : character(*, SK) , intent(in) , optional :: deliml, delimr
6060 : character(*, SK) , intent(inout) , optional :: iomsg
6061 : integer(IK) , intent(in) , optional :: roff
6062 : integer(IK) :: err
6063 : end function
6064 : #endif
6065 :
6066 : #if IK2_ENABLED
6067 : module function getErrTableWriteFile_NO_D1_IK2(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6068 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6069 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_IK2
6070 : #endif
6071 : use pm_kind, only: IKC => IK2
6072 : integer(IKC) , intent(in) , contiguous :: table(:)
6073 : character(*, SK) , intent(in) , optional :: file, header, sep
6074 : character(*, SK) , intent(in) , optional :: deliml, delimr
6075 : character(*, SK) , intent(inout) , optional :: iomsg
6076 : integer(IK) , intent(in) , optional :: roff
6077 : integer(IK) :: err
6078 : end function
6079 : #endif
6080 :
6081 : #if IK1_ENABLED
6082 : module function getErrTableWriteFile_NO_D1_IK1(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6083 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6084 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_IK1
6085 : #endif
6086 : use pm_kind, only: IKC => IK1
6087 : integer(IKC) , intent(in) , contiguous :: table(:)
6088 : character(*, SK) , intent(in) , optional :: file, header, sep
6089 : character(*, SK) , intent(in) , optional :: deliml, delimr
6090 : character(*, SK) , intent(inout) , optional :: iomsg
6091 : integer(IK) , intent(in) , optional :: roff
6092 : integer(IK) :: err
6093 : end function
6094 : #endif
6095 :
6096 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6097 :
6098 : #if LK5_ENABLED
6099 : module function getErrTableWriteFile_NO_D1_LK5(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6100 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6101 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_LK5
6102 : #endif
6103 : use pm_kind, only: LKC => LK5
6104 : logical(LKC) , intent(in) , contiguous :: table(:)
6105 : character(*, SK) , intent(in) , optional :: file, header, sep
6106 : character(*, SK) , intent(in) , optional :: deliml, delimr
6107 : character(*, SK) , intent(inout) , optional :: iomsg
6108 : integer(IK) , intent(in) , optional :: roff
6109 : integer(IK) :: err
6110 : end function
6111 : #endif
6112 :
6113 : #if LK4_ENABLED
6114 : module function getErrTableWriteFile_NO_D1_LK4(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6115 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6116 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_LK4
6117 : #endif
6118 : use pm_kind, only: LKC => LK4
6119 : logical(LKC) , intent(in) , contiguous :: table(:)
6120 : character(*, SK) , intent(in) , optional :: file, header, sep
6121 : character(*, SK) , intent(in) , optional :: deliml, delimr
6122 : character(*, SK) , intent(inout) , optional :: iomsg
6123 : integer(IK) , intent(in) , optional :: roff
6124 : integer(IK) :: err
6125 : end function
6126 : #endif
6127 :
6128 : #if LK3_ENABLED
6129 : module function getErrTableWriteFile_NO_D1_LK3(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6130 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6131 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_LK3
6132 : #endif
6133 : use pm_kind, only: LKC => LK3
6134 : logical(LKC) , intent(in) , contiguous :: table(:)
6135 : character(*, SK) , intent(in) , optional :: file, header, sep
6136 : character(*, SK) , intent(in) , optional :: deliml, delimr
6137 : character(*, SK) , intent(inout) , optional :: iomsg
6138 : integer(IK) , intent(in) , optional :: roff
6139 : integer(IK) :: err
6140 : end function
6141 : #endif
6142 :
6143 : #if LK2_ENABLED
6144 : module function getErrTableWriteFile_NO_D1_LK2(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6145 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6146 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_LK2
6147 : #endif
6148 : use pm_kind, only: LKC => LK2
6149 : logical(LKC) , intent(in) , contiguous :: table(:)
6150 : character(*, SK) , intent(in) , optional :: file, header, sep
6151 : character(*, SK) , intent(in) , optional :: deliml, delimr
6152 : character(*, SK) , intent(inout) , optional :: iomsg
6153 : integer(IK) , intent(in) , optional :: roff
6154 : integer(IK) :: err
6155 : end function
6156 : #endif
6157 :
6158 : #if LK1_ENABLED
6159 : module function getErrTableWriteFile_NO_D1_LK1(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6160 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6161 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_LK1
6162 : #endif
6163 : use pm_kind, only: LKC => LK1
6164 : logical(LKC) , intent(in) , contiguous :: table(:)
6165 : character(*, SK) , intent(in) , optional :: file, header, sep
6166 : character(*, SK) , intent(in) , optional :: deliml, delimr
6167 : character(*, SK) , intent(inout) , optional :: iomsg
6168 : integer(IK) , intent(in) , optional :: roff
6169 : integer(IK) :: err
6170 : end function
6171 : #endif
6172 :
6173 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6174 :
6175 : #if CK5_ENABLED
6176 : module function getErrTableWriteFile_NO_D1_CK5(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6177 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6178 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_CK5
6179 : #endif
6180 : use pm_kind, only: CKC => CK5
6181 : complex(CKC) , intent(in) , contiguous :: table(:)
6182 : character(*, SK) , intent(in) , optional :: file, header, sep
6183 : character(*, SK) , intent(in) , optional :: deliml, delimr
6184 : character(*, SK) , intent(inout) , optional :: iomsg
6185 : integer(IK) , intent(in) , optional :: roff
6186 : integer(IK) :: err
6187 : end function
6188 : #endif
6189 :
6190 : #if CK4_ENABLED
6191 : module function getErrTableWriteFile_NO_D1_CK4(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6192 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6193 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_CK4
6194 : #endif
6195 : use pm_kind, only: CKC => CK4
6196 : complex(CKC) , intent(in) , contiguous :: table(:)
6197 : character(*, SK) , intent(in) , optional :: file, header, sep
6198 : character(*, SK) , intent(in) , optional :: deliml, delimr
6199 : character(*, SK) , intent(inout) , optional :: iomsg
6200 : integer(IK) , intent(in) , optional :: roff
6201 : integer(IK) :: err
6202 : end function
6203 : #endif
6204 :
6205 : #if CK3_ENABLED
6206 : module function getErrTableWriteFile_NO_D1_CK3(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6207 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6208 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_CK3
6209 : #endif
6210 : use pm_kind, only: CKC => CK3
6211 : complex(CKC) , intent(in) , contiguous :: table(:)
6212 : character(*, SK) , intent(in) , optional :: file, header, sep
6213 : character(*, SK) , intent(in) , optional :: deliml, delimr
6214 : character(*, SK) , intent(inout) , optional :: iomsg
6215 : integer(IK) , intent(in) , optional :: roff
6216 : integer(IK) :: err
6217 : end function
6218 : #endif
6219 :
6220 : #if CK2_ENABLED
6221 : module function getErrTableWriteFile_NO_D1_CK2(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6222 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6223 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_CK2
6224 : #endif
6225 : use pm_kind, only: CKC => CK2
6226 : complex(CKC) , intent(in) , contiguous :: table(:)
6227 : character(*, SK) , intent(in) , optional :: file, header, sep
6228 : character(*, SK) , intent(in) , optional :: deliml, delimr
6229 : character(*, SK) , intent(inout) , optional :: iomsg
6230 : integer(IK) , intent(in) , optional :: roff
6231 : integer(IK) :: err
6232 : end function
6233 : #endif
6234 :
6235 : #if CK1_ENABLED
6236 : module function getErrTableWriteFile_NO_D1_CK1(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6237 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6238 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_CK1
6239 : #endif
6240 : use pm_kind, only: CKC => CK1
6241 : complex(CKC) , intent(in) , contiguous :: table(:)
6242 : character(*, SK) , intent(in) , optional :: file, header, sep
6243 : character(*, SK) , intent(in) , optional :: deliml, delimr
6244 : character(*, SK) , intent(inout) , optional :: iomsg
6245 : integer(IK) , intent(in) , optional :: roff
6246 : integer(IK) :: err
6247 : end function
6248 : #endif
6249 :
6250 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6251 :
6252 : #if RK5_ENABLED
6253 : module function getErrTableWriteFile_NO_D1_RK5(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6254 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6255 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_RK5
6256 : #endif
6257 : use pm_kind, only: RKC => RK5
6258 : real(RKC) , intent(in) , contiguous :: table(:)
6259 : character(*, SK) , intent(in) , optional :: file, header, sep
6260 : character(*, SK) , intent(in) , optional :: deliml, delimr
6261 : character(*, SK) , intent(inout) , optional :: iomsg
6262 : integer(IK) , intent(in) , optional :: roff
6263 : integer(IK) :: err
6264 : end function
6265 : #endif
6266 :
6267 : #if RK4_ENABLED
6268 : module function getErrTableWriteFile_NO_D1_RK4(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6269 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6270 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_RK4
6271 : #endif
6272 : use pm_kind, only: RKC => RK4
6273 : real(RKC) , intent(in) , contiguous :: table(:)
6274 : character(*, SK) , intent(in) , optional :: file, header, sep
6275 : character(*, SK) , intent(in) , optional :: deliml, delimr
6276 : character(*, SK) , intent(inout) , optional :: iomsg
6277 : integer(IK) , intent(in) , optional :: roff
6278 : integer(IK) :: err
6279 : end function
6280 : #endif
6281 :
6282 : #if RK3_ENABLED
6283 : module function getErrTableWriteFile_NO_D1_RK3(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6284 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6285 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_RK3
6286 : #endif
6287 : use pm_kind, only: RKC => RK3
6288 : real(RKC) , intent(in) , contiguous :: table(:)
6289 : character(*, SK) , intent(in) , optional :: file, header, sep
6290 : character(*, SK) , intent(in) , optional :: deliml, delimr
6291 : character(*, SK) , intent(inout) , optional :: iomsg
6292 : integer(IK) , intent(in) , optional :: roff
6293 : integer(IK) :: err
6294 : end function
6295 : #endif
6296 :
6297 : #if RK2_ENABLED
6298 : module function getErrTableWriteFile_NO_D1_RK2(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6299 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6300 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_RK2
6301 : #endif
6302 : use pm_kind, only: RKC => RK2
6303 : real(RKC) , intent(in) , contiguous :: table(:)
6304 : character(*, SK) , intent(in) , optional :: file, header, sep
6305 : character(*, SK) , intent(in) , optional :: deliml, delimr
6306 : character(*, SK) , intent(inout) , optional :: iomsg
6307 : integer(IK) , intent(in) , optional :: roff
6308 : integer(IK) :: err
6309 : end function
6310 : #endif
6311 :
6312 : #if RK1_ENABLED
6313 : module function getErrTableWriteFile_NO_D1_RK1(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6314 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6315 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D1_RK1
6316 : #endif
6317 : use pm_kind, only: RKC => RK1
6318 : real(RKC) , intent(in) , contiguous :: table(:)
6319 : character(*, SK) , intent(in) , optional :: file, header, sep
6320 : character(*, SK) , intent(in) , optional :: deliml, delimr
6321 : character(*, SK) , intent(inout) , optional :: iomsg
6322 : integer(IK) , intent(in) , optional :: roff
6323 : integer(IK) :: err
6324 : end function
6325 : #endif
6326 :
6327 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6328 :
6329 : end interface
6330 :
6331 : ! D1 unit NO
6332 :
6333 : interface getErrTableWrite
6334 :
6335 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6336 :
6337 : #if SK5_ENABLED
6338 : module function getErrTableWriteUnit_NO_D1_SK5(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6339 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6340 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_SK5
6341 : #endif
6342 : use pm_kind, only: SKC => SK5
6343 : character(*,SKC) , intent(in) , contiguous :: table(:)
6344 : character(*, SK) , intent(in) , optional :: header, sep
6345 : character(*, SK) , intent(in) , optional :: deliml, delimr
6346 : character(*, SK) , intent(inout) , optional :: iomsg
6347 : integer(IK) , intent(in) , optional :: roff
6348 : integer(IK) , intent(in) :: unit
6349 : integer(IK) :: err
6350 : end function
6351 : #endif
6352 :
6353 : #if SK4_ENABLED
6354 : module function getErrTableWriteUnit_NO_D1_SK4(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6355 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6356 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_SK4
6357 : #endif
6358 : use pm_kind, only: SKC => SK4
6359 : character(*,SKC) , intent(in) , contiguous :: table(:)
6360 : character(*, SK) , intent(in) , optional :: header, sep
6361 : character(*, SK) , intent(in) , optional :: deliml, delimr
6362 : character(*, SK) , intent(inout) , optional :: iomsg
6363 : integer(IK) , intent(in) , optional :: roff
6364 : integer(IK) , intent(in) :: unit
6365 : integer(IK) :: err
6366 : end function
6367 : #endif
6368 :
6369 : #if SK3_ENABLED
6370 : module function getErrTableWriteUnit_NO_D1_SK3(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6371 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6372 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_SK3
6373 : #endif
6374 : use pm_kind, only: SKC => SK3
6375 : character(*,SKC) , intent(in) , contiguous :: table(:)
6376 : character(*, SK) , intent(in) , optional :: header, sep
6377 : character(*, SK) , intent(in) , optional :: deliml, delimr
6378 : character(*, SK) , intent(inout) , optional :: iomsg
6379 : integer(IK) , intent(in) , optional :: roff
6380 : integer(IK) , intent(in) :: unit
6381 : integer(IK) :: err
6382 : end function
6383 : #endif
6384 :
6385 : #if SK2_ENABLED
6386 : module function getErrTableWriteUnit_NO_D1_SK2(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6387 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6388 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_SK2
6389 : #endif
6390 : use pm_kind, only: SKC => SK2
6391 : character(*,SKC) , intent(in) , contiguous :: table(:)
6392 : character(*, SK) , intent(in) , optional :: header, sep
6393 : character(*, SK) , intent(in) , optional :: deliml, delimr
6394 : character(*, SK) , intent(inout) , optional :: iomsg
6395 : integer(IK) , intent(in) , optional :: roff
6396 : integer(IK) , intent(in) :: unit
6397 : integer(IK) :: err
6398 : end function
6399 : #endif
6400 :
6401 : #if SK1_ENABLED
6402 : module function getErrTableWriteUnit_NO_D1_SK1(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6403 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6404 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_SK1
6405 : #endif
6406 : use pm_kind, only: SKC => SK1
6407 : character(*,SKC) , intent(in) , contiguous :: table(:)
6408 : character(*, SK) , intent(in) , optional :: header, sep
6409 : character(*, SK) , intent(in) , optional :: deliml, delimr
6410 : character(*, SK) , intent(inout) , optional :: iomsg
6411 : integer(IK) , intent(in) , optional :: roff
6412 : integer(IK) , intent(in) :: unit
6413 : integer(IK) :: err
6414 : end function
6415 : #endif
6416 :
6417 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6418 :
6419 : #if IK5_ENABLED
6420 : module function getErrTableWriteUnit_NO_D1_IK5(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6421 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6422 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_IK5
6423 : #endif
6424 : use pm_kind, only: IKC => IK5
6425 : integer(IKC) , intent(in) , contiguous :: table(:)
6426 : character(*, SK) , intent(in) , optional :: header, sep
6427 : character(*, SK) , intent(in) , optional :: deliml, delimr
6428 : character(*, SK) , intent(inout) , optional :: iomsg
6429 : integer(IK) , intent(in) , optional :: roff
6430 : integer(IK) , intent(in) :: unit
6431 : integer(IK) :: err
6432 : end function
6433 : #endif
6434 :
6435 : #if IK4_ENABLED
6436 : module function getErrTableWriteUnit_NO_D1_IK4(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6437 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6438 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_IK4
6439 : #endif
6440 : use pm_kind, only: IKC => IK4
6441 : integer(IKC) , intent(in) , contiguous :: table(:)
6442 : character(*, SK) , intent(in) , optional :: header, sep
6443 : character(*, SK) , intent(in) , optional :: deliml, delimr
6444 : character(*, SK) , intent(inout) , optional :: iomsg
6445 : integer(IK) , intent(in) , optional :: roff
6446 : integer(IK) , intent(in) :: unit
6447 : integer(IK) :: err
6448 : end function
6449 : #endif
6450 :
6451 : #if IK3_ENABLED
6452 : module function getErrTableWriteUnit_NO_D1_IK3(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6453 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6454 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_IK3
6455 : #endif
6456 : use pm_kind, only: IKC => IK3
6457 : integer(IKC) , intent(in) , contiguous :: table(:)
6458 : character(*, SK) , intent(in) , optional :: header, sep
6459 : character(*, SK) , intent(in) , optional :: deliml, delimr
6460 : character(*, SK) , intent(inout) , optional :: iomsg
6461 : integer(IK) , intent(in) , optional :: roff
6462 : integer(IK) , intent(in) :: unit
6463 : integer(IK) :: err
6464 : end function
6465 : #endif
6466 :
6467 : #if IK2_ENABLED
6468 : module function getErrTableWriteUnit_NO_D1_IK2(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6469 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6470 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_IK2
6471 : #endif
6472 : use pm_kind, only: IKC => IK2
6473 : integer(IKC) , intent(in) , contiguous :: table(:)
6474 : character(*, SK) , intent(in) , optional :: header, sep
6475 : character(*, SK) , intent(in) , optional :: deliml, delimr
6476 : character(*, SK) , intent(inout) , optional :: iomsg
6477 : integer(IK) , intent(in) , optional :: roff
6478 : integer(IK) , intent(in) :: unit
6479 : integer(IK) :: err
6480 : end function
6481 : #endif
6482 :
6483 : #if IK1_ENABLED
6484 : module function getErrTableWriteUnit_NO_D1_IK1(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6485 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6486 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_IK1
6487 : #endif
6488 : use pm_kind, only: IKC => IK1
6489 : integer(IKC) , intent(in) , contiguous :: table(:)
6490 : character(*, SK) , intent(in) , optional :: header, sep
6491 : character(*, SK) , intent(in) , optional :: deliml, delimr
6492 : character(*, SK) , intent(inout) , optional :: iomsg
6493 : integer(IK) , intent(in) , optional :: roff
6494 : integer(IK) , intent(in) :: unit
6495 : integer(IK) :: err
6496 : end function
6497 : #endif
6498 :
6499 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6500 :
6501 : #if LK5_ENABLED
6502 : module function getErrTableWriteUnit_NO_D1_LK5(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6503 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6504 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_LK5
6505 : #endif
6506 : use pm_kind, only: LKC => LK5
6507 : logical(LKC) , intent(in) , contiguous :: table(:)
6508 : character(*, SK) , intent(in) , optional :: header, sep
6509 : character(*, SK) , intent(in) , optional :: deliml, delimr
6510 : character(*, SK) , intent(inout) , optional :: iomsg
6511 : integer(IK) , intent(in) , optional :: roff
6512 : integer(IK) , intent(in) :: unit
6513 : integer(IK) :: err
6514 : end function
6515 : #endif
6516 :
6517 : #if LK4_ENABLED
6518 : module function getErrTableWriteUnit_NO_D1_LK4(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6519 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6520 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_LK4
6521 : #endif
6522 : use pm_kind, only: LKC => LK4
6523 : logical(LKC) , intent(in) , contiguous :: table(:)
6524 : character(*, SK) , intent(in) , optional :: header, sep
6525 : character(*, SK) , intent(in) , optional :: deliml, delimr
6526 : character(*, SK) , intent(inout) , optional :: iomsg
6527 : integer(IK) , intent(in) , optional :: roff
6528 : integer(IK) , intent(in) :: unit
6529 : integer(IK) :: err
6530 : end function
6531 : #endif
6532 :
6533 : #if LK3_ENABLED
6534 : module function getErrTableWriteUnit_NO_D1_LK3(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6535 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6536 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_LK3
6537 : #endif
6538 : use pm_kind, only: LKC => LK3
6539 : logical(LKC) , intent(in) , contiguous :: table(:)
6540 : character(*, SK) , intent(in) , optional :: header, sep
6541 : character(*, SK) , intent(in) , optional :: deliml, delimr
6542 : character(*, SK) , intent(inout) , optional :: iomsg
6543 : integer(IK) , intent(in) , optional :: roff
6544 : integer(IK) , intent(in) :: unit
6545 : integer(IK) :: err
6546 : end function
6547 : #endif
6548 :
6549 : #if LK2_ENABLED
6550 : module function getErrTableWriteUnit_NO_D1_LK2(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6551 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6552 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_LK2
6553 : #endif
6554 : use pm_kind, only: LKC => LK2
6555 : logical(LKC) , intent(in) , contiguous :: table(:)
6556 : character(*, SK) , intent(in) , optional :: header, sep
6557 : character(*, SK) , intent(in) , optional :: deliml, delimr
6558 : character(*, SK) , intent(inout) , optional :: iomsg
6559 : integer(IK) , intent(in) , optional :: roff
6560 : integer(IK) , intent(in) :: unit
6561 : integer(IK) :: err
6562 : end function
6563 : #endif
6564 :
6565 : #if LK1_ENABLED
6566 : module function getErrTableWriteUnit_NO_D1_LK1(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6567 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6568 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_LK1
6569 : #endif
6570 : use pm_kind, only: LKC => LK1
6571 : logical(LKC) , intent(in) , contiguous :: table(:)
6572 : character(*, SK) , intent(in) , optional :: header, sep
6573 : character(*, SK) , intent(in) , optional :: deliml, delimr
6574 : character(*, SK) , intent(inout) , optional :: iomsg
6575 : integer(IK) , intent(in) , optional :: roff
6576 : integer(IK) , intent(in) :: unit
6577 : integer(IK) :: err
6578 : end function
6579 : #endif
6580 :
6581 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6582 :
6583 : #if CK5_ENABLED
6584 : module function getErrTableWriteUnit_NO_D1_CK5(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6585 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6586 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_CK5
6587 : #endif
6588 : use pm_kind, only: CKC => CK5
6589 : complex(CKC) , intent(in) , contiguous :: table(:)
6590 : character(*, SK) , intent(in) , optional :: header, sep
6591 : character(*, SK) , intent(in) , optional :: deliml, delimr
6592 : character(*, SK) , intent(inout) , optional :: iomsg
6593 : integer(IK) , intent(in) , optional :: roff
6594 : integer(IK) , intent(in) :: unit
6595 : integer(IK) :: err
6596 : end function
6597 : #endif
6598 :
6599 : #if CK4_ENABLED
6600 : module function getErrTableWriteUnit_NO_D1_CK4(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6601 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6602 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_CK4
6603 : #endif
6604 : use pm_kind, only: CKC => CK4
6605 : complex(CKC) , intent(in) , contiguous :: table(:)
6606 : character(*, SK) , intent(in) , optional :: header, sep
6607 : character(*, SK) , intent(in) , optional :: deliml, delimr
6608 : character(*, SK) , intent(inout) , optional :: iomsg
6609 : integer(IK) , intent(in) , optional :: roff
6610 : integer(IK) , intent(in) :: unit
6611 : integer(IK) :: err
6612 : end function
6613 : #endif
6614 :
6615 : #if CK3_ENABLED
6616 : module function getErrTableWriteUnit_NO_D1_CK3(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6617 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6618 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_CK3
6619 : #endif
6620 : use pm_kind, only: CKC => CK3
6621 : complex(CKC) , intent(in) , contiguous :: table(:)
6622 : character(*, SK) , intent(in) , optional :: header, sep
6623 : character(*, SK) , intent(in) , optional :: deliml, delimr
6624 : character(*, SK) , intent(inout) , optional :: iomsg
6625 : integer(IK) , intent(in) , optional :: roff
6626 : integer(IK) , intent(in) :: unit
6627 : integer(IK) :: err
6628 : end function
6629 : #endif
6630 :
6631 : #if CK2_ENABLED
6632 : module function getErrTableWriteUnit_NO_D1_CK2(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6633 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6634 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_CK2
6635 : #endif
6636 : use pm_kind, only: CKC => CK2
6637 : complex(CKC) , intent(in) , contiguous :: table(:)
6638 : character(*, SK) , intent(in) , optional :: header, sep
6639 : character(*, SK) , intent(in) , optional :: deliml, delimr
6640 : character(*, SK) , intent(inout) , optional :: iomsg
6641 : integer(IK) , intent(in) , optional :: roff
6642 : integer(IK) , intent(in) :: unit
6643 : integer(IK) :: err
6644 : end function
6645 : #endif
6646 :
6647 : #if CK1_ENABLED
6648 : module function getErrTableWriteUnit_NO_D1_CK1(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6649 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6650 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_CK1
6651 : #endif
6652 : use pm_kind, only: CKC => CK1
6653 : complex(CKC) , intent(in) , contiguous :: table(:)
6654 : character(*, SK) , intent(in) , optional :: header, sep
6655 : character(*, SK) , intent(in) , optional :: deliml, delimr
6656 : character(*, SK) , intent(inout) , optional :: iomsg
6657 : integer(IK) , intent(in) , optional :: roff
6658 : integer(IK) , intent(in) :: unit
6659 : integer(IK) :: err
6660 : end function
6661 : #endif
6662 :
6663 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6664 :
6665 : #if RK5_ENABLED
6666 : module function getErrTableWriteUnit_NO_D1_RK5(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6667 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6668 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_RK5
6669 : #endif
6670 : use pm_kind, only: RKC => RK5
6671 : real(RKC) , intent(in) , contiguous :: table(:)
6672 : character(*, SK) , intent(in) , optional :: header, sep
6673 : character(*, SK) , intent(in) , optional :: deliml, delimr
6674 : character(*, SK) , intent(inout) , optional :: iomsg
6675 : integer(IK) , intent(in) , optional :: roff
6676 : integer(IK) , intent(in) :: unit
6677 : integer(IK) :: err
6678 : end function
6679 : #endif
6680 :
6681 : #if RK4_ENABLED
6682 : module function getErrTableWriteUnit_NO_D1_RK4(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6683 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6684 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_RK4
6685 : #endif
6686 : use pm_kind, only: RKC => RK4
6687 : real(RKC) , intent(in) , contiguous :: table(:)
6688 : character(*, SK) , intent(in) , optional :: header, sep
6689 : character(*, SK) , intent(in) , optional :: deliml, delimr
6690 : character(*, SK) , intent(inout) , optional :: iomsg
6691 : integer(IK) , intent(in) , optional :: roff
6692 : integer(IK) , intent(in) :: unit
6693 : integer(IK) :: err
6694 : end function
6695 : #endif
6696 :
6697 : #if RK3_ENABLED
6698 : module function getErrTableWriteUnit_NO_D1_RK3(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6699 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6700 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_RK3
6701 : #endif
6702 : use pm_kind, only: RKC => RK3
6703 : real(RKC) , intent(in) , contiguous :: table(:)
6704 : character(*, SK) , intent(in) , optional :: header, sep
6705 : character(*, SK) , intent(in) , optional :: deliml, delimr
6706 : character(*, SK) , intent(inout) , optional :: iomsg
6707 : integer(IK) , intent(in) , optional :: roff
6708 : integer(IK) , intent(in) :: unit
6709 : integer(IK) :: err
6710 : end function
6711 : #endif
6712 :
6713 : #if RK2_ENABLED
6714 : module function getErrTableWriteUnit_NO_D1_RK2(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6715 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6716 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_RK2
6717 : #endif
6718 : use pm_kind, only: RKC => RK2
6719 : real(RKC) , intent(in) , contiguous :: table(:)
6720 : character(*, SK) , intent(in) , optional :: header, sep
6721 : character(*, SK) , intent(in) , optional :: deliml, delimr
6722 : character(*, SK) , intent(inout) , optional :: iomsg
6723 : integer(IK) , intent(in) , optional :: roff
6724 : integer(IK) , intent(in) :: unit
6725 : integer(IK) :: err
6726 : end function
6727 : #endif
6728 :
6729 : #if RK1_ENABLED
6730 : module function getErrTableWriteUnit_NO_D1_RK1(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6731 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6732 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D1_RK1
6733 : #endif
6734 : use pm_kind, only: RKC => RK1
6735 : real(RKC) , intent(in) , contiguous :: table(:)
6736 : character(*, SK) , intent(in) , optional :: header, sep
6737 : character(*, SK) , intent(in) , optional :: deliml, delimr
6738 : character(*, SK) , intent(inout) , optional :: iomsg
6739 : integer(IK) , intent(in) , optional :: roff
6740 : integer(IK) , intent(in) :: unit
6741 : integer(IK) :: err
6742 : end function
6743 : #endif
6744 :
6745 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6746 :
6747 : end interface
6748 :
6749 : ! D2 file NO
6750 :
6751 : interface getErrTableWrite
6752 :
6753 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6754 :
6755 : #if SK5_ENABLED
6756 : module function getErrTableWriteFile_NO_D2_SK5(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6757 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6758 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_SK5
6759 : #endif
6760 : use pm_kind, only: SKC => SK5
6761 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
6762 : character(*, SK) , intent(in) , optional :: file, header, sep
6763 : character(*, SK) , intent(in) , optional :: deliml, delimr
6764 : character(*, SK) , intent(inout) , optional :: iomsg
6765 : integer(IK) , intent(in) , optional :: roff
6766 : integer(IK) :: err
6767 : end function
6768 : #endif
6769 :
6770 : #if SK4_ENABLED
6771 : module function getErrTableWriteFile_NO_D2_SK4(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6772 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6773 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_SK4
6774 : #endif
6775 : use pm_kind, only: SKC => SK4
6776 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
6777 : character(*, SK) , intent(in) , optional :: file, header, sep
6778 : character(*, SK) , intent(in) , optional :: deliml, delimr
6779 : character(*, SK) , intent(inout) , optional :: iomsg
6780 : integer(IK) , intent(in) , optional :: roff
6781 : integer(IK) :: err
6782 : end function
6783 : #endif
6784 :
6785 : #if SK3_ENABLED
6786 : module function getErrTableWriteFile_NO_D2_SK3(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6787 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6788 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_SK3
6789 : #endif
6790 : use pm_kind, only: SKC => SK3
6791 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
6792 : character(*, SK) , intent(in) , optional :: file, header, sep
6793 : character(*, SK) , intent(in) , optional :: deliml, delimr
6794 : character(*, SK) , intent(inout) , optional :: iomsg
6795 : integer(IK) , intent(in) , optional :: roff
6796 : integer(IK) :: err
6797 : end function
6798 : #endif
6799 :
6800 : #if SK2_ENABLED
6801 : module function getErrTableWriteFile_NO_D2_SK2(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6802 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6803 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_SK2
6804 : #endif
6805 : use pm_kind, only: SKC => SK2
6806 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
6807 : character(*, SK) , intent(in) , optional :: file, header, sep
6808 : character(*, SK) , intent(in) , optional :: deliml, delimr
6809 : character(*, SK) , intent(inout) , optional :: iomsg
6810 : integer(IK) , intent(in) , optional :: roff
6811 : integer(IK) :: err
6812 : end function
6813 : #endif
6814 :
6815 : #if SK1_ENABLED
6816 : module function getErrTableWriteFile_NO_D2_SK1(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6817 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6818 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_SK1
6819 : #endif
6820 : use pm_kind, only: SKC => SK1
6821 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
6822 : character(*, SK) , intent(in) , optional :: file, header, sep
6823 : character(*, SK) , intent(in) , optional :: deliml, delimr
6824 : character(*, SK) , intent(inout) , optional :: iomsg
6825 : integer(IK) , intent(in) , optional :: roff
6826 : integer(IK) :: err
6827 : end function
6828 : #endif
6829 :
6830 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6831 :
6832 : #if IK5_ENABLED
6833 : module function getErrTableWriteFile_NO_D2_IK5(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6834 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6835 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_IK5
6836 : #endif
6837 : use pm_kind, only: IKC => IK5
6838 : integer(IKC) , intent(in) , contiguous :: table(:,:)
6839 : character(*, SK) , intent(in) , optional :: file, header, sep
6840 : character(*, SK) , intent(in) , optional :: deliml, delimr
6841 : character(*, SK) , intent(inout) , optional :: iomsg
6842 : integer(IK) , intent(in) , optional :: roff
6843 : integer(IK) :: err
6844 : end function
6845 : #endif
6846 :
6847 : #if IK4_ENABLED
6848 : module function getErrTableWriteFile_NO_D2_IK4(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6849 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6850 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_IK4
6851 : #endif
6852 : use pm_kind, only: IKC => IK4
6853 : integer(IKC) , intent(in) , contiguous :: table(:,:)
6854 : character(*, SK) , intent(in) , optional :: file, header, sep
6855 : character(*, SK) , intent(in) , optional :: deliml, delimr
6856 : character(*, SK) , intent(inout) , optional :: iomsg
6857 : integer(IK) , intent(in) , optional :: roff
6858 : integer(IK) :: err
6859 : end function
6860 : #endif
6861 :
6862 : #if IK3_ENABLED
6863 : module function getErrTableWriteFile_NO_D2_IK3(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6864 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6865 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_IK3
6866 : #endif
6867 : use pm_kind, only: IKC => IK3
6868 : integer(IKC) , intent(in) , contiguous :: table(:,:)
6869 : character(*, SK) , intent(in) , optional :: file, header, sep
6870 : character(*, SK) , intent(in) , optional :: deliml, delimr
6871 : character(*, SK) , intent(inout) , optional :: iomsg
6872 : integer(IK) , intent(in) , optional :: roff
6873 : integer(IK) :: err
6874 : end function
6875 : #endif
6876 :
6877 : #if IK2_ENABLED
6878 : module function getErrTableWriteFile_NO_D2_IK2(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6879 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6880 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_IK2
6881 : #endif
6882 : use pm_kind, only: IKC => IK2
6883 : integer(IKC) , intent(in) , contiguous :: table(:,:)
6884 : character(*, SK) , intent(in) , optional :: file, header, sep
6885 : character(*, SK) , intent(in) , optional :: deliml, delimr
6886 : character(*, SK) , intent(inout) , optional :: iomsg
6887 : integer(IK) , intent(in) , optional :: roff
6888 : integer(IK) :: err
6889 : end function
6890 : #endif
6891 :
6892 : #if IK1_ENABLED
6893 : module function getErrTableWriteFile_NO_D2_IK1(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6894 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6895 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_IK1
6896 : #endif
6897 : use pm_kind, only: IKC => IK1
6898 : integer(IKC) , intent(in) , contiguous :: table(:,:)
6899 : character(*, SK) , intent(in) , optional :: file, header, sep
6900 : character(*, SK) , intent(in) , optional :: deliml, delimr
6901 : character(*, SK) , intent(inout) , optional :: iomsg
6902 : integer(IK) , intent(in) , optional :: roff
6903 : integer(IK) :: err
6904 : end function
6905 : #endif
6906 :
6907 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6908 :
6909 : #if LK5_ENABLED
6910 : module function getErrTableWriteFile_NO_D2_LK5(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6911 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6912 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_LK5
6913 : #endif
6914 : use pm_kind, only: LKC => LK5
6915 : logical(LKC) , intent(in) , contiguous :: table(:,:)
6916 : character(*, SK) , intent(in) , optional :: file, header, sep
6917 : character(*, SK) , intent(in) , optional :: deliml, delimr
6918 : character(*, SK) , intent(inout) , optional :: iomsg
6919 : integer(IK) , intent(in) , optional :: roff
6920 : integer(IK) :: err
6921 : end function
6922 : #endif
6923 :
6924 : #if LK4_ENABLED
6925 : module function getErrTableWriteFile_NO_D2_LK4(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6926 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6927 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_LK4
6928 : #endif
6929 : use pm_kind, only: LKC => LK4
6930 : logical(LKC) , intent(in) , contiguous :: table(:,:)
6931 : character(*, SK) , intent(in) , optional :: file, header, sep
6932 : character(*, SK) , intent(in) , optional :: deliml, delimr
6933 : character(*, SK) , intent(inout) , optional :: iomsg
6934 : integer(IK) , intent(in) , optional :: roff
6935 : integer(IK) :: err
6936 : end function
6937 : #endif
6938 :
6939 : #if LK3_ENABLED
6940 : module function getErrTableWriteFile_NO_D2_LK3(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6941 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6942 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_LK3
6943 : #endif
6944 : use pm_kind, only: LKC => LK3
6945 : logical(LKC) , intent(in) , contiguous :: table(:,:)
6946 : character(*, SK) , intent(in) , optional :: file, header, sep
6947 : character(*, SK) , intent(in) , optional :: deliml, delimr
6948 : character(*, SK) , intent(inout) , optional :: iomsg
6949 : integer(IK) , intent(in) , optional :: roff
6950 : integer(IK) :: err
6951 : end function
6952 : #endif
6953 :
6954 : #if LK2_ENABLED
6955 : module function getErrTableWriteFile_NO_D2_LK2(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6956 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6957 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_LK2
6958 : #endif
6959 : use pm_kind, only: LKC => LK2
6960 : logical(LKC) , intent(in) , contiguous :: table(:,:)
6961 : character(*, SK) , intent(in) , optional :: file, header, sep
6962 : character(*, SK) , intent(in) , optional :: deliml, delimr
6963 : character(*, SK) , intent(inout) , optional :: iomsg
6964 : integer(IK) , intent(in) , optional :: roff
6965 : integer(IK) :: err
6966 : end function
6967 : #endif
6968 :
6969 : #if LK1_ENABLED
6970 : module function getErrTableWriteFile_NO_D2_LK1(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6971 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6972 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_LK1
6973 : #endif
6974 : use pm_kind, only: LKC => LK1
6975 : logical(LKC) , intent(in) , contiguous :: table(:,:)
6976 : character(*, SK) , intent(in) , optional :: file, header, sep
6977 : character(*, SK) , intent(in) , optional :: deliml, delimr
6978 : character(*, SK) , intent(inout) , optional :: iomsg
6979 : integer(IK) , intent(in) , optional :: roff
6980 : integer(IK) :: err
6981 : end function
6982 : #endif
6983 :
6984 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6985 :
6986 : #if CK5_ENABLED
6987 : module function getErrTableWriteFile_NO_D2_CK5(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
6988 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
6989 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_CK5
6990 : #endif
6991 : use pm_kind, only: CKC => CK5
6992 : complex(CKC) , intent(in) , contiguous :: table(:,:)
6993 : character(*, SK) , intent(in) , optional :: file, header, sep
6994 : character(*, SK) , intent(in) , optional :: deliml, delimr
6995 : character(*, SK) , intent(inout) , optional :: iomsg
6996 : integer(IK) , intent(in) , optional :: roff
6997 : integer(IK) :: err
6998 : end function
6999 : #endif
7000 :
7001 : #if CK4_ENABLED
7002 : module function getErrTableWriteFile_NO_D2_CK4(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7003 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7004 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_CK4
7005 : #endif
7006 : use pm_kind, only: CKC => CK4
7007 : complex(CKC) , intent(in) , contiguous :: table(:,:)
7008 : character(*, SK) , intent(in) , optional :: file, header, sep
7009 : character(*, SK) , intent(in) , optional :: deliml, delimr
7010 : character(*, SK) , intent(inout) , optional :: iomsg
7011 : integer(IK) , intent(in) , optional :: roff
7012 : integer(IK) :: err
7013 : end function
7014 : #endif
7015 :
7016 : #if CK3_ENABLED
7017 : module function getErrTableWriteFile_NO_D2_CK3(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7018 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7019 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_CK3
7020 : #endif
7021 : use pm_kind, only: CKC => CK3
7022 : complex(CKC) , intent(in) , contiguous :: table(:,:)
7023 : character(*, SK) , intent(in) , optional :: file, header, sep
7024 : character(*, SK) , intent(in) , optional :: deliml, delimr
7025 : character(*, SK) , intent(inout) , optional :: iomsg
7026 : integer(IK) , intent(in) , optional :: roff
7027 : integer(IK) :: err
7028 : end function
7029 : #endif
7030 :
7031 : #if CK2_ENABLED
7032 : module function getErrTableWriteFile_NO_D2_CK2(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7033 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7034 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_CK2
7035 : #endif
7036 : use pm_kind, only: CKC => CK2
7037 : complex(CKC) , intent(in) , contiguous :: table(:,:)
7038 : character(*, SK) , intent(in) , optional :: file, header, sep
7039 : character(*, SK) , intent(in) , optional :: deliml, delimr
7040 : character(*, SK) , intent(inout) , optional :: iomsg
7041 : integer(IK) , intent(in) , optional :: roff
7042 : integer(IK) :: err
7043 : end function
7044 : #endif
7045 :
7046 : #if CK1_ENABLED
7047 : module function getErrTableWriteFile_NO_D2_CK1(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7048 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7049 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_CK1
7050 : #endif
7051 : use pm_kind, only: CKC => CK1
7052 : complex(CKC) , intent(in) , contiguous :: table(:,:)
7053 : character(*, SK) , intent(in) , optional :: file, header, sep
7054 : character(*, SK) , intent(in) , optional :: deliml, delimr
7055 : character(*, SK) , intent(inout) , optional :: iomsg
7056 : integer(IK) , intent(in) , optional :: roff
7057 : integer(IK) :: err
7058 : end function
7059 : #endif
7060 :
7061 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7062 :
7063 : #if RK5_ENABLED
7064 : module function getErrTableWriteFile_NO_D2_RK5(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7065 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7066 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_RK5
7067 : #endif
7068 : use pm_kind, only: RKC => RK5
7069 : real(RKC) , intent(in) , contiguous :: table(:,:)
7070 : character(*, SK) , intent(in) , optional :: file, header, sep
7071 : character(*, SK) , intent(in) , optional :: deliml, delimr
7072 : character(*, SK) , intent(inout) , optional :: iomsg
7073 : integer(IK) , intent(in) , optional :: roff
7074 : integer(IK) :: err
7075 : end function
7076 : #endif
7077 :
7078 : #if RK4_ENABLED
7079 : module function getErrTableWriteFile_NO_D2_RK4(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7080 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7081 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_RK4
7082 : #endif
7083 : use pm_kind, only: RKC => RK4
7084 : real(RKC) , intent(in) , contiguous :: table(:,:)
7085 : character(*, SK) , intent(in) , optional :: file, header, sep
7086 : character(*, SK) , intent(in) , optional :: deliml, delimr
7087 : character(*, SK) , intent(inout) , optional :: iomsg
7088 : integer(IK) , intent(in) , optional :: roff
7089 : integer(IK) :: err
7090 : end function
7091 : #endif
7092 :
7093 : #if RK3_ENABLED
7094 : module function getErrTableWriteFile_NO_D2_RK3(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7095 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7096 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_RK3
7097 : #endif
7098 : use pm_kind, only: RKC => RK3
7099 : real(RKC) , intent(in) , contiguous :: table(:,:)
7100 : character(*, SK) , intent(in) , optional :: file, header, sep
7101 : character(*, SK) , intent(in) , optional :: deliml, delimr
7102 : character(*, SK) , intent(inout) , optional :: iomsg
7103 : integer(IK) , intent(in) , optional :: roff
7104 : integer(IK) :: err
7105 : end function
7106 : #endif
7107 :
7108 : #if RK2_ENABLED
7109 : module function getErrTableWriteFile_NO_D2_RK2(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7110 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7111 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_RK2
7112 : #endif
7113 : use pm_kind, only: RKC => RK2
7114 : real(RKC) , intent(in) , contiguous :: table(:,:)
7115 : character(*, SK) , intent(in) , optional :: file, header, sep
7116 : character(*, SK) , intent(in) , optional :: deliml, delimr
7117 : character(*, SK) , intent(inout) , optional :: iomsg
7118 : integer(IK) , intent(in) , optional :: roff
7119 : integer(IK) :: err
7120 : end function
7121 : #endif
7122 :
7123 : #if RK1_ENABLED
7124 : module function getErrTableWriteFile_NO_D2_RK1(file, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7125 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7126 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_NO_D2_RK1
7127 : #endif
7128 : use pm_kind, only: RKC => RK1
7129 : real(RKC) , intent(in) , contiguous :: table(:,:)
7130 : character(*, SK) , intent(in) , optional :: file, header, sep
7131 : character(*, SK) , intent(in) , optional :: deliml, delimr
7132 : character(*, SK) , intent(inout) , optional :: iomsg
7133 : integer(IK) , intent(in) , optional :: roff
7134 : integer(IK) :: err
7135 : end function
7136 : #endif
7137 :
7138 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7139 :
7140 : end interface
7141 :
7142 : ! D2 unit NO
7143 :
7144 : interface getErrTableWrite
7145 :
7146 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7147 :
7148 : #if SK5_ENABLED
7149 : module function getErrTableWriteUnit_NO_D2_SK5(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7150 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7151 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_SK5
7152 : #endif
7153 : use pm_kind, only: SKC => SK5
7154 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
7155 : character(*, SK) , intent(in) , optional :: header, sep
7156 : character(*, SK) , intent(in) , optional :: deliml, delimr
7157 : character(*, SK) , intent(inout) , optional :: iomsg
7158 : integer(IK) , intent(in) , optional :: roff
7159 : integer(IK) , intent(in) :: unit
7160 : integer(IK) :: err
7161 : end function
7162 : #endif
7163 :
7164 : #if SK4_ENABLED
7165 : module function getErrTableWriteUnit_NO_D2_SK4(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7166 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7167 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_SK4
7168 : #endif
7169 : use pm_kind, only: SKC => SK4
7170 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
7171 : character(*, SK) , intent(in) , optional :: header, sep
7172 : character(*, SK) , intent(in) , optional :: deliml, delimr
7173 : character(*, SK) , intent(inout) , optional :: iomsg
7174 : integer(IK) , intent(in) , optional :: roff
7175 : integer(IK) , intent(in) :: unit
7176 : integer(IK) :: err
7177 : end function
7178 : #endif
7179 :
7180 : #if SK3_ENABLED
7181 : module function getErrTableWriteUnit_NO_D2_SK3(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7182 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7183 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_SK3
7184 : #endif
7185 : use pm_kind, only: SKC => SK3
7186 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
7187 : character(*, SK) , intent(in) , optional :: header, sep
7188 : character(*, SK) , intent(in) , optional :: deliml, delimr
7189 : character(*, SK) , intent(inout) , optional :: iomsg
7190 : integer(IK) , intent(in) , optional :: roff
7191 : integer(IK) , intent(in) :: unit
7192 : integer(IK) :: err
7193 : end function
7194 : #endif
7195 :
7196 : #if SK2_ENABLED
7197 : module function getErrTableWriteUnit_NO_D2_SK2(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7198 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7199 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_SK2
7200 : #endif
7201 : use pm_kind, only: SKC => SK2
7202 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
7203 : character(*, SK) , intent(in) , optional :: header, sep
7204 : character(*, SK) , intent(in) , optional :: deliml, delimr
7205 : character(*, SK) , intent(inout) , optional :: iomsg
7206 : integer(IK) , intent(in) , optional :: roff
7207 : integer(IK) , intent(in) :: unit
7208 : integer(IK) :: err
7209 : end function
7210 : #endif
7211 :
7212 : #if SK1_ENABLED
7213 : module function getErrTableWriteUnit_NO_D2_SK1(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7214 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7215 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_SK1
7216 : #endif
7217 : use pm_kind, only: SKC => SK1
7218 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
7219 : character(*, SK) , intent(in) , optional :: header, sep
7220 : character(*, SK) , intent(in) , optional :: deliml, delimr
7221 : character(*, SK) , intent(inout) , optional :: iomsg
7222 : integer(IK) , intent(in) , optional :: roff
7223 : integer(IK) , intent(in) :: unit
7224 : integer(IK) :: err
7225 : end function
7226 : #endif
7227 :
7228 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7229 :
7230 : #if IK5_ENABLED
7231 : module function getErrTableWriteUnit_NO_D2_IK5(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7232 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7233 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_IK5
7234 : #endif
7235 : use pm_kind, only: IKC => IK5
7236 : integer(IKC) , intent(in) , contiguous :: table(:,:)
7237 : character(*, SK) , intent(in) , optional :: header, sep
7238 : character(*, SK) , intent(in) , optional :: deliml, delimr
7239 : character(*, SK) , intent(inout) , optional :: iomsg
7240 : integer(IK) , intent(in) , optional :: roff
7241 : integer(IK) , intent(in) :: unit
7242 : integer(IK) :: err
7243 : end function
7244 : #endif
7245 :
7246 : #if IK4_ENABLED
7247 : module function getErrTableWriteUnit_NO_D2_IK4(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7248 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7249 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_IK4
7250 : #endif
7251 : use pm_kind, only: IKC => IK4
7252 : integer(IKC) , intent(in) , contiguous :: table(:,:)
7253 : character(*, SK) , intent(in) , optional :: header, sep
7254 : character(*, SK) , intent(in) , optional :: deliml, delimr
7255 : character(*, SK) , intent(inout) , optional :: iomsg
7256 : integer(IK) , intent(in) , optional :: roff
7257 : integer(IK) , intent(in) :: unit
7258 : integer(IK) :: err
7259 : end function
7260 : #endif
7261 :
7262 : #if IK3_ENABLED
7263 : module function getErrTableWriteUnit_NO_D2_IK3(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7264 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7265 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_IK3
7266 : #endif
7267 : use pm_kind, only: IKC => IK3
7268 : integer(IKC) , intent(in) , contiguous :: table(:,:)
7269 : character(*, SK) , intent(in) , optional :: header, sep
7270 : character(*, SK) , intent(in) , optional :: deliml, delimr
7271 : character(*, SK) , intent(inout) , optional :: iomsg
7272 : integer(IK) , intent(in) , optional :: roff
7273 : integer(IK) , intent(in) :: unit
7274 : integer(IK) :: err
7275 : end function
7276 : #endif
7277 :
7278 : #if IK2_ENABLED
7279 : module function getErrTableWriteUnit_NO_D2_IK2(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7280 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7281 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_IK2
7282 : #endif
7283 : use pm_kind, only: IKC => IK2
7284 : integer(IKC) , intent(in) , contiguous :: table(:,:)
7285 : character(*, SK) , intent(in) , optional :: header, sep
7286 : character(*, SK) , intent(in) , optional :: deliml, delimr
7287 : character(*, SK) , intent(inout) , optional :: iomsg
7288 : integer(IK) , intent(in) , optional :: roff
7289 : integer(IK) , intent(in) :: unit
7290 : integer(IK) :: err
7291 : end function
7292 : #endif
7293 :
7294 : #if IK1_ENABLED
7295 : module function getErrTableWriteUnit_NO_D2_IK1(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7296 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7297 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_IK1
7298 : #endif
7299 : use pm_kind, only: IKC => IK1
7300 : integer(IKC) , intent(in) , contiguous :: table(:,:)
7301 : character(*, SK) , intent(in) , optional :: header, sep
7302 : character(*, SK) , intent(in) , optional :: deliml, delimr
7303 : character(*, SK) , intent(inout) , optional :: iomsg
7304 : integer(IK) , intent(in) , optional :: roff
7305 : integer(IK) , intent(in) :: unit
7306 : integer(IK) :: err
7307 : end function
7308 : #endif
7309 :
7310 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7311 :
7312 : #if LK5_ENABLED
7313 : module function getErrTableWriteUnit_NO_D2_LK5(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7314 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7315 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_LK5
7316 : #endif
7317 : use pm_kind, only: LKC => LK5
7318 : logical(LKC) , intent(in) , contiguous :: table(:,:)
7319 : character(*, SK) , intent(in) , optional :: header, sep
7320 : character(*, SK) , intent(in) , optional :: deliml, delimr
7321 : character(*, SK) , intent(inout) , optional :: iomsg
7322 : integer(IK) , intent(in) , optional :: roff
7323 : integer(IK) , intent(in) :: unit
7324 : integer(IK) :: err
7325 : end function
7326 : #endif
7327 :
7328 : #if LK4_ENABLED
7329 : module function getErrTableWriteUnit_NO_D2_LK4(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7330 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7331 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_LK4
7332 : #endif
7333 : use pm_kind, only: LKC => LK4
7334 : logical(LKC) , intent(in) , contiguous :: table(:,:)
7335 : character(*, SK) , intent(in) , optional :: header, sep
7336 : character(*, SK) , intent(in) , optional :: deliml, delimr
7337 : character(*, SK) , intent(inout) , optional :: iomsg
7338 : integer(IK) , intent(in) , optional :: roff
7339 : integer(IK) , intent(in) :: unit
7340 : integer(IK) :: err
7341 : end function
7342 : #endif
7343 :
7344 : #if LK3_ENABLED
7345 : module function getErrTableWriteUnit_NO_D2_LK3(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7346 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7347 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_LK3
7348 : #endif
7349 : use pm_kind, only: LKC => LK3
7350 : logical(LKC) , intent(in) , contiguous :: table(:,:)
7351 : character(*, SK) , intent(in) , optional :: header, sep
7352 : character(*, SK) , intent(in) , optional :: deliml, delimr
7353 : character(*, SK) , intent(inout) , optional :: iomsg
7354 : integer(IK) , intent(in) , optional :: roff
7355 : integer(IK) , intent(in) :: unit
7356 : integer(IK) :: err
7357 : end function
7358 : #endif
7359 :
7360 : #if LK2_ENABLED
7361 : module function getErrTableWriteUnit_NO_D2_LK2(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7362 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7363 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_LK2
7364 : #endif
7365 : use pm_kind, only: LKC => LK2
7366 : logical(LKC) , intent(in) , contiguous :: table(:,:)
7367 : character(*, SK) , intent(in) , optional :: header, sep
7368 : character(*, SK) , intent(in) , optional :: deliml, delimr
7369 : character(*, SK) , intent(inout) , optional :: iomsg
7370 : integer(IK) , intent(in) , optional :: roff
7371 : integer(IK) , intent(in) :: unit
7372 : integer(IK) :: err
7373 : end function
7374 : #endif
7375 :
7376 : #if LK1_ENABLED
7377 : module function getErrTableWriteUnit_NO_D2_LK1(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7378 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7379 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_LK1
7380 : #endif
7381 : use pm_kind, only: LKC => LK1
7382 : logical(LKC) , intent(in) , contiguous :: table(:,:)
7383 : character(*, SK) , intent(in) , optional :: header, sep
7384 : character(*, SK) , intent(in) , optional :: deliml, delimr
7385 : character(*, SK) , intent(inout) , optional :: iomsg
7386 : integer(IK) , intent(in) , optional :: roff
7387 : integer(IK) , intent(in) :: unit
7388 : integer(IK) :: err
7389 : end function
7390 : #endif
7391 :
7392 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7393 :
7394 : #if CK5_ENABLED
7395 : module function getErrTableWriteUnit_NO_D2_CK5(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7396 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7397 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_CK5
7398 : #endif
7399 : use pm_kind, only: CKC => CK5
7400 : complex(CKC) , intent(in) , contiguous :: table(:,:)
7401 : character(*, SK) , intent(in) , optional :: header, sep
7402 : character(*, SK) , intent(in) , optional :: deliml, delimr
7403 : character(*, SK) , intent(inout) , optional :: iomsg
7404 : integer(IK) , intent(in) , optional :: roff
7405 : integer(IK) , intent(in) :: unit
7406 : integer(IK) :: err
7407 : end function
7408 : #endif
7409 :
7410 : #if CK4_ENABLED
7411 : module function getErrTableWriteUnit_NO_D2_CK4(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7412 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7413 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_CK4
7414 : #endif
7415 : use pm_kind, only: CKC => CK4
7416 : complex(CKC) , intent(in) , contiguous :: table(:,:)
7417 : character(*, SK) , intent(in) , optional :: header, sep
7418 : character(*, SK) , intent(in) , optional :: deliml, delimr
7419 : character(*, SK) , intent(inout) , optional :: iomsg
7420 : integer(IK) , intent(in) , optional :: roff
7421 : integer(IK) , intent(in) :: unit
7422 : integer(IK) :: err
7423 : end function
7424 : #endif
7425 :
7426 : #if CK3_ENABLED
7427 : module function getErrTableWriteUnit_NO_D2_CK3(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7428 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7429 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_CK3
7430 : #endif
7431 : use pm_kind, only: CKC => CK3
7432 : complex(CKC) , intent(in) , contiguous :: table(:,:)
7433 : character(*, SK) , intent(in) , optional :: header, sep
7434 : character(*, SK) , intent(in) , optional :: deliml, delimr
7435 : character(*, SK) , intent(inout) , optional :: iomsg
7436 : integer(IK) , intent(in) , optional :: roff
7437 : integer(IK) , intent(in) :: unit
7438 : integer(IK) :: err
7439 : end function
7440 : #endif
7441 :
7442 : #if CK2_ENABLED
7443 : module function getErrTableWriteUnit_NO_D2_CK2(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7444 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7445 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_CK2
7446 : #endif
7447 : use pm_kind, only: CKC => CK2
7448 : complex(CKC) , intent(in) , contiguous :: table(:,:)
7449 : character(*, SK) , intent(in) , optional :: header, sep
7450 : character(*, SK) , intent(in) , optional :: deliml, delimr
7451 : character(*, SK) , intent(inout) , optional :: iomsg
7452 : integer(IK) , intent(in) , optional :: roff
7453 : integer(IK) , intent(in) :: unit
7454 : integer(IK) :: err
7455 : end function
7456 : #endif
7457 :
7458 : #if CK1_ENABLED
7459 : module function getErrTableWriteUnit_NO_D2_CK1(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7460 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7461 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_CK1
7462 : #endif
7463 : use pm_kind, only: CKC => CK1
7464 : complex(CKC) , intent(in) , contiguous :: table(:,:)
7465 : character(*, SK) , intent(in) , optional :: header, sep
7466 : character(*, SK) , intent(in) , optional :: deliml, delimr
7467 : character(*, SK) , intent(inout) , optional :: iomsg
7468 : integer(IK) , intent(in) , optional :: roff
7469 : integer(IK) , intent(in) :: unit
7470 : integer(IK) :: err
7471 : end function
7472 : #endif
7473 :
7474 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7475 :
7476 : #if RK5_ENABLED
7477 : module function getErrTableWriteUnit_NO_D2_RK5(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7478 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7479 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_RK5
7480 : #endif
7481 : use pm_kind, only: RKC => RK5
7482 : real(RKC) , intent(in) , contiguous :: table(:,:)
7483 : character(*, SK) , intent(in) , optional :: header, sep
7484 : character(*, SK) , intent(in) , optional :: deliml, delimr
7485 : character(*, SK) , intent(inout) , optional :: iomsg
7486 : integer(IK) , intent(in) , optional :: roff
7487 : integer(IK) , intent(in) :: unit
7488 : integer(IK) :: err
7489 : end function
7490 : #endif
7491 :
7492 : #if RK4_ENABLED
7493 : module function getErrTableWriteUnit_NO_D2_RK4(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7494 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7495 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_RK4
7496 : #endif
7497 : use pm_kind, only: RKC => RK4
7498 : real(RKC) , intent(in) , contiguous :: table(:,:)
7499 : character(*, SK) , intent(in) , optional :: header, sep
7500 : character(*, SK) , intent(in) , optional :: deliml, delimr
7501 : character(*, SK) , intent(inout) , optional :: iomsg
7502 : integer(IK) , intent(in) , optional :: roff
7503 : integer(IK) , intent(in) :: unit
7504 : integer(IK) :: err
7505 : end function
7506 : #endif
7507 :
7508 : #if RK3_ENABLED
7509 : module function getErrTableWriteUnit_NO_D2_RK3(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7510 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7511 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_RK3
7512 : #endif
7513 : use pm_kind, only: RKC => RK3
7514 : real(RKC) , intent(in) , contiguous :: table(:,:)
7515 : character(*, SK) , intent(in) , optional :: header, sep
7516 : character(*, SK) , intent(in) , optional :: deliml, delimr
7517 : character(*, SK) , intent(inout) , optional :: iomsg
7518 : integer(IK) , intent(in) , optional :: roff
7519 : integer(IK) , intent(in) :: unit
7520 : integer(IK) :: err
7521 : end function
7522 : #endif
7523 :
7524 : #if RK2_ENABLED
7525 : module function getErrTableWriteUnit_NO_D2_RK2(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7526 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7527 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_RK2
7528 : #endif
7529 : use pm_kind, only: RKC => RK2
7530 : real(RKC) , intent(in) , contiguous :: table(:,:)
7531 : character(*, SK) , intent(in) , optional :: header, sep
7532 : character(*, SK) , intent(in) , optional :: deliml, delimr
7533 : character(*, SK) , intent(inout) , optional :: iomsg
7534 : integer(IK) , intent(in) , optional :: roff
7535 : integer(IK) , intent(in) :: unit
7536 : integer(IK) :: err
7537 : end function
7538 : #endif
7539 :
7540 : #if RK1_ENABLED
7541 : module function getErrTableWriteUnit_NO_D2_RK1(unit, table, header, sep, deliml, delimr, roff, iomsg) result(err)
7542 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7543 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_NO_D2_RK1
7544 : #endif
7545 : use pm_kind, only: RKC => RK1
7546 : real(RKC) , intent(in) , contiguous :: table(:,:)
7547 : character(*, SK) , intent(in) , optional :: header, sep
7548 : character(*, SK) , intent(in) , optional :: deliml, delimr
7549 : character(*, SK) , intent(inout) , optional :: iomsg
7550 : integer(IK) , intent(in) , optional :: roff
7551 : integer(IK) , intent(in) :: unit
7552 : integer(IK) :: err
7553 : end function
7554 : #endif
7555 :
7556 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7557 :
7558 : end interface
7559 :
7560 : ! D1 file TO
7561 :
7562 : interface getErrTableWrite
7563 :
7564 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7565 :
7566 : #if SK5_ENABLED
7567 : module function getErrTableWriteFile_TO_D1_SK5(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7568 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7569 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_SK5
7570 : #endif
7571 : use pm_kind, only: SKC => SK5
7572 : character(*,SKC) , intent(in) , contiguous :: table(:)
7573 : character(*, SK) , intent(in) , optional :: file, header, sep
7574 : character(*, SK) , intent(in) , optional :: deliml, delimr
7575 : character(*, SK) , intent(inout) , optional :: iomsg
7576 : type(trans_type) , intent(in) :: operation
7577 : integer(IK) , intent(in) , optional :: roff
7578 : integer(IK) :: err
7579 : end function
7580 : #endif
7581 :
7582 : #if SK4_ENABLED
7583 : module function getErrTableWriteFile_TO_D1_SK4(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7584 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7585 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_SK4
7586 : #endif
7587 : use pm_kind, only: SKC => SK4
7588 : character(*,SKC) , intent(in) , contiguous :: table(:)
7589 : character(*, SK) , intent(in) , optional :: file, header, sep
7590 : character(*, SK) , intent(in) , optional :: deliml, delimr
7591 : character(*, SK) , intent(inout) , optional :: iomsg
7592 : type(trans_type) , intent(in) :: operation
7593 : integer(IK) , intent(in) , optional :: roff
7594 : integer(IK) :: err
7595 : end function
7596 : #endif
7597 :
7598 : #if SK3_ENABLED
7599 : module function getErrTableWriteFile_TO_D1_SK3(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7600 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7601 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_SK3
7602 : #endif
7603 : use pm_kind, only: SKC => SK3
7604 : character(*,SKC) , intent(in) , contiguous :: table(:)
7605 : character(*, SK) , intent(in) , optional :: file, header, sep
7606 : character(*, SK) , intent(in) , optional :: deliml, delimr
7607 : character(*, SK) , intent(inout) , optional :: iomsg
7608 : type(trans_type) , intent(in) :: operation
7609 : integer(IK) , intent(in) , optional :: roff
7610 : integer(IK) :: err
7611 : end function
7612 : #endif
7613 :
7614 : #if SK2_ENABLED
7615 : module function getErrTableWriteFile_TO_D1_SK2(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7616 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7617 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_SK2
7618 : #endif
7619 : use pm_kind, only: SKC => SK2
7620 : character(*,SKC) , intent(in) , contiguous :: table(:)
7621 : character(*, SK) , intent(in) , optional :: file, header, sep
7622 : character(*, SK) , intent(in) , optional :: deliml, delimr
7623 : character(*, SK) , intent(inout) , optional :: iomsg
7624 : type(trans_type) , intent(in) :: operation
7625 : integer(IK) , intent(in) , optional :: roff
7626 : integer(IK) :: err
7627 : end function
7628 : #endif
7629 :
7630 : #if SK1_ENABLED
7631 : module function getErrTableWriteFile_TO_D1_SK1(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7632 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7633 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_SK1
7634 : #endif
7635 : use pm_kind, only: SKC => SK1
7636 : character(*,SKC) , intent(in) , contiguous :: table(:)
7637 : character(*, SK) , intent(in) , optional :: file, header, sep
7638 : character(*, SK) , intent(in) , optional :: deliml, delimr
7639 : character(*, SK) , intent(inout) , optional :: iomsg
7640 : type(trans_type) , intent(in) :: operation
7641 : integer(IK) , intent(in) , optional :: roff
7642 : integer(IK) :: err
7643 : end function
7644 : #endif
7645 :
7646 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7647 :
7648 : #if IK5_ENABLED
7649 : module function getErrTableWriteFile_TO_D1_IK5(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7650 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7651 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_IK5
7652 : #endif
7653 : use pm_kind, only: IKC => IK5
7654 : integer(IKC) , intent(in) , contiguous :: table(:)
7655 : character(*, SK) , intent(in) , optional :: file, header, sep
7656 : character(*, SK) , intent(in) , optional :: deliml, delimr
7657 : character(*, SK) , intent(inout) , optional :: iomsg
7658 : type(trans_type) , intent(in) :: operation
7659 : integer(IK) , intent(in) , optional :: roff
7660 : integer(IK) :: err
7661 : end function
7662 : #endif
7663 :
7664 : #if IK4_ENABLED
7665 : module function getErrTableWriteFile_TO_D1_IK4(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7666 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7667 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_IK4
7668 : #endif
7669 : use pm_kind, only: IKC => IK4
7670 : integer(IKC) , intent(in) , contiguous :: table(:)
7671 : character(*, SK) , intent(in) , optional :: file, header, sep
7672 : character(*, SK) , intent(in) , optional :: deliml, delimr
7673 : character(*, SK) , intent(inout) , optional :: iomsg
7674 : type(trans_type) , intent(in) :: operation
7675 : integer(IK) , intent(in) , optional :: roff
7676 : integer(IK) :: err
7677 : end function
7678 : #endif
7679 :
7680 : #if IK3_ENABLED
7681 : module function getErrTableWriteFile_TO_D1_IK3(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7682 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7683 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_IK3
7684 : #endif
7685 : use pm_kind, only: IKC => IK3
7686 : integer(IKC) , intent(in) , contiguous :: table(:)
7687 : character(*, SK) , intent(in) , optional :: file, header, sep
7688 : character(*, SK) , intent(in) , optional :: deliml, delimr
7689 : character(*, SK) , intent(inout) , optional :: iomsg
7690 : type(trans_type) , intent(in) :: operation
7691 : integer(IK) , intent(in) , optional :: roff
7692 : integer(IK) :: err
7693 : end function
7694 : #endif
7695 :
7696 : #if IK2_ENABLED
7697 : module function getErrTableWriteFile_TO_D1_IK2(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7698 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7699 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_IK2
7700 : #endif
7701 : use pm_kind, only: IKC => IK2
7702 : integer(IKC) , intent(in) , contiguous :: table(:)
7703 : character(*, SK) , intent(in) , optional :: file, header, sep
7704 : character(*, SK) , intent(in) , optional :: deliml, delimr
7705 : character(*, SK) , intent(inout) , optional :: iomsg
7706 : type(trans_type) , intent(in) :: operation
7707 : integer(IK) , intent(in) , optional :: roff
7708 : integer(IK) :: err
7709 : end function
7710 : #endif
7711 :
7712 : #if IK1_ENABLED
7713 : module function getErrTableWriteFile_TO_D1_IK1(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7714 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7715 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_IK1
7716 : #endif
7717 : use pm_kind, only: IKC => IK1
7718 : integer(IKC) , intent(in) , contiguous :: table(:)
7719 : character(*, SK) , intent(in) , optional :: file, header, sep
7720 : character(*, SK) , intent(in) , optional :: deliml, delimr
7721 : character(*, SK) , intent(inout) , optional :: iomsg
7722 : type(trans_type) , intent(in) :: operation
7723 : integer(IK) , intent(in) , optional :: roff
7724 : integer(IK) :: err
7725 : end function
7726 : #endif
7727 :
7728 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7729 :
7730 : #if LK5_ENABLED
7731 : module function getErrTableWriteFile_TO_D1_LK5(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7732 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7733 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_LK5
7734 : #endif
7735 : use pm_kind, only: LKC => LK5
7736 : logical(LKC) , intent(in) , contiguous :: table(:)
7737 : character(*, SK) , intent(in) , optional :: file, header, sep
7738 : character(*, SK) , intent(in) , optional :: deliml, delimr
7739 : character(*, SK) , intent(inout) , optional :: iomsg
7740 : type(trans_type) , intent(in) :: operation
7741 : integer(IK) , intent(in) , optional :: roff
7742 : integer(IK) :: err
7743 : end function
7744 : #endif
7745 :
7746 : #if LK4_ENABLED
7747 : module function getErrTableWriteFile_TO_D1_LK4(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7748 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7749 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_LK4
7750 : #endif
7751 : use pm_kind, only: LKC => LK4
7752 : logical(LKC) , intent(in) , contiguous :: table(:)
7753 : character(*, SK) , intent(in) , optional :: file, header, sep
7754 : character(*, SK) , intent(in) , optional :: deliml, delimr
7755 : character(*, SK) , intent(inout) , optional :: iomsg
7756 : type(trans_type) , intent(in) :: operation
7757 : integer(IK) , intent(in) , optional :: roff
7758 : integer(IK) :: err
7759 : end function
7760 : #endif
7761 :
7762 : #if LK3_ENABLED
7763 : module function getErrTableWriteFile_TO_D1_LK3(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7764 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7765 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_LK3
7766 : #endif
7767 : use pm_kind, only: LKC => LK3
7768 : logical(LKC) , intent(in) , contiguous :: table(:)
7769 : character(*, SK) , intent(in) , optional :: file, header, sep
7770 : character(*, SK) , intent(in) , optional :: deliml, delimr
7771 : character(*, SK) , intent(inout) , optional :: iomsg
7772 : type(trans_type) , intent(in) :: operation
7773 : integer(IK) , intent(in) , optional :: roff
7774 : integer(IK) :: err
7775 : end function
7776 : #endif
7777 :
7778 : #if LK2_ENABLED
7779 : module function getErrTableWriteFile_TO_D1_LK2(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7780 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7781 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_LK2
7782 : #endif
7783 : use pm_kind, only: LKC => LK2
7784 : logical(LKC) , intent(in) , contiguous :: table(:)
7785 : character(*, SK) , intent(in) , optional :: file, header, sep
7786 : character(*, SK) , intent(in) , optional :: deliml, delimr
7787 : character(*, SK) , intent(inout) , optional :: iomsg
7788 : type(trans_type) , intent(in) :: operation
7789 : integer(IK) , intent(in) , optional :: roff
7790 : integer(IK) :: err
7791 : end function
7792 : #endif
7793 :
7794 : #if LK1_ENABLED
7795 : module function getErrTableWriteFile_TO_D1_LK1(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7796 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7797 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_LK1
7798 : #endif
7799 : use pm_kind, only: LKC => LK1
7800 : logical(LKC) , intent(in) , contiguous :: table(:)
7801 : character(*, SK) , intent(in) , optional :: file, header, sep
7802 : character(*, SK) , intent(in) , optional :: deliml, delimr
7803 : character(*, SK) , intent(inout) , optional :: iomsg
7804 : type(trans_type) , intent(in) :: operation
7805 : integer(IK) , intent(in) , optional :: roff
7806 : integer(IK) :: err
7807 : end function
7808 : #endif
7809 :
7810 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7811 :
7812 : #if CK5_ENABLED
7813 : module function getErrTableWriteFile_TO_D1_CK5(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7814 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7815 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_CK5
7816 : #endif
7817 : use pm_kind, only: CKC => CK5
7818 : complex(CKC) , intent(in) , contiguous :: table(:)
7819 : character(*, SK) , intent(in) , optional :: file, header, sep
7820 : character(*, SK) , intent(in) , optional :: deliml, delimr
7821 : character(*, SK) , intent(inout) , optional :: iomsg
7822 : type(trans_type) , intent(in) :: operation
7823 : integer(IK) , intent(in) , optional :: roff
7824 : integer(IK) :: err
7825 : end function
7826 : #endif
7827 :
7828 : #if CK4_ENABLED
7829 : module function getErrTableWriteFile_TO_D1_CK4(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7830 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7831 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_CK4
7832 : #endif
7833 : use pm_kind, only: CKC => CK4
7834 : complex(CKC) , intent(in) , contiguous :: table(:)
7835 : character(*, SK) , intent(in) , optional :: file, header, sep
7836 : character(*, SK) , intent(in) , optional :: deliml, delimr
7837 : character(*, SK) , intent(inout) , optional :: iomsg
7838 : type(trans_type) , intent(in) :: operation
7839 : integer(IK) , intent(in) , optional :: roff
7840 : integer(IK) :: err
7841 : end function
7842 : #endif
7843 :
7844 : #if CK3_ENABLED
7845 : module function getErrTableWriteFile_TO_D1_CK3(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7846 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7847 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_CK3
7848 : #endif
7849 : use pm_kind, only: CKC => CK3
7850 : complex(CKC) , intent(in) , contiguous :: table(:)
7851 : character(*, SK) , intent(in) , optional :: file, header, sep
7852 : character(*, SK) , intent(in) , optional :: deliml, delimr
7853 : character(*, SK) , intent(inout) , optional :: iomsg
7854 : type(trans_type) , intent(in) :: operation
7855 : integer(IK) , intent(in) , optional :: roff
7856 : integer(IK) :: err
7857 : end function
7858 : #endif
7859 :
7860 : #if CK2_ENABLED
7861 : module function getErrTableWriteFile_TO_D1_CK2(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7862 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7863 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_CK2
7864 : #endif
7865 : use pm_kind, only: CKC => CK2
7866 : complex(CKC) , intent(in) , contiguous :: table(:)
7867 : character(*, SK) , intent(in) , optional :: file, header, sep
7868 : character(*, SK) , intent(in) , optional :: deliml, delimr
7869 : character(*, SK) , intent(inout) , optional :: iomsg
7870 : type(trans_type) , intent(in) :: operation
7871 : integer(IK) , intent(in) , optional :: roff
7872 : integer(IK) :: err
7873 : end function
7874 : #endif
7875 :
7876 : #if CK1_ENABLED
7877 : module function getErrTableWriteFile_TO_D1_CK1(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7878 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7879 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_CK1
7880 : #endif
7881 : use pm_kind, only: CKC => CK1
7882 : complex(CKC) , intent(in) , contiguous :: table(:)
7883 : character(*, SK) , intent(in) , optional :: file, header, sep
7884 : character(*, SK) , intent(in) , optional :: deliml, delimr
7885 : character(*, SK) , intent(inout) , optional :: iomsg
7886 : type(trans_type) , intent(in) :: operation
7887 : integer(IK) , intent(in) , optional :: roff
7888 : integer(IK) :: err
7889 : end function
7890 : #endif
7891 :
7892 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7893 :
7894 : #if RK5_ENABLED
7895 : module function getErrTableWriteFile_TO_D1_RK5(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7896 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7897 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_RK5
7898 : #endif
7899 : use pm_kind, only: RKC => RK5
7900 : real(RKC) , intent(in) , contiguous :: table(:)
7901 : character(*, SK) , intent(in) , optional :: file, header, sep
7902 : character(*, SK) , intent(in) , optional :: deliml, delimr
7903 : character(*, SK) , intent(inout) , optional :: iomsg
7904 : type(trans_type) , intent(in) :: operation
7905 : integer(IK) , intent(in) , optional :: roff
7906 : integer(IK) :: err
7907 : end function
7908 : #endif
7909 :
7910 : #if RK4_ENABLED
7911 : module function getErrTableWriteFile_TO_D1_RK4(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7912 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7913 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_RK4
7914 : #endif
7915 : use pm_kind, only: RKC => RK4
7916 : real(RKC) , intent(in) , contiguous :: table(:)
7917 : character(*, SK) , intent(in) , optional :: file, header, sep
7918 : character(*, SK) , intent(in) , optional :: deliml, delimr
7919 : character(*, SK) , intent(inout) , optional :: iomsg
7920 : type(trans_type) , intent(in) :: operation
7921 : integer(IK) , intent(in) , optional :: roff
7922 : integer(IK) :: err
7923 : end function
7924 : #endif
7925 :
7926 : #if RK3_ENABLED
7927 : module function getErrTableWriteFile_TO_D1_RK3(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7928 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7929 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_RK3
7930 : #endif
7931 : use pm_kind, only: RKC => RK3
7932 : real(RKC) , intent(in) , contiguous :: table(:)
7933 : character(*, SK) , intent(in) , optional :: file, header, sep
7934 : character(*, SK) , intent(in) , optional :: deliml, delimr
7935 : character(*, SK) , intent(inout) , optional :: iomsg
7936 : type(trans_type) , intent(in) :: operation
7937 : integer(IK) , intent(in) , optional :: roff
7938 : integer(IK) :: err
7939 : end function
7940 : #endif
7941 :
7942 : #if RK2_ENABLED
7943 : module function getErrTableWriteFile_TO_D1_RK2(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7944 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7945 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_RK2
7946 : #endif
7947 : use pm_kind, only: RKC => RK2
7948 : real(RKC) , intent(in) , contiguous :: table(:)
7949 : character(*, SK) , intent(in) , optional :: file, header, sep
7950 : character(*, SK) , intent(in) , optional :: deliml, delimr
7951 : character(*, SK) , intent(inout) , optional :: iomsg
7952 : type(trans_type) , intent(in) :: operation
7953 : integer(IK) , intent(in) , optional :: roff
7954 : integer(IK) :: err
7955 : end function
7956 : #endif
7957 :
7958 : #if RK1_ENABLED
7959 : module function getErrTableWriteFile_TO_D1_RK1(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7960 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7961 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D1_RK1
7962 : #endif
7963 : use pm_kind, only: RKC => RK1
7964 : real(RKC) , intent(in) , contiguous :: table(:)
7965 : character(*, SK) , intent(in) , optional :: file, header, sep
7966 : character(*, SK) , intent(in) , optional :: deliml, delimr
7967 : character(*, SK) , intent(inout) , optional :: iomsg
7968 : type(trans_type) , intent(in) :: operation
7969 : integer(IK) , intent(in) , optional :: roff
7970 : integer(IK) :: err
7971 : end function
7972 : #endif
7973 :
7974 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7975 :
7976 : end interface
7977 :
7978 : ! D1 unit TO
7979 :
7980 : interface getErrTableWrite
7981 :
7982 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7983 :
7984 : #if SK5_ENABLED
7985 : module function getErrTableWriteUnit_TO_D1_SK5(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
7986 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
7987 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_SK5
7988 : #endif
7989 : use pm_kind, only: SKC => SK5
7990 : character(*,SKC) , intent(in) , contiguous :: table(:)
7991 : character(*, SK) , intent(in) , optional :: header, sep
7992 : character(*, SK) , intent(in) , optional :: deliml, delimr
7993 : character(*, SK) , intent(inout) , optional :: iomsg
7994 : type(trans_type) , intent(in) :: operation
7995 : integer(IK) , intent(in) , optional :: roff
7996 : integer(IK) , intent(in) :: unit
7997 : integer(IK) :: err
7998 : end function
7999 : #endif
8000 :
8001 : #if SK4_ENABLED
8002 : module function getErrTableWriteUnit_TO_D1_SK4(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8003 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8004 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_SK4
8005 : #endif
8006 : use pm_kind, only: SKC => SK4
8007 : character(*,SKC) , intent(in) , contiguous :: table(:)
8008 : character(*, SK) , intent(in) , optional :: header, sep
8009 : character(*, SK) , intent(in) , optional :: deliml, delimr
8010 : character(*, SK) , intent(inout) , optional :: iomsg
8011 : type(trans_type) , intent(in) :: operation
8012 : integer(IK) , intent(in) , optional :: roff
8013 : integer(IK) , intent(in) :: unit
8014 : integer(IK) :: err
8015 : end function
8016 : #endif
8017 :
8018 : #if SK3_ENABLED
8019 : module function getErrTableWriteUnit_TO_D1_SK3(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8020 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8021 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_SK3
8022 : #endif
8023 : use pm_kind, only: SKC => SK3
8024 : character(*,SKC) , intent(in) , contiguous :: table(:)
8025 : character(*, SK) , intent(in) , optional :: header, sep
8026 : character(*, SK) , intent(in) , optional :: deliml, delimr
8027 : character(*, SK) , intent(inout) , optional :: iomsg
8028 : type(trans_type) , intent(in) :: operation
8029 : integer(IK) , intent(in) , optional :: roff
8030 : integer(IK) , intent(in) :: unit
8031 : integer(IK) :: err
8032 : end function
8033 : #endif
8034 :
8035 : #if SK2_ENABLED
8036 : module function getErrTableWriteUnit_TO_D1_SK2(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8037 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8038 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_SK2
8039 : #endif
8040 : use pm_kind, only: SKC => SK2
8041 : character(*,SKC) , intent(in) , contiguous :: table(:)
8042 : character(*, SK) , intent(in) , optional :: header, sep
8043 : character(*, SK) , intent(in) , optional :: deliml, delimr
8044 : character(*, SK) , intent(inout) , optional :: iomsg
8045 : type(trans_type) , intent(in) :: operation
8046 : integer(IK) , intent(in) , optional :: roff
8047 : integer(IK) , intent(in) :: unit
8048 : integer(IK) :: err
8049 : end function
8050 : #endif
8051 :
8052 : #if SK1_ENABLED
8053 : module function getErrTableWriteUnit_TO_D1_SK1(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8054 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8055 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_SK1
8056 : #endif
8057 : use pm_kind, only: SKC => SK1
8058 : character(*,SKC) , intent(in) , contiguous :: table(:)
8059 : character(*, SK) , intent(in) , optional :: header, sep
8060 : character(*, SK) , intent(in) , optional :: deliml, delimr
8061 : character(*, SK) , intent(inout) , optional :: iomsg
8062 : type(trans_type) , intent(in) :: operation
8063 : integer(IK) , intent(in) , optional :: roff
8064 : integer(IK) , intent(in) :: unit
8065 : integer(IK) :: err
8066 : end function
8067 : #endif
8068 :
8069 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8070 :
8071 : #if IK5_ENABLED
8072 : module function getErrTableWriteUnit_TO_D1_IK5(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8073 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8074 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_IK5
8075 : #endif
8076 : use pm_kind, only: IKC => IK5
8077 : integer(IKC) , intent(in) , contiguous :: table(:)
8078 : character(*, SK) , intent(in) , optional :: header, sep
8079 : character(*, SK) , intent(in) , optional :: deliml, delimr
8080 : character(*, SK) , intent(inout) , optional :: iomsg
8081 : type(trans_type) , intent(in) :: operation
8082 : integer(IK) , intent(in) , optional :: roff
8083 : integer(IK) , intent(in) :: unit
8084 : integer(IK) :: err
8085 : end function
8086 : #endif
8087 :
8088 : #if IK4_ENABLED
8089 : module function getErrTableWriteUnit_TO_D1_IK4(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8090 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8091 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_IK4
8092 : #endif
8093 : use pm_kind, only: IKC => IK4
8094 : integer(IKC) , intent(in) , contiguous :: table(:)
8095 : character(*, SK) , intent(in) , optional :: header, sep
8096 : character(*, SK) , intent(in) , optional :: deliml, delimr
8097 : character(*, SK) , intent(inout) , optional :: iomsg
8098 : type(trans_type) , intent(in) :: operation
8099 : integer(IK) , intent(in) , optional :: roff
8100 : integer(IK) , intent(in) :: unit
8101 : integer(IK) :: err
8102 : end function
8103 : #endif
8104 :
8105 : #if IK3_ENABLED
8106 : module function getErrTableWriteUnit_TO_D1_IK3(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8107 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8108 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_IK3
8109 : #endif
8110 : use pm_kind, only: IKC => IK3
8111 : integer(IKC) , intent(in) , contiguous :: table(:)
8112 : character(*, SK) , intent(in) , optional :: header, sep
8113 : character(*, SK) , intent(in) , optional :: deliml, delimr
8114 : character(*, SK) , intent(inout) , optional :: iomsg
8115 : type(trans_type) , intent(in) :: operation
8116 : integer(IK) , intent(in) , optional :: roff
8117 : integer(IK) , intent(in) :: unit
8118 : integer(IK) :: err
8119 : end function
8120 : #endif
8121 :
8122 : #if IK2_ENABLED
8123 : module function getErrTableWriteUnit_TO_D1_IK2(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8124 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8125 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_IK2
8126 : #endif
8127 : use pm_kind, only: IKC => IK2
8128 : integer(IKC) , intent(in) , contiguous :: table(:)
8129 : character(*, SK) , intent(in) , optional :: header, sep
8130 : character(*, SK) , intent(in) , optional :: deliml, delimr
8131 : character(*, SK) , intent(inout) , optional :: iomsg
8132 : type(trans_type) , intent(in) :: operation
8133 : integer(IK) , intent(in) , optional :: roff
8134 : integer(IK) , intent(in) :: unit
8135 : integer(IK) :: err
8136 : end function
8137 : #endif
8138 :
8139 : #if IK1_ENABLED
8140 : module function getErrTableWriteUnit_TO_D1_IK1(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8141 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8142 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_IK1
8143 : #endif
8144 : use pm_kind, only: IKC => IK1
8145 : integer(IKC) , intent(in) , contiguous :: table(:)
8146 : character(*, SK) , intent(in) , optional :: header, sep
8147 : character(*, SK) , intent(in) , optional :: deliml, delimr
8148 : character(*, SK) , intent(inout) , optional :: iomsg
8149 : type(trans_type) , intent(in) :: operation
8150 : integer(IK) , intent(in) , optional :: roff
8151 : integer(IK) , intent(in) :: unit
8152 : integer(IK) :: err
8153 : end function
8154 : #endif
8155 :
8156 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8157 :
8158 : #if LK5_ENABLED
8159 : module function getErrTableWriteUnit_TO_D1_LK5(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8160 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8161 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_LK5
8162 : #endif
8163 : use pm_kind, only: LKC => LK5
8164 : logical(LKC) , intent(in) , contiguous :: table(:)
8165 : character(*, SK) , intent(in) , optional :: header, sep
8166 : character(*, SK) , intent(in) , optional :: deliml, delimr
8167 : character(*, SK) , intent(inout) , optional :: iomsg
8168 : type(trans_type) , intent(in) :: operation
8169 : integer(IK) , intent(in) , optional :: roff
8170 : integer(IK) , intent(in) :: unit
8171 : integer(IK) :: err
8172 : end function
8173 : #endif
8174 :
8175 : #if LK4_ENABLED
8176 : module function getErrTableWriteUnit_TO_D1_LK4(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8177 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8178 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_LK4
8179 : #endif
8180 : use pm_kind, only: LKC => LK4
8181 : logical(LKC) , intent(in) , contiguous :: table(:)
8182 : character(*, SK) , intent(in) , optional :: header, sep
8183 : character(*, SK) , intent(in) , optional :: deliml, delimr
8184 : character(*, SK) , intent(inout) , optional :: iomsg
8185 : type(trans_type) , intent(in) :: operation
8186 : integer(IK) , intent(in) , optional :: roff
8187 : integer(IK) , intent(in) :: unit
8188 : integer(IK) :: err
8189 : end function
8190 : #endif
8191 :
8192 : #if LK3_ENABLED
8193 : module function getErrTableWriteUnit_TO_D1_LK3(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8194 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8195 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_LK3
8196 : #endif
8197 : use pm_kind, only: LKC => LK3
8198 : logical(LKC) , intent(in) , contiguous :: table(:)
8199 : character(*, SK) , intent(in) , optional :: header, sep
8200 : character(*, SK) , intent(in) , optional :: deliml, delimr
8201 : character(*, SK) , intent(inout) , optional :: iomsg
8202 : type(trans_type) , intent(in) :: operation
8203 : integer(IK) , intent(in) , optional :: roff
8204 : integer(IK) , intent(in) :: unit
8205 : integer(IK) :: err
8206 : end function
8207 : #endif
8208 :
8209 : #if LK2_ENABLED
8210 : module function getErrTableWriteUnit_TO_D1_LK2(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8211 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8212 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_LK2
8213 : #endif
8214 : use pm_kind, only: LKC => LK2
8215 : logical(LKC) , intent(in) , contiguous :: table(:)
8216 : character(*, SK) , intent(in) , optional :: header, sep
8217 : character(*, SK) , intent(in) , optional :: deliml, delimr
8218 : character(*, SK) , intent(inout) , optional :: iomsg
8219 : type(trans_type) , intent(in) :: operation
8220 : integer(IK) , intent(in) , optional :: roff
8221 : integer(IK) , intent(in) :: unit
8222 : integer(IK) :: err
8223 : end function
8224 : #endif
8225 :
8226 : #if LK1_ENABLED
8227 : module function getErrTableWriteUnit_TO_D1_LK1(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8228 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8229 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_LK1
8230 : #endif
8231 : use pm_kind, only: LKC => LK1
8232 : logical(LKC) , intent(in) , contiguous :: table(:)
8233 : character(*, SK) , intent(in) , optional :: header, sep
8234 : character(*, SK) , intent(in) , optional :: deliml, delimr
8235 : character(*, SK) , intent(inout) , optional :: iomsg
8236 : type(trans_type) , intent(in) :: operation
8237 : integer(IK) , intent(in) , optional :: roff
8238 : integer(IK) , intent(in) :: unit
8239 : integer(IK) :: err
8240 : end function
8241 : #endif
8242 :
8243 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8244 :
8245 : #if CK5_ENABLED
8246 : module function getErrTableWriteUnit_TO_D1_CK5(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8247 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8248 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_CK5
8249 : #endif
8250 : use pm_kind, only: CKC => CK5
8251 : complex(CKC) , intent(in) , contiguous :: table(:)
8252 : character(*, SK) , intent(in) , optional :: header, sep
8253 : character(*, SK) , intent(in) , optional :: deliml, delimr
8254 : character(*, SK) , intent(inout) , optional :: iomsg
8255 : type(trans_type) , intent(in) :: operation
8256 : integer(IK) , intent(in) , optional :: roff
8257 : integer(IK) , intent(in) :: unit
8258 : integer(IK) :: err
8259 : end function
8260 : #endif
8261 :
8262 : #if CK4_ENABLED
8263 : module function getErrTableWriteUnit_TO_D1_CK4(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8264 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8265 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_CK4
8266 : #endif
8267 : use pm_kind, only: CKC => CK4
8268 : complex(CKC) , intent(in) , contiguous :: table(:)
8269 : character(*, SK) , intent(in) , optional :: header, sep
8270 : character(*, SK) , intent(in) , optional :: deliml, delimr
8271 : character(*, SK) , intent(inout) , optional :: iomsg
8272 : type(trans_type) , intent(in) :: operation
8273 : integer(IK) , intent(in) , optional :: roff
8274 : integer(IK) , intent(in) :: unit
8275 : integer(IK) :: err
8276 : end function
8277 : #endif
8278 :
8279 : #if CK3_ENABLED
8280 : module function getErrTableWriteUnit_TO_D1_CK3(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8281 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8282 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_CK3
8283 : #endif
8284 : use pm_kind, only: CKC => CK3
8285 : complex(CKC) , intent(in) , contiguous :: table(:)
8286 : character(*, SK) , intent(in) , optional :: header, sep
8287 : character(*, SK) , intent(in) , optional :: deliml, delimr
8288 : character(*, SK) , intent(inout) , optional :: iomsg
8289 : type(trans_type) , intent(in) :: operation
8290 : integer(IK) , intent(in) , optional :: roff
8291 : integer(IK) , intent(in) :: unit
8292 : integer(IK) :: err
8293 : end function
8294 : #endif
8295 :
8296 : #if CK2_ENABLED
8297 : module function getErrTableWriteUnit_TO_D1_CK2(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8298 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8299 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_CK2
8300 : #endif
8301 : use pm_kind, only: CKC => CK2
8302 : complex(CKC) , intent(in) , contiguous :: table(:)
8303 : character(*, SK) , intent(in) , optional :: header, sep
8304 : character(*, SK) , intent(in) , optional :: deliml, delimr
8305 : character(*, SK) , intent(inout) , optional :: iomsg
8306 : type(trans_type) , intent(in) :: operation
8307 : integer(IK) , intent(in) , optional :: roff
8308 : integer(IK) , intent(in) :: unit
8309 : integer(IK) :: err
8310 : end function
8311 : #endif
8312 :
8313 : #if CK1_ENABLED
8314 : module function getErrTableWriteUnit_TO_D1_CK1(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8315 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8316 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_CK1
8317 : #endif
8318 : use pm_kind, only: CKC => CK1
8319 : complex(CKC) , intent(in) , contiguous :: table(:)
8320 : character(*, SK) , intent(in) , optional :: header, sep
8321 : character(*, SK) , intent(in) , optional :: deliml, delimr
8322 : character(*, SK) , intent(inout) , optional :: iomsg
8323 : type(trans_type) , intent(in) :: operation
8324 : integer(IK) , intent(in) , optional :: roff
8325 : integer(IK) , intent(in) :: unit
8326 : integer(IK) :: err
8327 : end function
8328 : #endif
8329 :
8330 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8331 :
8332 : #if RK5_ENABLED
8333 : module function getErrTableWriteUnit_TO_D1_RK5(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8334 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8335 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_RK5
8336 : #endif
8337 : use pm_kind, only: RKC => RK5
8338 : real(RKC) , intent(in) , contiguous :: table(:)
8339 : character(*, SK) , intent(in) , optional :: header, sep
8340 : character(*, SK) , intent(in) , optional :: deliml, delimr
8341 : character(*, SK) , intent(inout) , optional :: iomsg
8342 : type(trans_type) , intent(in) :: operation
8343 : integer(IK) , intent(in) , optional :: roff
8344 : integer(IK) , intent(in) :: unit
8345 : integer(IK) :: err
8346 : end function
8347 : #endif
8348 :
8349 : #if RK4_ENABLED
8350 : module function getErrTableWriteUnit_TO_D1_RK4(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8351 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8352 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_RK4
8353 : #endif
8354 : use pm_kind, only: RKC => RK4
8355 : real(RKC) , intent(in) , contiguous :: table(:)
8356 : character(*, SK) , intent(in) , optional :: header, sep
8357 : character(*, SK) , intent(in) , optional :: deliml, delimr
8358 : character(*, SK) , intent(inout) , optional :: iomsg
8359 : type(trans_type) , intent(in) :: operation
8360 : integer(IK) , intent(in) , optional :: roff
8361 : integer(IK) , intent(in) :: unit
8362 : integer(IK) :: err
8363 : end function
8364 : #endif
8365 :
8366 : #if RK3_ENABLED
8367 : module function getErrTableWriteUnit_TO_D1_RK3(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8368 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8369 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_RK3
8370 : #endif
8371 : use pm_kind, only: RKC => RK3
8372 : real(RKC) , intent(in) , contiguous :: table(:)
8373 : character(*, SK) , intent(in) , optional :: header, sep
8374 : character(*, SK) , intent(in) , optional :: deliml, delimr
8375 : character(*, SK) , intent(inout) , optional :: iomsg
8376 : type(trans_type) , intent(in) :: operation
8377 : integer(IK) , intent(in) , optional :: roff
8378 : integer(IK) , intent(in) :: unit
8379 : integer(IK) :: err
8380 : end function
8381 : #endif
8382 :
8383 : #if RK2_ENABLED
8384 : module function getErrTableWriteUnit_TO_D1_RK2(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8385 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8386 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_RK2
8387 : #endif
8388 : use pm_kind, only: RKC => RK2
8389 : real(RKC) , intent(in) , contiguous :: table(:)
8390 : character(*, SK) , intent(in) , optional :: header, sep
8391 : character(*, SK) , intent(in) , optional :: deliml, delimr
8392 : character(*, SK) , intent(inout) , optional :: iomsg
8393 : type(trans_type) , intent(in) :: operation
8394 : integer(IK) , intent(in) , optional :: roff
8395 : integer(IK) , intent(in) :: unit
8396 : integer(IK) :: err
8397 : end function
8398 : #endif
8399 :
8400 : #if RK1_ENABLED
8401 : module function getErrTableWriteUnit_TO_D1_RK1(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8402 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8403 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D1_RK1
8404 : #endif
8405 : use pm_kind, only: RKC => RK1
8406 : real(RKC) , intent(in) , contiguous :: table(:)
8407 : character(*, SK) , intent(in) , optional :: header, sep
8408 : character(*, SK) , intent(in) , optional :: deliml, delimr
8409 : character(*, SK) , intent(inout) , optional :: iomsg
8410 : type(trans_type) , intent(in) :: operation
8411 : integer(IK) , intent(in) , optional :: roff
8412 : integer(IK) , intent(in) :: unit
8413 : integer(IK) :: err
8414 : end function
8415 : #endif
8416 :
8417 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8418 :
8419 : end interface
8420 :
8421 : ! D2 file TO
8422 :
8423 : interface getErrTableWrite
8424 :
8425 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8426 :
8427 : #if SK5_ENABLED
8428 : module function getErrTableWriteFile_TO_D2_SK5(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8429 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8430 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_SK5
8431 : #endif
8432 : use pm_kind, only: SKC => SK5
8433 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
8434 : character(*, SK) , intent(in) , optional :: file, header, sep
8435 : character(*, SK) , intent(in) , optional :: deliml, delimr
8436 : character(*, SK) , intent(inout) , optional :: iomsg
8437 : type(trans_type) , intent(in) :: operation
8438 : integer(IK) , intent(in) , optional :: roff
8439 : integer(IK) :: err
8440 : end function
8441 : #endif
8442 :
8443 : #if SK4_ENABLED
8444 : module function getErrTableWriteFile_TO_D2_SK4(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8445 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8446 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_SK4
8447 : #endif
8448 : use pm_kind, only: SKC => SK4
8449 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
8450 : character(*, SK) , intent(in) , optional :: file, header, sep
8451 : character(*, SK) , intent(in) , optional :: deliml, delimr
8452 : character(*, SK) , intent(inout) , optional :: iomsg
8453 : type(trans_type) , intent(in) :: operation
8454 : integer(IK) , intent(in) , optional :: roff
8455 : integer(IK) :: err
8456 : end function
8457 : #endif
8458 :
8459 : #if SK3_ENABLED
8460 : module function getErrTableWriteFile_TO_D2_SK3(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8461 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8462 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_SK3
8463 : #endif
8464 : use pm_kind, only: SKC => SK3
8465 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
8466 : character(*, SK) , intent(in) , optional :: file, header, sep
8467 : character(*, SK) , intent(in) , optional :: deliml, delimr
8468 : character(*, SK) , intent(inout) , optional :: iomsg
8469 : type(trans_type) , intent(in) :: operation
8470 : integer(IK) , intent(in) , optional :: roff
8471 : integer(IK) :: err
8472 : end function
8473 : #endif
8474 :
8475 : #if SK2_ENABLED
8476 : module function getErrTableWriteFile_TO_D2_SK2(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8477 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8478 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_SK2
8479 : #endif
8480 : use pm_kind, only: SKC => SK2
8481 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
8482 : character(*, SK) , intent(in) , optional :: file, header, sep
8483 : character(*, SK) , intent(in) , optional :: deliml, delimr
8484 : character(*, SK) , intent(inout) , optional :: iomsg
8485 : type(trans_type) , intent(in) :: operation
8486 : integer(IK) , intent(in) , optional :: roff
8487 : integer(IK) :: err
8488 : end function
8489 : #endif
8490 :
8491 : #if SK1_ENABLED
8492 : module function getErrTableWriteFile_TO_D2_SK1(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8493 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8494 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_SK1
8495 : #endif
8496 : use pm_kind, only: SKC => SK1
8497 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
8498 : character(*, SK) , intent(in) , optional :: file, header, sep
8499 : character(*, SK) , intent(in) , optional :: deliml, delimr
8500 : character(*, SK) , intent(inout) , optional :: iomsg
8501 : type(trans_type) , intent(in) :: operation
8502 : integer(IK) , intent(in) , optional :: roff
8503 : integer(IK) :: err
8504 : end function
8505 : #endif
8506 :
8507 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8508 :
8509 : #if IK5_ENABLED
8510 : module function getErrTableWriteFile_TO_D2_IK5(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8511 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8512 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_IK5
8513 : #endif
8514 : use pm_kind, only: IKC => IK5
8515 : integer(IKC) , intent(in) , contiguous :: table(:,:)
8516 : character(*, SK) , intent(in) , optional :: file, header, sep
8517 : character(*, SK) , intent(in) , optional :: deliml, delimr
8518 : character(*, SK) , intent(inout) , optional :: iomsg
8519 : type(trans_type) , intent(in) :: operation
8520 : integer(IK) , intent(in) , optional :: roff
8521 : integer(IK) :: err
8522 : end function
8523 : #endif
8524 :
8525 : #if IK4_ENABLED
8526 : module function getErrTableWriteFile_TO_D2_IK4(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8527 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8528 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_IK4
8529 : #endif
8530 : use pm_kind, only: IKC => IK4
8531 : integer(IKC) , intent(in) , contiguous :: table(:,:)
8532 : character(*, SK) , intent(in) , optional :: file, header, sep
8533 : character(*, SK) , intent(in) , optional :: deliml, delimr
8534 : character(*, SK) , intent(inout) , optional :: iomsg
8535 : type(trans_type) , intent(in) :: operation
8536 : integer(IK) , intent(in) , optional :: roff
8537 : integer(IK) :: err
8538 : end function
8539 : #endif
8540 :
8541 : #if IK3_ENABLED
8542 : module function getErrTableWriteFile_TO_D2_IK3(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8543 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8544 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_IK3
8545 : #endif
8546 : use pm_kind, only: IKC => IK3
8547 : integer(IKC) , intent(in) , contiguous :: table(:,:)
8548 : character(*, SK) , intent(in) , optional :: file, header, sep
8549 : character(*, SK) , intent(in) , optional :: deliml, delimr
8550 : character(*, SK) , intent(inout) , optional :: iomsg
8551 : type(trans_type) , intent(in) :: operation
8552 : integer(IK) , intent(in) , optional :: roff
8553 : integer(IK) :: err
8554 : end function
8555 : #endif
8556 :
8557 : #if IK2_ENABLED
8558 : module function getErrTableWriteFile_TO_D2_IK2(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8559 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8560 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_IK2
8561 : #endif
8562 : use pm_kind, only: IKC => IK2
8563 : integer(IKC) , intent(in) , contiguous :: table(:,:)
8564 : character(*, SK) , intent(in) , optional :: file, header, sep
8565 : character(*, SK) , intent(in) , optional :: deliml, delimr
8566 : character(*, SK) , intent(inout) , optional :: iomsg
8567 : type(trans_type) , intent(in) :: operation
8568 : integer(IK) , intent(in) , optional :: roff
8569 : integer(IK) :: err
8570 : end function
8571 : #endif
8572 :
8573 : #if IK1_ENABLED
8574 : module function getErrTableWriteFile_TO_D2_IK1(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8575 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8576 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_IK1
8577 : #endif
8578 : use pm_kind, only: IKC => IK1
8579 : integer(IKC) , intent(in) , contiguous :: table(:,:)
8580 : character(*, SK) , intent(in) , optional :: file, header, sep
8581 : character(*, SK) , intent(in) , optional :: deliml, delimr
8582 : character(*, SK) , intent(inout) , optional :: iomsg
8583 : type(trans_type) , intent(in) :: operation
8584 : integer(IK) , intent(in) , optional :: roff
8585 : integer(IK) :: err
8586 : end function
8587 : #endif
8588 :
8589 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8590 :
8591 : #if LK5_ENABLED
8592 : module function getErrTableWriteFile_TO_D2_LK5(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8593 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8594 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_LK5
8595 : #endif
8596 : use pm_kind, only: LKC => LK5
8597 : logical(LKC) , intent(in) , contiguous :: table(:,:)
8598 : character(*, SK) , intent(in) , optional :: file, header, sep
8599 : character(*, SK) , intent(in) , optional :: deliml, delimr
8600 : character(*, SK) , intent(inout) , optional :: iomsg
8601 : type(trans_type) , intent(in) :: operation
8602 : integer(IK) , intent(in) , optional :: roff
8603 : integer(IK) :: err
8604 : end function
8605 : #endif
8606 :
8607 : #if LK4_ENABLED
8608 : module function getErrTableWriteFile_TO_D2_LK4(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8609 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8610 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_LK4
8611 : #endif
8612 : use pm_kind, only: LKC => LK4
8613 : logical(LKC) , intent(in) , contiguous :: table(:,:)
8614 : character(*, SK) , intent(in) , optional :: file, header, sep
8615 : character(*, SK) , intent(in) , optional :: deliml, delimr
8616 : character(*, SK) , intent(inout) , optional :: iomsg
8617 : type(trans_type) , intent(in) :: operation
8618 : integer(IK) , intent(in) , optional :: roff
8619 : integer(IK) :: err
8620 : end function
8621 : #endif
8622 :
8623 : #if LK3_ENABLED
8624 : module function getErrTableWriteFile_TO_D2_LK3(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8625 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8626 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_LK3
8627 : #endif
8628 : use pm_kind, only: LKC => LK3
8629 : logical(LKC) , intent(in) , contiguous :: table(:,:)
8630 : character(*, SK) , intent(in) , optional :: file, header, sep
8631 : character(*, SK) , intent(in) , optional :: deliml, delimr
8632 : character(*, SK) , intent(inout) , optional :: iomsg
8633 : type(trans_type) , intent(in) :: operation
8634 : integer(IK) , intent(in) , optional :: roff
8635 : integer(IK) :: err
8636 : end function
8637 : #endif
8638 :
8639 : #if LK2_ENABLED
8640 : module function getErrTableWriteFile_TO_D2_LK2(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8641 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8642 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_LK2
8643 : #endif
8644 : use pm_kind, only: LKC => LK2
8645 : logical(LKC) , intent(in) , contiguous :: table(:,:)
8646 : character(*, SK) , intent(in) , optional :: file, header, sep
8647 : character(*, SK) , intent(in) , optional :: deliml, delimr
8648 : character(*, SK) , intent(inout) , optional :: iomsg
8649 : type(trans_type) , intent(in) :: operation
8650 : integer(IK) , intent(in) , optional :: roff
8651 : integer(IK) :: err
8652 : end function
8653 : #endif
8654 :
8655 : #if LK1_ENABLED
8656 : module function getErrTableWriteFile_TO_D2_LK1(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8657 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8658 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_LK1
8659 : #endif
8660 : use pm_kind, only: LKC => LK1
8661 : logical(LKC) , intent(in) , contiguous :: table(:,:)
8662 : character(*, SK) , intent(in) , optional :: file, header, sep
8663 : character(*, SK) , intent(in) , optional :: deliml, delimr
8664 : character(*, SK) , intent(inout) , optional :: iomsg
8665 : type(trans_type) , intent(in) :: operation
8666 : integer(IK) , intent(in) , optional :: roff
8667 : integer(IK) :: err
8668 : end function
8669 : #endif
8670 :
8671 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8672 :
8673 : #if CK5_ENABLED
8674 : module function getErrTableWriteFile_TO_D2_CK5(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8675 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8676 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_CK5
8677 : #endif
8678 : use pm_kind, only: CKC => CK5
8679 : complex(CKC) , intent(in) , contiguous :: table(:,:)
8680 : character(*, SK) , intent(in) , optional :: file, header, sep
8681 : character(*, SK) , intent(in) , optional :: deliml, delimr
8682 : character(*, SK) , intent(inout) , optional :: iomsg
8683 : type(trans_type) , intent(in) :: operation
8684 : integer(IK) , intent(in) , optional :: roff
8685 : integer(IK) :: err
8686 : end function
8687 : #endif
8688 :
8689 : #if CK4_ENABLED
8690 : module function getErrTableWriteFile_TO_D2_CK4(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8691 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8692 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_CK4
8693 : #endif
8694 : use pm_kind, only: CKC => CK4
8695 : complex(CKC) , intent(in) , contiguous :: table(:,:)
8696 : character(*, SK) , intent(in) , optional :: file, header, sep
8697 : character(*, SK) , intent(in) , optional :: deliml, delimr
8698 : character(*, SK) , intent(inout) , optional :: iomsg
8699 : type(trans_type) , intent(in) :: operation
8700 : integer(IK) , intent(in) , optional :: roff
8701 : integer(IK) :: err
8702 : end function
8703 : #endif
8704 :
8705 : #if CK3_ENABLED
8706 : module function getErrTableWriteFile_TO_D2_CK3(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8707 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8708 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_CK3
8709 : #endif
8710 : use pm_kind, only: CKC => CK3
8711 : complex(CKC) , intent(in) , contiguous :: table(:,:)
8712 : character(*, SK) , intent(in) , optional :: file, header, sep
8713 : character(*, SK) , intent(in) , optional :: deliml, delimr
8714 : character(*, SK) , intent(inout) , optional :: iomsg
8715 : type(trans_type) , intent(in) :: operation
8716 : integer(IK) , intent(in) , optional :: roff
8717 : integer(IK) :: err
8718 : end function
8719 : #endif
8720 :
8721 : #if CK2_ENABLED
8722 : module function getErrTableWriteFile_TO_D2_CK2(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8723 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8724 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_CK2
8725 : #endif
8726 : use pm_kind, only: CKC => CK2
8727 : complex(CKC) , intent(in) , contiguous :: table(:,:)
8728 : character(*, SK) , intent(in) , optional :: file, header, sep
8729 : character(*, SK) , intent(in) , optional :: deliml, delimr
8730 : character(*, SK) , intent(inout) , optional :: iomsg
8731 : type(trans_type) , intent(in) :: operation
8732 : integer(IK) , intent(in) , optional :: roff
8733 : integer(IK) :: err
8734 : end function
8735 : #endif
8736 :
8737 : #if CK1_ENABLED
8738 : module function getErrTableWriteFile_TO_D2_CK1(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8739 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8740 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_CK1
8741 : #endif
8742 : use pm_kind, only: CKC => CK1
8743 : complex(CKC) , intent(in) , contiguous :: table(:,:)
8744 : character(*, SK) , intent(in) , optional :: file, header, sep
8745 : character(*, SK) , intent(in) , optional :: deliml, delimr
8746 : character(*, SK) , intent(inout) , optional :: iomsg
8747 : type(trans_type) , intent(in) :: operation
8748 : integer(IK) , intent(in) , optional :: roff
8749 : integer(IK) :: err
8750 : end function
8751 : #endif
8752 :
8753 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8754 :
8755 : #if RK5_ENABLED
8756 : module function getErrTableWriteFile_TO_D2_RK5(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8757 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8758 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_RK5
8759 : #endif
8760 : use pm_kind, only: RKC => RK5
8761 : real(RKC) , intent(in) , contiguous :: table(:,:)
8762 : character(*, SK) , intent(in) , optional :: file, header, sep
8763 : character(*, SK) , intent(in) , optional :: deliml, delimr
8764 : character(*, SK) , intent(inout) , optional :: iomsg
8765 : type(trans_type) , intent(in) :: operation
8766 : integer(IK) , intent(in) , optional :: roff
8767 : integer(IK) :: err
8768 : end function
8769 : #endif
8770 :
8771 : #if RK4_ENABLED
8772 : module function getErrTableWriteFile_TO_D2_RK4(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8773 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8774 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_RK4
8775 : #endif
8776 : use pm_kind, only: RKC => RK4
8777 : real(RKC) , intent(in) , contiguous :: table(:,:)
8778 : character(*, SK) , intent(in) , optional :: file, header, sep
8779 : character(*, SK) , intent(in) , optional :: deliml, delimr
8780 : character(*, SK) , intent(inout) , optional :: iomsg
8781 : type(trans_type) , intent(in) :: operation
8782 : integer(IK) , intent(in) , optional :: roff
8783 : integer(IK) :: err
8784 : end function
8785 : #endif
8786 :
8787 : #if RK3_ENABLED
8788 : module function getErrTableWriteFile_TO_D2_RK3(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8789 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8790 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_RK3
8791 : #endif
8792 : use pm_kind, only: RKC => RK3
8793 : real(RKC) , intent(in) , contiguous :: table(:,:)
8794 : character(*, SK) , intent(in) , optional :: file, header, sep
8795 : character(*, SK) , intent(in) , optional :: deliml, delimr
8796 : character(*, SK) , intent(inout) , optional :: iomsg
8797 : type(trans_type) , intent(in) :: operation
8798 : integer(IK) , intent(in) , optional :: roff
8799 : integer(IK) :: err
8800 : end function
8801 : #endif
8802 :
8803 : #if RK2_ENABLED
8804 : module function getErrTableWriteFile_TO_D2_RK2(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8805 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8806 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_RK2
8807 : #endif
8808 : use pm_kind, only: RKC => RK2
8809 : real(RKC) , intent(in) , contiguous :: table(:,:)
8810 : character(*, SK) , intent(in) , optional :: file, header, sep
8811 : character(*, SK) , intent(in) , optional :: deliml, delimr
8812 : character(*, SK) , intent(inout) , optional :: iomsg
8813 : type(trans_type) , intent(in) :: operation
8814 : integer(IK) , intent(in) , optional :: roff
8815 : integer(IK) :: err
8816 : end function
8817 : #endif
8818 :
8819 : #if RK1_ENABLED
8820 : module function getErrTableWriteFile_TO_D2_RK1(file, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8821 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8822 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteFile_TO_D2_RK1
8823 : #endif
8824 : use pm_kind, only: RKC => RK1
8825 : real(RKC) , intent(in) , contiguous :: table(:,:)
8826 : character(*, SK) , intent(in) , optional :: file, header, sep
8827 : character(*, SK) , intent(in) , optional :: deliml, delimr
8828 : character(*, SK) , intent(inout) , optional :: iomsg
8829 : type(trans_type) , intent(in) :: operation
8830 : integer(IK) , intent(in) , optional :: roff
8831 : integer(IK) :: err
8832 : end function
8833 : #endif
8834 :
8835 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8836 :
8837 : end interface
8838 :
8839 : ! D2 unit TO
8840 :
8841 : interface getErrTableWrite
8842 :
8843 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8844 :
8845 : #if SK5_ENABLED
8846 : module function getErrTableWriteUnit_TO_D2_SK5(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8847 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8848 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_SK5
8849 : #endif
8850 : use pm_kind, only: SKC => SK5
8851 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
8852 : character(*, SK) , intent(in) , optional :: header, sep
8853 : character(*, SK) , intent(in) , optional :: deliml, delimr
8854 : character(*, SK) , intent(inout) , optional :: iomsg
8855 : type(trans_type) , intent(in) :: operation
8856 : integer(IK) , intent(in) , optional :: roff
8857 : integer(IK) , intent(in) :: unit
8858 : integer(IK) :: err
8859 : end function
8860 : #endif
8861 :
8862 : #if SK4_ENABLED
8863 : module function getErrTableWriteUnit_TO_D2_SK4(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8864 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8865 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_SK4
8866 : #endif
8867 : use pm_kind, only: SKC => SK4
8868 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
8869 : character(*, SK) , intent(in) , optional :: header, sep
8870 : character(*, SK) , intent(in) , optional :: deliml, delimr
8871 : character(*, SK) , intent(inout) , optional :: iomsg
8872 : type(trans_type) , intent(in) :: operation
8873 : integer(IK) , intent(in) , optional :: roff
8874 : integer(IK) , intent(in) :: unit
8875 : integer(IK) :: err
8876 : end function
8877 : #endif
8878 :
8879 : #if SK3_ENABLED
8880 : module function getErrTableWriteUnit_TO_D2_SK3(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8881 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8882 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_SK3
8883 : #endif
8884 : use pm_kind, only: SKC => SK3
8885 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
8886 : character(*, SK) , intent(in) , optional :: header, sep
8887 : character(*, SK) , intent(in) , optional :: deliml, delimr
8888 : character(*, SK) , intent(inout) , optional :: iomsg
8889 : type(trans_type) , intent(in) :: operation
8890 : integer(IK) , intent(in) , optional :: roff
8891 : integer(IK) , intent(in) :: unit
8892 : integer(IK) :: err
8893 : end function
8894 : #endif
8895 :
8896 : #if SK2_ENABLED
8897 : module function getErrTableWriteUnit_TO_D2_SK2(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8898 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8899 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_SK2
8900 : #endif
8901 : use pm_kind, only: SKC => SK2
8902 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
8903 : character(*, SK) , intent(in) , optional :: header, sep
8904 : character(*, SK) , intent(in) , optional :: deliml, delimr
8905 : character(*, SK) , intent(inout) , optional :: iomsg
8906 : type(trans_type) , intent(in) :: operation
8907 : integer(IK) , intent(in) , optional :: roff
8908 : integer(IK) , intent(in) :: unit
8909 : integer(IK) :: err
8910 : end function
8911 : #endif
8912 :
8913 : #if SK1_ENABLED
8914 : module function getErrTableWriteUnit_TO_D2_SK1(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8915 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8916 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_SK1
8917 : #endif
8918 : use pm_kind, only: SKC => SK1
8919 : character(*,SKC) , intent(in) , contiguous :: table(:,:)
8920 : character(*, SK) , intent(in) , optional :: header, sep
8921 : character(*, SK) , intent(in) , optional :: deliml, delimr
8922 : character(*, SK) , intent(inout) , optional :: iomsg
8923 : type(trans_type) , intent(in) :: operation
8924 : integer(IK) , intent(in) , optional :: roff
8925 : integer(IK) , intent(in) :: unit
8926 : integer(IK) :: err
8927 : end function
8928 : #endif
8929 :
8930 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8931 :
8932 : #if IK5_ENABLED
8933 : module function getErrTableWriteUnit_TO_D2_IK5(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8934 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8935 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_IK5
8936 : #endif
8937 : use pm_kind, only: IKC => IK5
8938 : integer(IKC) , intent(in) , contiguous :: table(:,:)
8939 : character(*, SK) , intent(in) , optional :: header, sep
8940 : character(*, SK) , intent(in) , optional :: deliml, delimr
8941 : character(*, SK) , intent(inout) , optional :: iomsg
8942 : type(trans_type) , intent(in) :: operation
8943 : integer(IK) , intent(in) , optional :: roff
8944 : integer(IK) , intent(in) :: unit
8945 : integer(IK) :: err
8946 : end function
8947 : #endif
8948 :
8949 : #if IK4_ENABLED
8950 : module function getErrTableWriteUnit_TO_D2_IK4(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8951 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8952 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_IK4
8953 : #endif
8954 : use pm_kind, only: IKC => IK4
8955 : integer(IKC) , intent(in) , contiguous :: table(:,:)
8956 : character(*, SK) , intent(in) , optional :: header, sep
8957 : character(*, SK) , intent(in) , optional :: deliml, delimr
8958 : character(*, SK) , intent(inout) , optional :: iomsg
8959 : type(trans_type) , intent(in) :: operation
8960 : integer(IK) , intent(in) , optional :: roff
8961 : integer(IK) , intent(in) :: unit
8962 : integer(IK) :: err
8963 : end function
8964 : #endif
8965 :
8966 : #if IK3_ENABLED
8967 : module function getErrTableWriteUnit_TO_D2_IK3(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8968 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8969 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_IK3
8970 : #endif
8971 : use pm_kind, only: IKC => IK3
8972 : integer(IKC) , intent(in) , contiguous :: table(:,:)
8973 : character(*, SK) , intent(in) , optional :: header, sep
8974 : character(*, SK) , intent(in) , optional :: deliml, delimr
8975 : character(*, SK) , intent(inout) , optional :: iomsg
8976 : type(trans_type) , intent(in) :: operation
8977 : integer(IK) , intent(in) , optional :: roff
8978 : integer(IK) , intent(in) :: unit
8979 : integer(IK) :: err
8980 : end function
8981 : #endif
8982 :
8983 : #if IK2_ENABLED
8984 : module function getErrTableWriteUnit_TO_D2_IK2(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
8985 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
8986 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_IK2
8987 : #endif
8988 : use pm_kind, only: IKC => IK2
8989 : integer(IKC) , intent(in) , contiguous :: table(:,:)
8990 : character(*, SK) , intent(in) , optional :: header, sep
8991 : character(*, SK) , intent(in) , optional :: deliml, delimr
8992 : character(*, SK) , intent(inout) , optional :: iomsg
8993 : type(trans_type) , intent(in) :: operation
8994 : integer(IK) , intent(in) , optional :: roff
8995 : integer(IK) , intent(in) :: unit
8996 : integer(IK) :: err
8997 : end function
8998 : #endif
8999 :
9000 : #if IK1_ENABLED
9001 : module function getErrTableWriteUnit_TO_D2_IK1(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9002 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9003 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_IK1
9004 : #endif
9005 : use pm_kind, only: IKC => IK1
9006 : integer(IKC) , intent(in) , contiguous :: table(:,:)
9007 : character(*, SK) , intent(in) , optional :: header, sep
9008 : character(*, SK) , intent(in) , optional :: deliml, delimr
9009 : character(*, SK) , intent(inout) , optional :: iomsg
9010 : type(trans_type) , intent(in) :: operation
9011 : integer(IK) , intent(in) , optional :: roff
9012 : integer(IK) , intent(in) :: unit
9013 : integer(IK) :: err
9014 : end function
9015 : #endif
9016 :
9017 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9018 :
9019 : #if LK5_ENABLED
9020 : module function getErrTableWriteUnit_TO_D2_LK5(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9021 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9022 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_LK5
9023 : #endif
9024 : use pm_kind, only: LKC => LK5
9025 : logical(LKC) , intent(in) , contiguous :: table(:,:)
9026 : character(*, SK) , intent(in) , optional :: header, sep
9027 : character(*, SK) , intent(in) , optional :: deliml, delimr
9028 : character(*, SK) , intent(inout) , optional :: iomsg
9029 : type(trans_type) , intent(in) :: operation
9030 : integer(IK) , intent(in) , optional :: roff
9031 : integer(IK) , intent(in) :: unit
9032 : integer(IK) :: err
9033 : end function
9034 : #endif
9035 :
9036 : #if LK4_ENABLED
9037 : module function getErrTableWriteUnit_TO_D2_LK4(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9038 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9039 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_LK4
9040 : #endif
9041 : use pm_kind, only: LKC => LK4
9042 : logical(LKC) , intent(in) , contiguous :: table(:,:)
9043 : character(*, SK) , intent(in) , optional :: header, sep
9044 : character(*, SK) , intent(in) , optional :: deliml, delimr
9045 : character(*, SK) , intent(inout) , optional :: iomsg
9046 : type(trans_type) , intent(in) :: operation
9047 : integer(IK) , intent(in) , optional :: roff
9048 : integer(IK) , intent(in) :: unit
9049 : integer(IK) :: err
9050 : end function
9051 : #endif
9052 :
9053 : #if LK3_ENABLED
9054 : module function getErrTableWriteUnit_TO_D2_LK3(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9055 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9056 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_LK3
9057 : #endif
9058 : use pm_kind, only: LKC => LK3
9059 : logical(LKC) , intent(in) , contiguous :: table(:,:)
9060 : character(*, SK) , intent(in) , optional :: header, sep
9061 : character(*, SK) , intent(in) , optional :: deliml, delimr
9062 : character(*, SK) , intent(inout) , optional :: iomsg
9063 : type(trans_type) , intent(in) :: operation
9064 : integer(IK) , intent(in) , optional :: roff
9065 : integer(IK) , intent(in) :: unit
9066 : integer(IK) :: err
9067 : end function
9068 : #endif
9069 :
9070 : #if LK2_ENABLED
9071 : module function getErrTableWriteUnit_TO_D2_LK2(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9072 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9073 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_LK2
9074 : #endif
9075 : use pm_kind, only: LKC => LK2
9076 : logical(LKC) , intent(in) , contiguous :: table(:,:)
9077 : character(*, SK) , intent(in) , optional :: header, sep
9078 : character(*, SK) , intent(in) , optional :: deliml, delimr
9079 : character(*, SK) , intent(inout) , optional :: iomsg
9080 : type(trans_type) , intent(in) :: operation
9081 : integer(IK) , intent(in) , optional :: roff
9082 : integer(IK) , intent(in) :: unit
9083 : integer(IK) :: err
9084 : end function
9085 : #endif
9086 :
9087 : #if LK1_ENABLED
9088 : module function getErrTableWriteUnit_TO_D2_LK1(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9089 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9090 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_LK1
9091 : #endif
9092 : use pm_kind, only: LKC => LK1
9093 : logical(LKC) , intent(in) , contiguous :: table(:,:)
9094 : character(*, SK) , intent(in) , optional :: header, sep
9095 : character(*, SK) , intent(in) , optional :: deliml, delimr
9096 : character(*, SK) , intent(inout) , optional :: iomsg
9097 : type(trans_type) , intent(in) :: operation
9098 : integer(IK) , intent(in) , optional :: roff
9099 : integer(IK) , intent(in) :: unit
9100 : integer(IK) :: err
9101 : end function
9102 : #endif
9103 :
9104 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9105 :
9106 : #if CK5_ENABLED
9107 : module function getErrTableWriteUnit_TO_D2_CK5(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9108 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9109 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_CK5
9110 : #endif
9111 : use pm_kind, only: CKC => CK5
9112 : complex(CKC) , intent(in) , contiguous :: table(:,:)
9113 : character(*, SK) , intent(in) , optional :: header, sep
9114 : character(*, SK) , intent(in) , optional :: deliml, delimr
9115 : character(*, SK) , intent(inout) , optional :: iomsg
9116 : type(trans_type) , intent(in) :: operation
9117 : integer(IK) , intent(in) , optional :: roff
9118 : integer(IK) , intent(in) :: unit
9119 : integer(IK) :: err
9120 : end function
9121 : #endif
9122 :
9123 : #if CK4_ENABLED
9124 : module function getErrTableWriteUnit_TO_D2_CK4(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9125 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9126 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_CK4
9127 : #endif
9128 : use pm_kind, only: CKC => CK4
9129 : complex(CKC) , intent(in) , contiguous :: table(:,:)
9130 : character(*, SK) , intent(in) , optional :: header, sep
9131 : character(*, SK) , intent(in) , optional :: deliml, delimr
9132 : character(*, SK) , intent(inout) , optional :: iomsg
9133 : type(trans_type) , intent(in) :: operation
9134 : integer(IK) , intent(in) , optional :: roff
9135 : integer(IK) , intent(in) :: unit
9136 : integer(IK) :: err
9137 : end function
9138 : #endif
9139 :
9140 : #if CK3_ENABLED
9141 : module function getErrTableWriteUnit_TO_D2_CK3(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9142 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9143 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_CK3
9144 : #endif
9145 : use pm_kind, only: CKC => CK3
9146 : complex(CKC) , intent(in) , contiguous :: table(:,:)
9147 : character(*, SK) , intent(in) , optional :: header, sep
9148 : character(*, SK) , intent(in) , optional :: deliml, delimr
9149 : character(*, SK) , intent(inout) , optional :: iomsg
9150 : type(trans_type) , intent(in) :: operation
9151 : integer(IK) , intent(in) , optional :: roff
9152 : integer(IK) , intent(in) :: unit
9153 : integer(IK) :: err
9154 : end function
9155 : #endif
9156 :
9157 : #if CK2_ENABLED
9158 : module function getErrTableWriteUnit_TO_D2_CK2(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9159 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9160 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_CK2
9161 : #endif
9162 : use pm_kind, only: CKC => CK2
9163 : complex(CKC) , intent(in) , contiguous :: table(:,:)
9164 : character(*, SK) , intent(in) , optional :: header, sep
9165 : character(*, SK) , intent(in) , optional :: deliml, delimr
9166 : character(*, SK) , intent(inout) , optional :: iomsg
9167 : type(trans_type) , intent(in) :: operation
9168 : integer(IK) , intent(in) , optional :: roff
9169 : integer(IK) , intent(in) :: unit
9170 : integer(IK) :: err
9171 : end function
9172 : #endif
9173 :
9174 : #if CK1_ENABLED
9175 : module function getErrTableWriteUnit_TO_D2_CK1(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9176 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9177 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_CK1
9178 : #endif
9179 : use pm_kind, only: CKC => CK1
9180 : complex(CKC) , intent(in) , contiguous :: table(:,:)
9181 : character(*, SK) , intent(in) , optional :: header, sep
9182 : character(*, SK) , intent(in) , optional :: deliml, delimr
9183 : character(*, SK) , intent(inout) , optional :: iomsg
9184 : type(trans_type) , intent(in) :: operation
9185 : integer(IK) , intent(in) , optional :: roff
9186 : integer(IK) , intent(in) :: unit
9187 : integer(IK) :: err
9188 : end function
9189 : #endif
9190 :
9191 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9192 :
9193 : #if RK5_ENABLED
9194 : module function getErrTableWriteUnit_TO_D2_RK5(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9195 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9196 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_RK5
9197 : #endif
9198 : use pm_kind, only: RKC => RK5
9199 : real(RKC) , intent(in) , contiguous :: table(:,:)
9200 : character(*, SK) , intent(in) , optional :: header, sep
9201 : character(*, SK) , intent(in) , optional :: deliml, delimr
9202 : character(*, SK) , intent(inout) , optional :: iomsg
9203 : type(trans_type) , intent(in) :: operation
9204 : integer(IK) , intent(in) , optional :: roff
9205 : integer(IK) , intent(in) :: unit
9206 : integer(IK) :: err
9207 : end function
9208 : #endif
9209 :
9210 : #if RK4_ENABLED
9211 : module function getErrTableWriteUnit_TO_D2_RK4(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9212 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9213 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_RK4
9214 : #endif
9215 : use pm_kind, only: RKC => RK4
9216 : real(RKC) , intent(in) , contiguous :: table(:,:)
9217 : character(*, SK) , intent(in) , optional :: header, sep
9218 : character(*, SK) , intent(in) , optional :: deliml, delimr
9219 : character(*, SK) , intent(inout) , optional :: iomsg
9220 : type(trans_type) , intent(in) :: operation
9221 : integer(IK) , intent(in) , optional :: roff
9222 : integer(IK) , intent(in) :: unit
9223 : integer(IK) :: err
9224 : end function
9225 : #endif
9226 :
9227 : #if RK3_ENABLED
9228 : module function getErrTableWriteUnit_TO_D2_RK3(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9229 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9230 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_RK3
9231 : #endif
9232 : use pm_kind, only: RKC => RK3
9233 : real(RKC) , intent(in) , contiguous :: table(:,:)
9234 : character(*, SK) , intent(in) , optional :: header, sep
9235 : character(*, SK) , intent(in) , optional :: deliml, delimr
9236 : character(*, SK) , intent(inout) , optional :: iomsg
9237 : type(trans_type) , intent(in) :: operation
9238 : integer(IK) , intent(in) , optional :: roff
9239 : integer(IK) , intent(in) :: unit
9240 : integer(IK) :: err
9241 : end function
9242 : #endif
9243 :
9244 : #if RK2_ENABLED
9245 : module function getErrTableWriteUnit_TO_D2_RK2(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9246 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9247 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_RK2
9248 : #endif
9249 : use pm_kind, only: RKC => RK2
9250 : real(RKC) , intent(in) , contiguous :: table(:,:)
9251 : character(*, SK) , intent(in) , optional :: header, sep
9252 : character(*, SK) , intent(in) , optional :: deliml, delimr
9253 : character(*, SK) , intent(inout) , optional :: iomsg
9254 : type(trans_type) , intent(in) :: operation
9255 : integer(IK) , intent(in) , optional :: roff
9256 : integer(IK) , intent(in) :: unit
9257 : integer(IK) :: err
9258 : end function
9259 : #endif
9260 :
9261 : #if RK1_ENABLED
9262 : module function getErrTableWriteUnit_TO_D2_RK1(unit, table, operation, header, sep, deliml, delimr, roff, iomsg) result(err)
9263 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9264 : !DEC$ ATTRIBUTES DLLEXPORT :: getErrTableWriteUnit_TO_D2_RK1
9265 : #endif
9266 : use pm_kind, only: RKC => RK1
9267 : real(RKC) , intent(in) , contiguous :: table(:,:)
9268 : character(*, SK) , intent(in) , optional :: header, sep
9269 : character(*, SK) , intent(in) , optional :: deliml, delimr
9270 : character(*, SK) , intent(inout) , optional :: iomsg
9271 : type(trans_type) , intent(in) :: operation
9272 : integer(IK) , intent(in) , optional :: roff
9273 : integer(IK) , intent(in) :: unit
9274 : integer(IK) :: err
9275 : end function
9276 : #endif
9277 :
9278 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9279 :
9280 : end interface
9281 :
9282 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9283 :
9284 : !> \brief
9285 : !> Generate and return the best-guess field separator of a (sequential-access) file stored in the input `file`.
9286 : !>
9287 : !> \details
9288 : !> The current algorithm takes an input string from the user containing the set of best-guess single-character separators.<br>
9289 : !> It then counts the frequency of the separators in the **first two lines** from the current file position.<br>
9290 : !> If the file format is list-directed or [CSV](@ref pm_io::csv_type), the searcher will skip singly or doubly quoted strings in each line.<br>
9291 : !> The search will be also skipped into the next line if an opening quotation does not close within the same line (characteristic of CSV files).<br>
9292 : !> Finally, the first input separator whose frequency is the same in both lines is returned as the potential field separator of the file.<br>
9293 : !> At the end of the search, the file position is returned to the original point at entry to the file.
9294 : !>
9295 : !> \param[in] file : The input scalar `character` of default kind \SK containing the path to the file whose separator is to be inferred.<br>
9296 : !> On input, the file position will be rewound to the starting point in the file and the file is closed upon return.<br>
9297 : !> If search from a particular point in the file is desirable, open the file first and pass the file `unit` as input to this generic interface.<br>
9298 : !> (**optional**. It must be present **if and only if** the input argument `unit` is missing.)
9299 : !> \param[in] unit : The input scalar `integer` of default kind \IK containing the unit of the connected file whose separator is to be inferred.<br>
9300 : !> (**optional**. It must be present **if and only if** the input argument `file` is missing.)
9301 : !> \param[in] seps : The input object that can be,<br>
9302 : !> <ol>
9303 : !> <li> a scalar of type `character` of default kind \SK of arbitrary length type parameter,
9304 : !> **each character** of which will be considered as a potential field separator in the file records.<br>
9305 : !> This form of inputting `seps` is useful when all potential separators are single characters.<br>
9306 : !> <li> a vector of type [css_type](@ref pm_container::css_type) container of arbitrary size,
9307 : !> **each element** of which will be considered as a potential field separator in the file records.<br>
9308 : !> This form of inputting `seps` is useful when the potential separators have differing length type parameters.<br>
9309 : !> If there is only one separator candidate, simply wrap the scalar container in
9310 : !> the Fortran intrinsic vector notation `[seps]` and pass it to the interface.<br>
9311 : !> In such a case, the output `sep` is either
9312 : !> <ol>
9313 : !> <li> the input `seps` implying that `sep` is the potential separator in the file record, or
9314 : !> <li> is an empty string implying that the input `seps` is not the record separator,
9315 : !> or otherwise, an error occurred.<br>
9316 : !> </ol>
9317 : !> \param[in] form : The input scalar constant that can be any of the following:<br>
9318 : !> <ol>
9319 : !> <li> the constant [csv](@ref pm_io::csv) or an object of type [csv_type](@ref pm_io::csv_type),
9320 : !> implying that the contents quoted strings must be excluded from the search for the field separators.<br>
9321 : !> <li> the constant [fld](@ref pm_io::fld) or an object of type [fld_type](@ref pm_io::fld_type),
9322 : !> implying that the contents quoted strings must be excluded from the search for the field separators.<br>
9323 : !> Additionally, any multiple adjacent appearances of (unquoted) blank characters will be counted as one separator instance.<br>
9324 : !> </ol>
9325 : !> (**optional**. default = [unknown](@ref pm_io::unknown))
9326 : !> \param[out] nfield : The input scalar `integer` of default kind \IK containing the number of **fields**
9327 : !> (i.e., the number of output `sep` instances per file record plus `1`) identified in each row of file, separated by the output separator.<br>
9328 : !> If no separator is identified (i.e., the output `sep` is empty) and no runtime IO error occurs, the output value for `nfield` is `1`
9329 : !> implying that there is only one field in the file record.<br>
9330 : !> (**optional**.)
9331 : !> \param[inout] iomsg : The input/output scalar `character` of default kind \SK containing the error message, if any error occurs.<br>
9332 : !> A length type parameter value of [LEN_IOMSG](@ref pm_io::LEN_IOMSG) is generally sufficient for `iomsg` to contain the output error messages.<br>
9333 : !> (**optional**. If missing, no information other than an empty output `sep` will be given if the algorithm fails.)
9334 : !>
9335 : !> \return
9336 : !> `sep` : The output `allocatable` scalar `character` of default kind \SK that will contain the inferred separator if the algorithm returns successfully.<br>
9337 : !> Otherwise, the output `sep` will be set to an empty string if,<br>
9338 : !> <ol>
9339 : !> <li> the target file does not exist,
9340 : !> <li> an IO error occurs while reading the file,
9341 : !> <li> the algorithm fails to detect the separator.
9342 : !> </ol>
9343 : !>
9344 : !> \interface{getFieldSep}
9345 : !> \code{.F90}
9346 : !>
9347 : !> use pm_io, only: getFieldSep
9348 : !> character(:, SK), allocatable :: sep
9349 : !>
9350 : !> ! read from the current position in unit.
9351 : !>
9352 : !> sep = getFieldSep(unit, seps, iomsg = iomsg)
9353 : !> sep = getFieldSep(unit, seps, form, iomsg = iomsg)
9354 : !> sep = getFieldSep(unit, seps, nfield, iomsg = iomsg)
9355 : !> sep = getFieldSep(unit, seps, form, nfield, iomsg = iomsg)
9356 : !>
9357 : !> ! read from the starting position in file.
9358 : !>
9359 : !> sep = getFieldSep(file, seps, iomsg = iomsg)
9360 : !> sep = getFieldSep(file, seps, form, iomsg = iomsg)
9361 : !> sep = getFieldSep(file, seps, nfield, iomsg = iomsg)
9362 : !> sep = getFieldSep(file, seps, form, nfield, iomsg = iomsg)
9363 : !>
9364 : !> \endcode
9365 : !>
9366 : !> \warning
9367 : !> The condition `0 < len(seps)` must hold for the corresponding input arguments.<br>
9368 : !> The condition `0 < size(seps)` must hold for the corresponding input arguments.<br>
9369 : !> The condition `all(0 < [(len(seps(i)%val), i = 1, size(seps))]` must hold for the corresponding input arguments.<br>
9370 : !>
9371 : !> \impure
9372 : !>
9373 : !> \see
9374 : !> [setRecordFrom](@ref pm_io::setRecordFrom)<br>
9375 : !> [getContentsFrom](@ref pm_io::getContentsFrom)<br>
9376 : !> [setContentsFrom](@ref pm_io::setContentsFrom)<br>
9377 : !> [isPreconnected](@ref pm_io::isPreconnected)<br>
9378 : !> [getFileUnit](@ref pm_io::getFileUnit)<br>
9379 : !>
9380 : !> \example{getFieldSep}
9381 : !> \include{lineno} example/pm_io/getFieldSep/main.F90
9382 : !> \compilef{getFieldSep}
9383 : !> \output{getFieldSep}
9384 : !> \include{lineno} example/pm_io/getFieldSep/main.out.F90
9385 : !>
9386 : !> \test
9387 : !> [test_pm_io](@ref test_pm_io)
9388 : !>
9389 : !> \todo
9390 : !> \pmed
9391 : !> An `optional` input argument `maxlenfield` must be added to return the maximum inferred length of a field in all records of the table.<br>
9392 : !> This option is potentially useful for parsing tables of string fields, where the proper field lengths is unknown a priori.<br>
9393 : !> Without this option, the `read` action may fail or otherwise, long fields would be truncated to fit the fixed length of `table` fields.<br>
9394 : !>
9395 : !> \todo
9396 : !> \pmed
9397 : !> The `optional` input arguments `deliml` and `delimr` of rank `1` of type [css_type](@ref pm_container::css_type)
9398 : !> must be added to allow field recognition with arbitrary left/right delimiters within a record.<br>
9399 : !>
9400 : !> \finmain{getFieldSep}
9401 : !>
9402 : !> \author
9403 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
9404 :
9405 : ! seps scalar character scalar nfield missing XX
9406 :
9407 : interface getFieldSep
9408 :
9409 : module function getFieldSepFile_ID0_FDEF_XX_SK(file, seps, iomsg) result(sep)
9410 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9411 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepFile_ID0_FDEF_XX_SK
9412 : #endif
9413 : use pm_kind, only: SKC => SK
9414 : character(*, SK) , intent(in) :: file
9415 : character(*,SKC) , intent(in) :: seps
9416 : character(*,SKC) , intent(inout) , optional :: iomsg
9417 : character(:,SKC) , allocatable :: sep
9418 : end function
9419 :
9420 : module function getFieldSepUnit_ID0_FDEF_XX_SK(unit, seps, iomsg) result(sep)
9421 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9422 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepUnit_ID0_FDEF_XX_SK
9423 : #endif
9424 : use pm_kind, only: SKC => SK
9425 : integer(IK) , intent(in) :: unit
9426 : character(*,SKC) , intent(in) :: seps
9427 : character(*,SKC) , intent(inout) , optional :: iomsg
9428 : character(:,SKC) , allocatable :: sep
9429 : end function
9430 :
9431 : module function getFieldSepFile_ID0_FCSV_XX_SK(file, seps, form, iomsg) result(sep)
9432 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9433 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepFile_ID0_FCSV_XX_SK
9434 : #endif
9435 : use pm_kind, only: SKC => SK
9436 : character(*, SK) , intent(in) :: file
9437 : character(*,SKC) , intent(in) :: seps
9438 : type(csv_type) , intent(in) :: form
9439 : character(*,SKC) , intent(inout) , optional :: iomsg
9440 : character(:,SKC) , allocatable :: sep
9441 : end function
9442 :
9443 : module function getFieldSepUnit_ID0_FCSV_XX_SK(unit, seps, form, iomsg) result(sep)
9444 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9445 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepUnit_ID0_FCSV_XX_SK
9446 : #endif
9447 : use pm_kind, only: SKC => SK
9448 : integer(IK) , intent(in) :: unit
9449 : character(*,SKC) , intent(in) :: seps
9450 : type(csv_type) , intent(in) :: form
9451 : character(*,SKC) , intent(inout) , optional :: iomsg
9452 : character(:,SKC) , allocatable :: sep
9453 : end function
9454 :
9455 : module function getFieldSepFile_ID0_FFLD_XX_SK(file, seps, form, iomsg) result(sep)
9456 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9457 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepFile_ID0_FFLD_XX_SK
9458 : #endif
9459 : use pm_kind, only: SKC => SK
9460 : character(*, SK) , intent(in) :: file
9461 : character(*,SKC) , intent(in) :: seps
9462 : type(fld_type) , intent(in) :: form
9463 : character(*,SKC) , intent(inout) , optional :: iomsg
9464 : character(:,SKC) , allocatable :: sep
9465 : end function
9466 :
9467 : module function getFieldSepUnit_ID0_FFLD_XX_SK(unit, seps, form, iomsg) result(sep)
9468 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9469 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepUnit_ID0_FFLD_XX_SK
9470 : #endif
9471 : use pm_kind, only: SKC => SK
9472 : integer(IK) , intent(in) :: unit
9473 : character(*,SKC) , intent(in) :: seps
9474 : type(fld_type) , intent(in) :: form
9475 : character(*,SKC) , intent(inout) , optional :: iomsg
9476 : character(:,SKC) , allocatable :: sep
9477 : end function
9478 :
9479 : end interface
9480 :
9481 : ! seps scalar character nfield present NF
9482 :
9483 : interface getFieldSep
9484 :
9485 : module function getFieldSepFile_ID0_FDEF_NF_SK(file, seps, nfield, iomsg) result(sep)
9486 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9487 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepFile_ID0_FDEF_NF_SK
9488 : #endif
9489 : use pm_kind, only: SKC => SK
9490 : character(*, SK) , intent(in) :: file
9491 : character(*,SKC) , intent(in) :: seps
9492 : character(*,SKC) , intent(inout) , optional :: iomsg
9493 : character(:,SKC) , allocatable :: sep
9494 : integer(IK) , intent(out) :: nfield
9495 : end function
9496 :
9497 : module function getFieldSepUnit_ID0_FDEF_NF_SK(unit, seps, nfield, iomsg) result(sep)
9498 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9499 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepUnit_ID0_FDEF_NF_SK
9500 : #endif
9501 : use pm_kind, only: SKC => SK
9502 : integer(IK) , intent(in) :: unit
9503 : character(*,SKC) , intent(in) :: seps
9504 : character(*,SKC) , intent(inout) , optional :: iomsg
9505 : character(:,SKC) , allocatable :: sep
9506 : integer(IK) , intent(out) :: nfield
9507 : end function
9508 :
9509 : module function getFieldSepFile_ID0_FCSV_NF_SK(file, seps, form, nfield, iomsg) result(sep)
9510 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9511 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepFile_ID0_FCSV_NF_SK
9512 : #endif
9513 : use pm_kind, only: SKC => SK
9514 : character(*, SK) , intent(in) :: file
9515 : character(*,SKC) , intent(in) :: seps
9516 : type(csv_type) , intent(in) :: form
9517 : character(*,SKC) , intent(inout) , optional :: iomsg
9518 : character(:,SKC) , allocatable :: sep
9519 : integer(IK) , intent(out) :: nfield
9520 : end function
9521 :
9522 : module function getFieldSepUnit_ID0_FCSV_NF_SK(unit, seps, form, nfield, iomsg) result(sep)
9523 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9524 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepUnit_ID0_FCSV_NF_SK
9525 : #endif
9526 : use pm_kind, only: SKC => SK
9527 : integer(IK) , intent(in) :: unit
9528 : character(*,SKC) , intent(in) :: seps
9529 : type(csv_type) , intent(in) :: form
9530 : character(*,SKC) , intent(inout) , optional :: iomsg
9531 : character(:,SKC) , allocatable :: sep
9532 : integer(IK) , intent(out) :: nfield
9533 : end function
9534 :
9535 : module function getFieldSepFile_ID0_FFLD_NF_SK(file, seps, form, nfield, iomsg) result(sep)
9536 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9537 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepFile_ID0_FFLD_NF_SK
9538 : #endif
9539 : use pm_kind, only: SKC => SK
9540 : character(*, SK) , intent(in) :: file
9541 : character(*,SKC) , intent(in) :: seps
9542 : type(fld_type) , intent(in) :: form
9543 : character(*,SKC) , intent(inout) , optional :: iomsg
9544 : character(:,SKC) , allocatable :: sep
9545 : integer(IK) , intent(out) :: nfield
9546 : end function
9547 :
9548 : module function getFieldSepUnit_ID0_FFLD_NF_SK(unit, seps, form, nfield, iomsg) result(sep)
9549 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9550 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepUnit_ID0_FFLD_NF_SK
9551 : #endif
9552 : use pm_kind, only: SKC => SK
9553 : integer(IK) , intent(in) :: unit
9554 : character(*,SKC) , intent(in) :: seps
9555 : type(fld_type) , intent(in) :: form
9556 : character(*,SKC) , intent(inout) , optional :: iomsg
9557 : character(:,SKC) , allocatable :: sep
9558 : integer(IK) , intent(out) :: nfield
9559 : end function
9560 :
9561 : end interface
9562 :
9563 : ! seps scalar container scalar nfield missing XX
9564 :
9565 : interface getFieldSep
9566 :
9567 : module function getFieldSepFile_CD1_FDEF_XX_SK(file, seps, iomsg) result(sep)
9568 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9569 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepFile_CD1_FDEF_XX_SK
9570 : #endif
9571 : use pm_kind, only: SKC => SK
9572 : character(*, SK) , intent(in) :: file
9573 : type(css_type) , intent(in) :: seps(:)
9574 : character(*,SKC) , intent(inout) , optional :: iomsg
9575 : character(:,SKC) , allocatable :: sep
9576 : end function
9577 :
9578 : module function getFieldSepUnit_CD1_FDEF_XX_SK(unit, seps, iomsg) result(sep)
9579 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9580 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepUnit_CD1_FDEF_XX_SK
9581 : #endif
9582 : use pm_kind, only: SKC => SK
9583 : integer(IK) , intent(in) :: unit
9584 : type(css_type) , intent(in) :: seps(:)
9585 : character(*,SKC) , intent(inout) , optional :: iomsg
9586 : character(:,SKC) , allocatable :: sep
9587 : end function
9588 :
9589 : module function getFieldSepFile_CD1_FCSV_XX_SK(file, seps, form, iomsg) result(sep)
9590 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9591 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepFile_CD1_FCSV_XX_SK
9592 : #endif
9593 : use pm_kind, only: SKC => SK
9594 : character(*, SK) , intent(in) :: file
9595 : type(css_type) , intent(in) :: seps(:)
9596 : type(csv_type) , intent(in) :: form
9597 : character(*,SKC) , intent(inout) , optional :: iomsg
9598 : character(:,SKC) , allocatable :: sep
9599 : end function
9600 :
9601 : module function getFieldSepUnit_CD1_FCSV_XX_SK(unit, seps, form, iomsg) result(sep)
9602 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9603 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepUnit_CD1_FCSV_XX_SK
9604 : #endif
9605 : use pm_kind, only: SKC => SK
9606 : integer(IK) , intent(in) :: unit
9607 : type(css_type) , intent(in) :: seps(:)
9608 : type(csv_type) , intent(in) :: form
9609 : character(*,SKC) , intent(inout) , optional :: iomsg
9610 : character(:,SKC) , allocatable :: sep
9611 : end function
9612 :
9613 : module function getFieldSepFile_CD1_FFLD_XX_SK(file, seps, form, iomsg) result(sep)
9614 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9615 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepFile_CD1_FFLD_XX_SK
9616 : #endif
9617 : use pm_kind, only: SKC => SK
9618 : character(*, SK) , intent(in) :: file
9619 : type(css_type) , intent(in) :: seps(:)
9620 : type(fld_type) , intent(in) :: form
9621 : character(*,SKC) , intent(inout) , optional :: iomsg
9622 : character(:,SKC) , allocatable :: sep
9623 : end function
9624 :
9625 : module function getFieldSepUnit_CD1_FFLD_XX_SK(unit, seps, form, iomsg) result(sep)
9626 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9627 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepUnit_CD1_FFLD_XX_SK
9628 : #endif
9629 : use pm_kind, only: SKC => SK
9630 : integer(IK) , intent(in) :: unit
9631 : type(css_type) , intent(in) :: seps(:)
9632 : type(fld_type) , intent(in) :: form
9633 : character(*,SKC) , intent(inout) , optional :: iomsg
9634 : character(:,SKC) , allocatable :: sep
9635 : end function
9636 :
9637 : end interface
9638 :
9639 : ! seps scalar container nfield present NF
9640 :
9641 : interface getFieldSep
9642 :
9643 : module function getFieldSepFile_CD1_FDEF_NF_SK(file, seps, nfield, iomsg) result(sep)
9644 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9645 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepFile_CD1_FDEF_NF_SK
9646 : #endif
9647 : use pm_kind, only: SKC => SK
9648 : character(*, SK) , intent(in) :: file
9649 : type(css_type) , intent(in) :: seps(:)
9650 : character(*,SKC) , intent(inout) , optional :: iomsg
9651 : character(:,SKC) , allocatable :: sep
9652 : integer(IK) , intent(out) :: nfield
9653 : end function
9654 :
9655 : module function getFieldSepUnit_CD1_FDEF_NF_SK(unit, seps, nfield, iomsg) result(sep)
9656 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9657 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepUnit_CD1_FDEF_NF_SK
9658 : #endif
9659 : use pm_kind, only: SKC => SK
9660 : integer(IK) , intent(in) :: unit
9661 : type(css_type) , intent(in) :: seps(:)
9662 : character(*,SKC) , intent(inout) , optional :: iomsg
9663 : character(:,SKC) , allocatable :: sep
9664 : integer(IK) , intent(out) :: nfield
9665 : end function
9666 :
9667 : module function getFieldSepFile_CD1_FCSV_NF_SK(file, seps, form, nfield, iomsg) result(sep)
9668 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9669 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepFile_CD1_FCSV_NF_SK
9670 : #endif
9671 : use pm_kind, only: SKC => SK
9672 : character(*, SK) , intent(in) :: file
9673 : type(css_type) , intent(in) :: seps(:)
9674 : type(csv_type) , intent(in) :: form
9675 : character(*,SKC) , intent(inout) , optional :: iomsg
9676 : character(:,SKC) , allocatable :: sep
9677 : integer(IK) , intent(out) :: nfield
9678 : end function
9679 :
9680 : module function getFieldSepUnit_CD1_FCSV_NF_SK(unit, seps, form, nfield, iomsg) result(sep)
9681 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9682 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepUnit_CD1_FCSV_NF_SK
9683 : #endif
9684 : use pm_kind, only: SKC => SK
9685 : integer(IK) , intent(in) :: unit
9686 : type(css_type) , intent(in) :: seps(:)
9687 : type(csv_type) , intent(in) :: form
9688 : character(*,SKC) , intent(inout) , optional :: iomsg
9689 : character(:,SKC) , allocatable :: sep
9690 : integer(IK) , intent(out) :: nfield
9691 : end function
9692 :
9693 : module function getFieldSepFile_CD1_FFLD_NF_SK(file, seps, form, nfield, iomsg) result(sep)
9694 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9695 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepFile_CD1_FFLD_NF_SK
9696 : #endif
9697 : use pm_kind, only: SKC => SK
9698 : character(*, SK) , intent(in) :: file
9699 : type(css_type) , intent(in) :: seps(:)
9700 : type(fld_type) , intent(in) :: form
9701 : character(*,SKC) , intent(inout) , optional :: iomsg
9702 : character(:,SKC) , allocatable :: sep
9703 : integer(IK) , intent(out) :: nfield
9704 : end function
9705 :
9706 : module function getFieldSepUnit_CD1_FFLD_NF_SK(unit, seps, form, nfield, iomsg) result(sep)
9707 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
9708 : !DEC$ ATTRIBUTES DLLEXPORT :: getFieldSepUnit_CD1_FFLD_NF_SK
9709 : #endif
9710 : use pm_kind, only: SKC => SK
9711 : integer(IK) , intent(in) :: unit
9712 : type(css_type) , intent(in) :: seps(:)
9713 : type(fld_type) , intent(in) :: form
9714 : character(*,SKC) , intent(inout) , optional :: iomsg
9715 : character(:,SKC) , allocatable :: sep
9716 : integer(IK) , intent(out) :: nfield
9717 : end function
9718 :
9719 : end interface
9720 :
9721 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9722 :
9723 : !> \brief
9724 : !> This is the derived type for constructing objects that contain the specifications of the [getStrWrapped](@ref pm_str::getStrWrapped)
9725 : !> dynamic method of objects of derived type [wrap_type](@ref pm_io::wrap_type).<br>
9726 : !>
9727 : !> \details
9728 : !> See the documentation of [display_type](@ref pm_io::display_type) for further details and example usage.<br>
9729 : !>
9730 : !> \param[in] newline : The input scalar of type `character` of default kind \SK of arbitrary length type parameter.<br>
9731 : !> For details, see the description of the corresponding argument of the [wrap_type%%wrap](@ref pm_io::wrap) dynamic method of the derived type [display_type](@ref pm_io::display_type).<br>
9732 : !> (**optional**. The default value is set as described in the documentation of the corresponding argument of [wrap_type%%wrap](@ref pm_io::wrap).)
9733 : !> \param[in] fill : The input scalar of type `character` of default kind \SK of arbitrary length type parameter.<br>
9734 : !> For details, see the description of the corresponding argument of the [wrap_type%%wrap](@ref pm_io::wrap) dynamic method of the derived type [display_type](@ref pm_io::display_type).<br>
9735 : !> (**optional**. The default value is set as described in the documentation of the corresponding argument of [wrap_type%%wrap](@ref pm_io::wrap).)
9736 : !> \param[in] lwfill : The input scalar of type `character` of default kind \SK of arbitrary length type parameter.<br>
9737 : !> For details, see the description of the corresponding argument of the [wrap_type%%wrap](@ref pm_io::wrap) dynamic method of the derived type [display_type](@ref pm_io::display_type).<br>
9738 : !> (**optional**. The default value is set as described in the documentation of the corresponding argument of [wrap_type%%wrap](@ref pm_io::wrap).)
9739 : !> \param[in] rwfill : The input scalar of type `character` of default kind \SK of arbitrary length type parameter.<br>
9740 : !> For details, see the description of the corresponding argument of the [wrap_type%%wrap](@ref pm_io::wrap) dynamic method of the derived type [display_type](@ref pm_io::display_type).<br>
9741 : !> (**optional**. The default value is set as described in the documentation of the corresponding argument of [wrap_type%%wrap](@ref pm_io::wrap).)
9742 : !> \param[in] twfill : The input scalar of type `character` of default kind \SK of arbitrary length type parameter.<br>
9743 : !> For details, see the description of the corresponding argument of the [wrap_type%%wrap](@ref pm_io::wrap) dynamic method of the derived type [display_type](@ref pm_io::display_type).<br>
9744 : !> (**optional**. The default value is set as described in the documentation of the corresponding argument of [wrap_type%%wrap](@ref pm_io::wrap).)
9745 : !> \param[in] bwfill : The input scalar of type `character` of default kind \SK of arbitrary length type parameter.<br>
9746 : !> For details, see the description of the corresponding argument of the [wrap_type%%wrap](@ref pm_io::wrap) dynamic method of the derived type [display_type](@ref pm_io::display_type).<br>
9747 : !> (**optional**. The default value is set as described in the documentation of the corresponding argument of [wrap_type%%wrap](@ref pm_io::wrap).)
9748 : !> \param[in] lwsize : The input scalar `integer` of default kind \IK.<br>
9749 : !> For details, see the description of the corresponding argument of the [wrap_type%%wrap](@ref pm_io::wrap) dynamic method of the derived type [display_type](@ref pm_io::display_type).<br>
9750 : !> (**optional**. The default value is set as described in the documentation of the corresponding argument of [wrap_type%%wrap](@ref pm_io::wrap).)
9751 : !> \param[in] rwsize : The input scalar `integer` of default kind \IK.<br>
9752 : !> For details, see the description of the corresponding argument of the [wrap_type%%wrap](@ref pm_io::wrap) dynamic method of the derived type [display_type](@ref pm_io::display_type).<br>
9753 : !> (**optional**. The default value is set as described in the documentation of the corresponding argument of [wrap_type%%wrap](@ref pm_io::wrap).)
9754 : !> \param[in] twsize : The input scalar `integer` of default kind \IK.<br>
9755 : !> For details, see the description of the corresponding argument of the [wrap_type%%wrap](@ref pm_io::wrap) dynamic method of the derived type [display_type](@ref pm_io::display_type).<br>
9756 : !> (**optional**. The default value is set as described in the documentation of the corresponding argument of [wrap_type%%wrap](@ref pm_io::wrap).)
9757 : !> \param[in] bwsize : The input scalar `integer` of default kind \IK.<br>
9758 : !> For details, see the description of the corresponding argument of the [wrap_type%%wrap](@ref pm_io::wrap) dynamic method of the derived type [display_type](@ref pm_io::display_type).<br>
9759 : !> (**optional**. The default value is set as described in the documentation of the corresponding argument of [wrap_type%%wrap](@ref pm_io::wrap).)
9760 : !> \param[in] tmsize : The input scalar `integer` of default kind \IK representing the number of rows in the display to skip before printing the wrapped `str`.<br>
9761 : !> (**optional**, default = `0_IK`)
9762 : !> \param[in] bmsize : The input scalar `integer` of default kind \IK representing the number of rows in the display to skip after printing the wrapped `str`.<br>
9763 : !> (**optional**, default = `0_IK`)
9764 : !> \param[in] width : The input scalar `integer` of default kind \IK.<br>
9765 : !> For details, see the description of the corresponding argument of the [wrap_type%%wrap](@ref pm_io::wrap) dynamic method of the derived type [display_type](@ref pm_io::display_type).<br>
9766 : !> (**optional**. The default value is set as described in the documentation of the corresponding argument of [wrap_type%%wrap](@ref pm_io::wrap).)
9767 : !> \param[in] unit : The input scalar `integer` of default kind \IK representing the output display unit number where the text will be displayed.<br>
9768 : !> (**optional**, default = `output_unit` from `iso_fortran_env` intrinsic module.)
9769 : !> \param[in] sticky : The input scalar of type `logical` of default kind \LK.<br>
9770 : !> If `.true.`, the global properties (i.e., components) of the object of class [wrap_type](@ref pm_io::wrap_type)
9771 : !> can be overridden by the corresponding arguments passed to the dynamic methods of the object.<br>
9772 : !> (**optional**, default = `.false.`)
9773 : !>
9774 : !> \interface{wrap_type}
9775 : !> \code{.F90}
9776 : !>
9777 : !> use pm_io, only: wrap_type
9778 : !> type(wrap_type) :: wrap
9779 : !>
9780 : !> wrap = wrap_type( newline = newline &
9781 : !> , fill = fill &
9782 : !> , lwfill = lwfill &
9783 : !> , rwfill = rwfill &
9784 : !> , twfill = twfill &
9785 : !> , bwfill = bwfill &
9786 : !> , lwsize = lwsize &
9787 : !> , rwsize = rwsize &
9788 : !> , twsize = twsize &
9789 : !> , bwsize = bwsize &
9790 : !> , tmsize = tmsize &
9791 : !> , bmsize = bmsize &
9792 : !> , width = width &
9793 : !> , sticky = sticky &
9794 : !> )
9795 : !>
9796 : !> \endcode
9797 : !>
9798 : !> \devnote
9799 : !> The allocation status of the components is used as the actual argument presence within the derived type methods.<br>
9800 : !>
9801 : !> \see
9802 : !> [wrap_type](@ref pm_io::wrap_type)<br>
9803 : !> [mark_type](@ref pm_err::mark_type)<br>
9804 : !> [note_type](@ref pm_err::note_type)<br>
9805 : !> [warn_type](@ref pm_err::warn_type)<br>
9806 : !> [stop_type](@ref pm_err::stop_type)<br>
9807 : !> [wrap_type%%wrap()](@ref pm_io::wrap)<br>
9808 : !> [display_type%%show()](@ref pm_io::show)<br>
9809 : !> [display_type%%skip()](@ref pm_io::skip)<br>
9810 : !> [display_type%%text](@ref pm_io::wrap_type)<br>
9811 : !> [getStrWrapped](@ref pm_str::getStrWrapped)<br>
9812 : !> [getCentered](@ref pm_arrayCenter::getCentered)<br>
9813 : !> [setCentered](@ref pm_arrayCenter::setCentered)<br>
9814 : !> [isFailedGetShellWidth](@ref pm_sysShell::isFailedGetShellWidth)<br>
9815 : !> [isFailedGetShellHeight](@ref pm_sysShell::isFailedGetShellHeight)<br>
9816 : !>
9817 : !> \example{wrap_type}
9818 : !> \include{lineno} example/pm_io/wrap_type/main.F90
9819 : !> \compilef{wrap_type}
9820 : !> \output{wrap_type}
9821 : !> \include{lineno} example/pm_io/wrap_type/main.out.F90
9822 : !>
9823 : !> \test
9824 : !> [test_pm_io](@ref test_pm_io)
9825 : !>
9826 : !> \finmain{wrap_type}
9827 : !>
9828 : !> \author
9829 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
9830 : type :: wrap_type
9831 : character(:, SK), allocatable , public :: newline !< \public See the description of the corresponding argument in the default constructor of [wrap_type](@ref pm_io::wrap_type).
9832 : character(:, SK), allocatable , public :: fill !< \public See the description of the corresponding argument in the default constructor of [wrap_type](@ref pm_io::wrap_type).
9833 : character(:, SK), allocatable , public :: lwfill !< \public See the description of the corresponding argument in the default constructor of [wrap_type](@ref pm_io::wrap_type).
9834 : character(:, SK), allocatable , public :: rwfill !< \public See the description of the corresponding argument in the default constructor of [wrap_type](@ref pm_io::wrap_type).
9835 : character(:, SK), allocatable , public :: twfill !< \public See the description of the corresponding argument in the default constructor of [wrap_type](@ref pm_io::wrap_type).
9836 : character(:, SK), allocatable , public :: bwfill !< \public See the description of the corresponding argument in the default constructor of [wrap_type](@ref pm_io::wrap_type).
9837 : integer(IK) , public :: lwsize = 2_IK !< \public See the description of the corresponding argument in the default constructor of [wrap_type](@ref pm_io::wrap_type).
9838 : integer(IK) , public :: rwsize = 2_IK !< \public See the description of the corresponding argument in the default constructor of [wrap_type](@ref pm_io::wrap_type).
9839 : integer(IK) , public :: twsize = 1_IK !< \public See the description of the corresponding argument in the default constructor of [wrap_type](@ref pm_io::wrap_type).
9840 : integer(IK) , public :: bwsize = 1_IK !< \public See the description of the corresponding argument in the default constructor of [wrap_type](@ref pm_io::wrap_type).
9841 : integer(IK) , public :: tmsize = 0_IK !< \public See the description of the corresponding argument in the default constructor of [wrap_type](@ref pm_io::wrap_type).
9842 : integer(IK) , public :: bmsize = 0_IK !< \public See the description of the corresponding argument in the default constructor of [wrap_type](@ref pm_io::wrap_type).
9843 : integer(IK) , public :: width = 96_IK !< \public See the description of the corresponding argument in the default constructor of [wrap_type](@ref pm_io::wrap_type).
9844 : integer(IK) , public :: unit = output_unit !< \public See the description of the corresponding argument in the default constructor of [wrap_type](@ref pm_io::wrap_type).
9845 : logical(LK) , private :: sticky = .false._LK !< \public See the description of the corresponding argument in the default constructor of [wrap_type](@ref pm_io::wrap_type).
9846 : logical(LK) , private :: uninit = .true._LK !< \public The scalar of type `logical` of default kind \LK that is `.true.` if and only if the object has not been initialized for the first time.
9847 : contains
9848 : !> \cond excluded
9849 : #if SK5_ENABLED
9850 : procedure, pass, private :: wrap_D0_SK5
9851 : generic :: wrap => wrap_D0_SK5
9852 : #endif
9853 : #if SK4_ENABLED
9854 : procedure, pass, private :: wrap_D0_SK4
9855 : generic :: wrap => wrap_D0_SK4
9856 : #endif
9857 : #if SK3_ENABLED
9858 : procedure, pass, private :: wrap_D0_SK3
9859 : generic :: wrap => wrap_D0_SK3
9860 : #endif
9861 : #if SK2_ENABLED
9862 : procedure, pass, private :: wrap_D0_SK2
9863 : generic :: wrap => wrap_D0_SK2
9864 : #endif
9865 : #if SK1_ENABLED
9866 : procedure, pass, private :: wrap_D0_SK1
9867 : generic :: wrap => wrap_D0_SK1
9868 : #endif
9869 : !> \endcond excluded
9870 : end type
9871 :
9872 : !> \brief
9873 : !> This is a generic method of the derived type [display_type](@ref pm_io::display_type) with `pass` attribute.<br>
9874 : !>
9875 : !> \details
9876 : !> This method centers the input string `str` within the specified `width`, adds margins as requested on all sides, then displays the wrapped string in the output display.<br>
9877 : !>
9878 : !> \note
9879 : !> <ul>
9880 : !> <li> The procedures under this generic interface **do not perform any wrapping** of the input text as done by [getStrWrapped](@ref pm_str::getStrWrapped).<br>
9881 : !> <li> If needed, the input `str` must have been already wrapped via [getStrWrapped](@ref pm_str::getStrWrapped) with the desired input `newline`.<br>
9882 : !> <li> The procedures under this generic interface only **sandwich each line** in the input `str` with the specified left and right margins, then display the wrapped (sandwiched) lines.<br>
9883 : !> <li> If there are multiple lines within the input `str`, then they are all lef/right sandwiched in order, then displayed.<br>
9884 : !> <li> If top/bottom margins are also specified, then the entire set of output sandwiched lines is also collectively sandwiched by a top and a bottom margin, then displayed.<br>
9885 : !> </ul>
9886 : !>
9887 : !> \param[in] str : The input scalar of type `character` of kind \SKALL that is to be wrapped (sandwiched).
9888 : !> \param[in] newline : The input scalar of the same type and kind as the input `str` of arbitrary length type parameter,
9889 : !> whose contents represent the dividing point between separate lines in the input `str` to display.<br>
9890 : !> For example, if the string contains the C-style newline character \f$\ms{\n}\f$, then set \f$\ms{newline = '\\n'}\f$.<br>
9891 : !> See also the documentation of the corresponding argument in [getStrWrapped](@ref pm_str::getStrWrapped).<br>
9892 : !> (**optional**, default = `new_line(SKC_"a")` where `SKC` refers to the kind of `str`.)
9893 : !> \param[in] fill : The input scalar of the same type and kind as the input `str` of length type parameter `len = 1`,
9894 : !> containing the value to fill the area between the content and left/right wrap margin in each line of the wrapped `str` in the display.<br>
9895 : !> For more details, see the documentation of the corresponding argument in [getCentered](@ref pm_arrayCenter::getCentered).<br>
9896 : !> (**optional**, default = `SKC_" "` where `SKC` is the kind of the input argument `str`.)
9897 : !> \param[in] lwfill : The input scalar of the same type and kind as the input `str` of length type parameter `len = 1`,
9898 : !> containing the value to fill the left wrap margin of each line of the wrapped `str` in the display.<br>
9899 : !> For more details, see the documentation of the corresponding argument in [getCentered](@ref pm_arrayCenter::getCentered).<br>
9900 : !> (**optional**, default = [MFILL](@ref pm_io::MFILL))
9901 : !> \param[in] rwfill : The input scalar of the same type and kind as the input `str` of length type parameter `len = 1`,
9902 : !> containing the value to fill the right wrap margin of each line of the wrapped `str` in the display.<br>
9903 : !> For more details, see the documentation of the corresponding argument in [getCentered](@ref pm_arrayCenter::getCentered).<br>
9904 : !> (**optional**, default = [MFILL](@ref pm_io::MFILL))
9905 : !> \param[in] twfill : The input scalar of the same type and kind as the input `str` of length type parameter `len = 1`,
9906 : !> containing the value to fill the top wrap margin of each line of the wrapped `str` in the display.<br>
9907 : !> (**optional**, default = [MFILL](@ref pm_io::MFILL))
9908 : !> \param[in] bwfill : The input scalar of the same type and kind as the input `str` of length type parameter `len = 1`,
9909 : !> containing the value to fill the bottom wrap margin of each line of the wrapped `str` in the display.<br>
9910 : !> (**optional**, default = [MFILL](@ref pm_io::MFILL))
9911 : !> \param[in] lwsize : The input scalar `integer` of default kind \IK representing the size of the left wrap margin of each line of the wrapped `str` in the display.<br>
9912 : !> For more details, see the documentation of the corresponding argument in [getCentered](@ref pm_arrayCenter::getCentered).<br>
9913 : !> (**optional**, default = `2_IK`)
9914 : !> \param[in] rwsize : The input scalar `integer` of default kind \IK representing the size of the right wrap margin of each line of the wrapped `str` in the display.<br>
9915 : !> For more details, see the documentation of the corresponding argument in [getCentered](@ref pm_arrayCenter::getCentered).<br>
9916 : !> (**optional**, default = `2_IK`)
9917 : !> \param[in] twsize : The input scalar `integer` of default kind \IK representing the size of the top wrap margin of the wrapped `str` in the display.<br>
9918 : !> For more details, see the documentation of the corresponding argument in [getCentered](@ref pm_arrayCenter::getCentered).<br>
9919 : !> (**optional**, default = `1_IK`)
9920 : !> \param[in] bwsize : The input scalar `integer` of default kind \IK representing the size of the bottom wrap margin of the wrapped `str` in the display.<br>
9921 : !> For more details, see the documentation of the corresponding argument in [getCentered](@ref pm_arrayCenter::getCentered).<br>
9922 : !> (**optional**, default = `1_IK`)
9923 : !> \param[in] tmsize : The input scalar `integer` of default kind \IK representing the number of rows in the display to skip before printing the wrapped `str` (i.e., the top margin).<br>
9924 : !> (**optional**, default = `0_IK`)
9925 : !> \param[in] bmsize : The input scalar `integer` of default kind \IK representing the number of rows in the display to skip after printing the wrapped `str` (i.e., the bottom margin).<br>
9926 : !> (**optional**, default = `0_IK`)
9927 : !> \param[in] width : The input scalar `integer` of default kind \IK representing the width of the contents of each wrapped line in the display.<br>
9928 : !> For more details, see the documentation of the `size` argument in [getCentered](@ref pm_arrayCenter::getCentered).<br>
9929 : !> Note that the full length of each line in the display is `lwsize + width + rwsize`.
9930 : !> (**optional**, default = `92_IK`)
9931 : !> \param[in] unit : The input scalar `integer` of default kind \IK representing the output display unit number where the text will be displayed.<br>
9932 : !> (**optional**, default = `display_type%%unit`)
9933 : !> \param[in] sticky : The input scalar of type `logical` of default kind \LK.<br>
9934 : !> If `.true.`, the global properties (i.e., components) of the object of class [wrap_type](@ref pm_io::wrap_type)
9935 : !> can be overridden by the corresponding arguments passed to the dynamic methods of the object.<br>
9936 : !> (**optional**, default = `.false.`)
9937 : !>
9938 : !> \interface{wrap}
9939 : !> \code{.F90}
9940 : !>
9941 : !> use pm_io, only: wrap_type
9942 : !> type(wrap_type) :: text
9943 : !>
9944 : !> call text%wrap( str &
9945 : !> , newline = newline &
9946 : !> , fill = fill &
9947 : !> , lwfill = lwfill &
9948 : !> , rwfill = rwfill &
9949 : !> , twfill = twfill &
9950 : !> , bwfill = bwfill &
9951 : !> , lwsize = lwsize &
9952 : !> , rwsize = rwsize &
9953 : !> , twsize = twsize &
9954 : !> , bwsize = bwsize &
9955 : !> , tmsize = tmsize &
9956 : !> , bmsize = bmsize &
9957 : !> , width = width &
9958 : !> , unit = unit &
9959 : !> , sticky = sticky &
9960 : !> )
9961 : !>
9962 : !> \endcode
9963 : !>
9964 : !> \warning
9965 : !> Any overflow of a single line beyond the specified `width` is handled as described in the documentation of [getCentered](@ref pm_arrayCenter::getCentered).<br>
9966 : !>
9967 : !> \impure
9968 : !>
9969 : !> \note
9970 : !> If the input `str` is potentially longer than the specified `width`, the overflowed text will be symmetrically cut from the beginning and the end of the `str`.<br>
9971 : !> To avoid this behavior, `str` can be first passed to [getStrWrapped](@ref pm_str::getStrWrapped) to wrap it within the desired `width`.<br>
9972 : !> The resulting `strWrapped` can be then passed to the procedures under this generic interface for centering, sandwiching, and displaying it.<br>
9973 : !> This avoids the usually unnecessary and costly wrapping of the input `str` with the specified `width` by this interface.
9974 : !>
9975 : !> \see
9976 : !> [getStrWrapped](@ref pm_str::getStrWrapped)<br>
9977 : !> [getCentered](@ref pm_arrayCenter::getCentered)<br>
9978 : !> [setCentered](@ref pm_arrayCenter::setCentered)<br>
9979 : !> [isFailedGetShellWidth](@ref pm_sysShell::isFailedGetShellWidth)<br>
9980 : !> [isFailedGetShellHeight](@ref pm_sysShell::isFailedGetShellHeight)<br>
9981 : !>
9982 : !> \example{wrap}
9983 : !> \include{lineno} example/pm_io/wrap_type/main.F90
9984 : !> \compilef{wrap}
9985 : !> \output{wrap}
9986 : !> \include{lineno} example/pm_io/wrap_type/main.out.F90
9987 : !>
9988 : !> \test
9989 : !> [test_pm_io](@ref test_pm_io)
9990 : !>
9991 : !> \finmain
9992 : !>
9993 : !> \author
9994 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
9995 : interface wrap
9996 :
9997 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9998 :
9999 : #if SK5_ENABLED
10000 : impure module subroutine wrap_D0_SK5(self, str, newline, fill, lwfill, rwfill, twfill, bwfill, lwsize, rwsize, twsize, bwsize, tmsize, bmsize, width, unit, sticky)
10001 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10002 : !DEC$ ATTRIBUTES DLLEXPORT :: wrap_D0_SK5
10003 : #endif
10004 : use pm_kind, only: SKC => SK5
10005 : class(wrap_type) , intent(inout) :: self
10006 : character(*,SKC) , intent(in) :: str
10007 : character(*,SKC) , intent(in) , optional :: newline
10008 : character(1,SKC) , intent(in) , optional :: fill, lwfill, rwfill, twfill, bwfill
10009 : integer(IK) , intent(in) , optional :: lwsize, twsize, rwsize, bwsize
10010 : integer(IK) , intent(in) , optional :: tmsize, bmsize
10011 : integer(IK) , intent(in) , optional :: width, unit
10012 : logical(LK) , intent(in) , optional :: sticky
10013 : end subroutine
10014 : #endif
10015 :
10016 : #if SK4_ENABLED
10017 : impure module subroutine wrap_D0_SK4(self, str, newline, fill, lwfill, rwfill, twfill, bwfill, lwsize, rwsize, twsize, bwsize, tmsize, bmsize, width, unit, sticky)
10018 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10019 : !DEC$ ATTRIBUTES DLLEXPORT :: wrap_D0_SK4
10020 : #endif
10021 : use pm_kind, only: SKC => SK4
10022 : class(wrap_type) , intent(inout) :: self
10023 : character(*,SKC) , intent(in) :: str
10024 : character(*,SKC) , intent(in) , optional :: newline
10025 : character(1,SKC) , intent(in) , optional :: fill, lwfill, rwfill, twfill, bwfill
10026 : integer(IK) , intent(in) , optional :: lwsize, twsize, rwsize, bwsize
10027 : integer(IK) , intent(in) , optional :: tmsize, bmsize
10028 : integer(IK) , intent(in) , optional :: width, unit
10029 : logical(LK) , intent(in) , optional :: sticky
10030 : end subroutine
10031 : #endif
10032 :
10033 : #if SK3_ENABLED
10034 : impure module subroutine wrap_D0_SK3(self, str, newline, fill, lwfill, rwfill, twfill, bwfill, lwsize, rwsize, twsize, bwsize, tmsize, bmsize, width, unit, sticky)
10035 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10036 : !DEC$ ATTRIBUTES DLLEXPORT :: wrap_D0_SK3
10037 : #endif
10038 : use pm_kind, only: SKC => SK3
10039 : class(wrap_type) , intent(inout) :: self
10040 : character(*,SKC) , intent(in) :: str
10041 : character(*,SKC) , intent(in) , optional :: newline
10042 : character(1,SKC) , intent(in) , optional :: fill, lwfill, rwfill, twfill, bwfill
10043 : integer(IK) , intent(in) , optional :: lwsize, twsize, rwsize, bwsize
10044 : integer(IK) , intent(in) , optional :: tmsize, bmsize
10045 : integer(IK) , intent(in) , optional :: width, unit
10046 : logical(LK) , intent(in) , optional :: sticky
10047 : end subroutine
10048 : #endif
10049 :
10050 : #if SK2_ENABLED
10051 : impure module subroutine wrap_D0_SK2(self, str, newline, fill, lwfill, rwfill, twfill, bwfill, lwsize, rwsize, twsize, bwsize, tmsize, bmsize, width, unit, sticky)
10052 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10053 : !DEC$ ATTRIBUTES DLLEXPORT :: wrap_D0_SK2
10054 : #endif
10055 : use pm_kind, only: SKC => SK2
10056 : class(wrap_type) , intent(inout) :: self
10057 : character(*,SKC) , intent(in) :: str
10058 : character(*,SKC) , intent(in) , optional :: newline
10059 : character(1,SKC) , intent(in) , optional :: fill, lwfill, rwfill, twfill, bwfill
10060 : integer(IK) , intent(in) , optional :: lwsize, twsize, rwsize, bwsize
10061 : integer(IK) , intent(in) , optional :: tmsize, bmsize
10062 : integer(IK) , intent(in) , optional :: width, unit
10063 : logical(LK) , intent(in) , optional :: sticky
10064 : end subroutine
10065 : #endif
10066 :
10067 : #if SK1_ENABLED
10068 : impure module subroutine wrap_D0_SK1(self, str, newline, fill, lwfill, rwfill, twfill, bwfill, lwsize, rwsize, twsize, bwsize, tmsize, bmsize, width, unit, sticky)
10069 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
10070 : !DEC$ ATTRIBUTES DLLEXPORT :: wrap_D0_SK1
10071 : #endif
10072 : use pm_kind, only: SKC => SK1
10073 : class(wrap_type) , intent(inout) :: self
10074 : character(*,SKC) , intent(in) :: str
10075 : character(*,SKC) , intent(in) , optional :: newline
10076 : character(1,SKC) , intent(in) , optional :: fill, lwfill, rwfill, twfill, bwfill
10077 : integer(IK) , intent(in) , optional :: lwsize, twsize, rwsize, bwsize
10078 : integer(IK) , intent(in) , optional :: tmsize, bmsize
10079 : integer(IK) , intent(in) , optional :: width, unit
10080 : logical(LK) , intent(in) , optional :: sticky
10081 : end subroutine
10082 : #endif
10083 :
10084 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10085 :
10086 : end interface
10087 :
10088 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10089 :
10090 : !> \brief
10091 : !> Generate and return an object of type [display_type](@ref pm_io::display_type).
10092 : !>
10093 : !> \details
10094 : !> The generated object can be used to show decorated string or other string
10095 : !> values on the standard output or an optionally-specified external file.
10096 : !>
10097 : !> \param[in] file : The input scalar of type `character` of default kind \SK, containing the path to the <b>un</b>connected external file to be opened and used as the display.<br>
10098 : !> <ol>
10099 : !> <li> If the `file` does not exist, it will be created, unless other behavior is dictated by the input `optional` argument `status`.<br>
10100 : !> <li> If it exists, it will be closed and reopened and the file position will be set to the input `position` argument.<br>
10101 : !> </ol>
10102 : !> If present, the `unit` component of the output display object will be set to the unit of the connected `file`.<br>
10103 : !> (**optional**. It can be present only if the input argument `unit` is missing.)
10104 : !> \param[in] unit : The input scalar `integer` of default kind \IK representing the output display unit number where contents will be displayed.<br>
10105 : !> If the specified `unit` is not connected, it will be connected to a temporary file with `status = "scratch"`.<br>
10106 : !> (**optional**, default = `output_unit`. It can be present <b>only if</b> the input argument `file` is missing.)
10107 : !> \param[in] status : The input scalar of type `character` of default kind \SK, whose contents represent the `status` of the input `file`.<br>
10108 : !> It can take any value acceptable by the same argument to the Fortran intrinsic `open()` statement: `"old"`, `"replace"`, `"new"`, `"unknown"`, etc.<br>
10109 : !> (**optional**, default = `SK_"old"` if the input `file` is already opened, otherwise `SK_"unknown"`. It can be present only if the input argument `file` is also present.)
10110 : !> \param[in] position : The input scalar of type `character` of default kind \SK, whose contents represent the `position` of the input connected `file`.<br>
10111 : !> It can take any value acceptable by the same argument to the Fortran intrinsic `open()` statement: `"asis"`, `"rewind"`, `"append"`, etc.<br>
10112 : !> (**optional**, default = `SK_"append"` if the input `file` is already opened, otherwise `SK_"asis"`. It can be present only if the input argument `file` is also present.)
10113 : !> \param[in] advance : The input scalar of type `character` of default kind \SK, whose contents represent the default `advance` mode of the IO.<br>
10114 : !> The contents of `advance` are directly passed to the corresponding `advance` argument of the Fortran intrinsic `read()` or `write` procedures.<br>
10115 : !> (**optional**, default = \f$\ms{SK_"YES"}\f$.)
10116 : !> \param[in] format : The input scalar of type [field_type](@ref pm_io::field_type),
10117 : !> whose components represent the **formats** to be used for the output records of various intrinsic types.<br>
10118 : !> Note that the components of the input `format` are applied to each output `record`, that is, one output row.<br>
10119 : !> The components of `format` are directly used as the `format` argument of the Fortran intrinsic `read()` and `write()` statements.<br>
10120 : !> To simply the specification of mathematical display formats for complex values as in \f$u + v\up{i}\f$, the `complex` component of the input object of type [field_type](@ref pm_io::field_type) can be also set to `SK_"math"`.<br>
10121 : !> In such a case, the math-style complex format [FORMAT_GENERIC_DISPLAY_COMPLEX_MATH](@ref pm_io::FORMAT_GENERIC_DISPLAY_COMPLEX_MATH) will be used for displaying `complex` valued objects.<br>
10122 : !> See also the generic interface [getFormat](@ref pm_io::getFormat) for creating custom formats for objects of specific type and kind.<br>
10123 : !> (**optional**, default = \f$\ms{"(sp,*(deliml,g0,', ',g0,delimr,:,', '))"}\f$ for `complex` fields and \f$\ms{"(sp,*(deliml,g0,delimr,:,', '))"}\f$ for all other field types,
10124 : !> where `deliml` and `delimr` refer to the corresponding left and right fields delimiter components of the input arguments `deliml` and `delimr`.)
10125 : !> \param[in] deliml : The input scalar of type [field_type](@ref pm_io::field_type),
10126 : !> whose components represent the left-delimiters to be used for left-delimiting (wrapping) fields of various intrinsic types.<br>
10127 : !> The two most common left-delimiters for strings are the single \f$\texttt{'}\f$ and double \f$\texttt{"}\f$ quotation marks.<br>
10128 : !> The common Fortran-style left-delimiter for `complex` values is the left-parenthesis \f$\texttt{(}\f$.<br>
10129 : !> The left-delimiter can be also set directly individually for objects of specific intrinsic types as an input argument to the relevant methods for displaying objects (e.g., [show()](@ref pm_io::show)).<br>
10130 : !> Initializing the left-delimiters here, however, defines it globally for all relevant methods throughout the life of the current object of type [display_type](@ref pm_io::display_type).<br>
10131 : !> Any component of the input `deliml` will be ignored in constructing the generic field formats, if the input argument `format` is present and its corresponding component is allocated.<br>
10132 : !> (**optional**, default = `delimr` or if missing or any component is unallocated, `"("` for `field` of type `complex` and \f$\ms{""}\f$ (i.e., no left-delimiter) for all other `field` types.)
10133 : !> \param[in] delimr : The input scalar of type [field_type](@ref pm_io::field_type),
10134 : !> whose components represent the right-delimiters to be used for right-delimiting (wrapping) fields of various intrinsic types.<br>
10135 : !> The two most common right-delimiters for strings are the single \f$\texttt{'}\f$ and double \f$\texttt{"}\f$ quotation marks.<br>
10136 : !> The common Fortran-style right-delimiter for `complex` values is the right-parenthesis \f$\texttt{)}\f$.<br>
10137 : !> The right-delimiter can be also set directly individually for objects of specific intrinsic types as an input argument to the relevant methods for displaying objects (e.g., [show()](@ref pm_io::show)).<br>
10138 : !> Initializing the right-delimiters here, however, defines it globally for all relevant methods throughout the life of the current object of type [display_type](@ref pm_io::display_type).<br>
10139 : !> Any component of the input `delimr` will be ignored in constructing the generic field formats, if the input argument `format` is present and its corresponding component is allocated.<br>
10140 : !> (**optional**, default = `deliml` or if missing or any component is unallocated, `")"` for `field` of type `complex` and \f$\ms{""}\f$ (i.e., no right-delimiter) for all other `field` types.)
10141 : !> \param[in] tmsize : The input scalar `integer` of default kind \IK representing the size of the top margin of any value that will be shown in the display.<br>
10142 : !> For more details, see the documentation of the corresponding argument in [getCentered](@ref pm_arrayCenter::getCentered).<br>
10143 : !> (**optional**, default = `0`)
10144 : !> \param[in] bmsize : The input scalar `integer` of default kind \IK representing the size of the bottom margin of value that will be shown in the display.<br>
10145 : !> For more details, see the documentation of the corresponding argument in [getCentered](@ref pm_arrayCenter::getCentered).<br>
10146 : !> (**optional**, default = `0`)
10147 : !> \param[in] count : The input scalar `integer` of default kind \IK representing the number of times each input value has to be displayed.
10148 : !> (**optional**, default = `1`. It can be present <b>if and only if</b> the `optional` input argument `file` is missing.)
10149 : !> \param[in] sticky : The input scalar of type `logical` of default kind \LK.<br>
10150 : !> If `.true.`, the global properties (i.e., components) of the object of class [display_type](@ref pm_io::display_type)
10151 : !> can be overridden by the corresponding arguments passed to the dynamic methods of the object.<br>
10152 : !> (**optional**, default = `.false.`)
10153 : !> \param[in] text : The input scalar of type [wrap_type](@ref pm_io::wrap_type) containing the runtime settings and a method to wrap strings within a fixed width.<br>
10154 : !> (**optional**, default = `wrap_type(tmsize = disp%%tmsize, bmsize = disp%%bmsize, width = disp%%width, unit = disp%%unit, sticky = disp%%sticky)`)
10155 : !> \param[in] mark : The input scalar of type [mark_type](@ref pm_err::mark_type) containing the runtime settings and a method to display remarks.<br>
10156 : !> (**optional**, default = `mark_type(tmsize = disp%%tmsize, bmsize = disp%%bmsize, width = disp%%width, unit = disp%%unit, sticky = disp%%sticky)`)
10157 : !> \param[in] note : The input scalar of type [note_type](@ref pm_err::note_type) containing the runtime settings and a method to display notification messages.<br>
10158 : !> (**optional**, default = `note_type(tmsize = disp%%tmsize, bmsize = disp%%bmsize, width = disp%%width, unit = disp%%unit, sticky = disp%%sticky)`)
10159 : !> \param[in] warn : The input scalar of type [warn_type](@ref pm_err::warn_type) containing the runtime settings and a method to display warning messages.<br>
10160 : !> (**optional**, default = `warn_type(tmsize = disp%%tmsize, bmsize = disp%%bmsize, width = disp%%width, unit = disp%%unit, sticky = disp%%sticky)`)
10161 : !> \param[in] stop : The input scalar of type [stop_type](@ref pm_err::stop_type) containing the runtime settings and a method to and stop the program and display program abortion messages.<br>
10162 : !> (**optional**, default = `stop_type(tmsize = disp%%tmsize, bmsize = disp%%bmsize, width = disp%%width, unit = disp%%unit, sticky = disp%%sticky)`)
10163 : !>
10164 : !> \interface{display_type}
10165 : !> \code{.F90}
10166 : !>
10167 : !> use pm_io, only: display_type
10168 : !> type(display_type) :: disp
10169 : !>
10170 : !> disp = display_type( format = format &
10171 : !> , advance = advance &
10172 : !> , deliml = deliml &
10173 : !> , delimr = delimr &
10174 : !> , tmsize = tmsize &
10175 : !> , bmsize = bmsize &
10176 : !> , count = count &
10177 : !> , sticky = sticky &
10178 : !> , text = text &
10179 : !> , mark = mark &
10180 : !> , note = note &
10181 : !> , warn = warn &
10182 : !> , stop = stop &
10183 : !> )
10184 : !>
10185 : !> ! The `unit` of an already opened (connected file). If not connected, will be connected to a `scratch` file.
10186 : !>
10187 : !> disp = display_type( unit &
10188 : !> , format = format &
10189 : !> , advance = advance &
10190 : !> , format = format &
10191 : !> , deliml = deliml &
10192 : !> , delimr = delimr &
10193 : !> , tmsize = tmsize &
10194 : !> , bmsize = bmsize &
10195 : !> , count = count &
10196 : !> , sticky = sticky &
10197 : !> , text = text &
10198 : !> , mark = mark &
10199 : !> , note = note &
10200 : !> , warn = warn &
10201 : !> , stop = stop &
10202 : !> )
10203 : !>
10204 : !> ! The path to an external old or new `file`. If `file` is connected, it will be closed and reopened.
10205 : !>
10206 : !> disp = display_type( file &
10207 : !> , status = status &
10208 : !> , position = position &
10209 : !> , advance = advance &
10210 : !> , format = format &
10211 : !> , deliml = deliml &
10212 : !> , delimr = delimr &
10213 : !> , tmsize = tmsize &
10214 : !> , bmsize = bmsize &
10215 : !> , count = count &
10216 : !> , sticky = sticky &
10217 : !> , text = text &
10218 : !> , mark = mark &
10219 : !> , note = note &
10220 : !> , warn = warn &
10221 : !> , stop = stop &
10222 : !> )
10223 : !>
10224 : !> \endcode
10225 : !>
10226 : !> \warning
10227 : !> The condition [isValidStatus(status)](@ref pm_io::isValidStatus) must hold for the corresponding input arguments.<br>
10228 : !> The condition [isValidPosition(position)](@ref pm_io::isValidPosition) must hold for the corresponding input arguments.<br>
10229 : !> \vericons
10230 : !>
10231 : !> \warning
10232 : !> Any overflow of a single line beyond the specified `width` is handled as
10233 : !> described in the documentation of [getCentered](@ref pm_arrayCenter::getCentered).<br>
10234 : !>
10235 : !> \warning
10236 : !> All components of this derived type are `protected` and **read-only**.<br>
10237 : !> However, all components are currently `public` until the `protected` attribute of Fortran 2023 is implemented by the compiler vendors.<br>
10238 : !>
10239 : !> \impure
10240 : !>
10241 : !> \see
10242 : !> [wrap_type%%wrap()](@ref pm_io::wrap)<br>
10243 : !> [display_type%%show()](@ref pm_io::show)<br>
10244 : !> [display_type%%skip()](@ref pm_io::skip)<br>
10245 : !> [getStrWrapped](@ref pm_str::getStrWrapped)<br>
10246 : !> [getCentered](@ref pm_arrayCenter::getCentered)<br>
10247 : !> [setCentered](@ref pm_arrayCenter::setCentered)<br>
10248 : !> [isFailedGetShellWidth](@ref pm_sysShell::isFailedGetShellWidth)<br>
10249 : !> [isFailedGetShellHeight](@ref pm_sysShell::isFailedGetShellHeight)<br>
10250 : !>
10251 : !> \example{display_type}
10252 : !> \include{lineno} example/pm_io/display_type/main.F90
10253 : !> \compilef{display_type}
10254 : !> \output{display_type}
10255 : !> \include{lineno} example/pm_io/display_type/main.out.F90
10256 : !>
10257 : !> \test
10258 : !> [test_pm_io](@ref test_pm_io)
10259 : !>
10260 : !> \bug
10261 : !> \status \unresolved
10262 : !> \source \ifx{2024.0.0}
10263 : !> \desc
10264 : !> The \ifx{2024.0.0} memory sanitizer in debug compilation (with heap memory, serial shared library generation)
10265 : !> reports an uninitialized heap memory allocation usage where the constructor opens the specified input file.<br>
10266 : !> \code{.F90}
10267 : !> open(newunit = disp%unit, file = file, status = status_def, position = position_def)
10268 : !> \endcode
10269 : !> The cause of this error could not be identified, although the error can be bypassed by compiling in `release` mode.
10270 : !> \remedy
10271 : !> Currently none. This may need the attention of the Intel LLVM compiler developer team.
10272 : !>
10273 : !> \todo
10274 : !> \pvhigh
10275 : !> The `public` attributes of all components of this derived type must be converted to `protected`
10276 : !> once the `protected` attribute of Fortran 2023 is supported by the Fortran compilers supported by the ParaMonte library.<br>
10277 : !>
10278 : !> \finmain{display_type}
10279 : !>
10280 : !> \author
10281 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
10282 : type :: display_type
10283 : logical(LK) , private :: sticky = .false._LK !< \private The scalar `logical` of default kind \LK. If `.true.` the relevant properties of the current object can be later changed by its methods.
10284 : logical(LK) , private :: uninit = .true._LK !< \private The scalar `logical` of default kind \LK that is internally set to `.false.` once the object is constructed.<br>
10285 : !! The presence of this variable is to ensure seamless functioning of objects of [display_type](@ref pm_io::display_type)
10286 : !! when the user forgets to call the type constructor.<br>
10287 : !! The constructor call is critical for setting the allocatable components.<br>
10288 : integer(IK) , public :: width = -huge(0_IK) !< \public The scalar `integer` of default kind \IK containing the width of the runtime Shell screen or `-huge(0_IK)` if the inference fails or the display is not the standard output `output_unit`.
10289 : integer(IK) , public :: height = -huge(0_IK) !< \public The scalar `integer` of default kind \IK containing the height of the runtime Shell screen or `-huge(0_IK)` if the inference fails or the display is not the standard output `output_unit`.
10290 : integer(IK) , public :: tmsize = 0_IK !< \public The scalar `integer` of default kind \IK containing the number of records to skip on top of the current record.
10291 : integer(IK) , public :: count = 1_IK !< \public The scalar `integer` of default kind \IK containing the number of times to repeat the current record.
10292 : integer(IK) , public :: bmsize = 0_IK !< \public The scalar `integer` of default kind \IK containing the number of records to skip on the bottom of the current record.
10293 : integer(IK) , public :: unit = output_unit !< \public The scalar `integer` of default kind \IK containing the unit number of the file to which the record must be written.
10294 : character(3, SK) , public :: advance = SK_"YES" !< \public The scalar `character` of default kind \SK containing the default IO `advance` mode for reading/writing actions.
10295 : character(:, SK), allocatable , public :: file !< \public The scalar `character` of default kind \SK containing the file path to which the record must be written.
10296 : type(field_type) , public :: format !< \public The scalar `character` of default kind \SK containing the default IO format with which the records should be displayed.
10297 : type(field_type) , public :: deliml !< \public The scalar object of type [field_type](@ref pm_io::field_type) containing the left-delimiters for objects of various types.
10298 : type(field_type) , public :: delimr !< \public The scalar object of type [field_type](@ref pm_io::field_type) containing the right-delimiters for objects of various types.
10299 : type(wrap_type) , public :: text !< \public The scalar of type [wrap_type](@ref pm_io::wrap_type) containing the runtime settings and a method to wrap strings within a fixed width.
10300 : type(mark_type) , public :: mark !< \public The scalar of type [mark_type](@ref pm_err::mark_type) containing the runtime settings and a method to display remarks.
10301 : type(note_type) , public :: note !< \public The scalar of type [note_type](@ref pm_err::note_type) containing the runtime settings and a method to display notification messages.
10302 : type(warn_type) , public :: warn !< \public The scalar of type [warn_type](@ref pm_err::warn_type) containing the runtime settings and a method to display warning messages.
10303 : type(stop_type) , public :: stop !< \public The scalar of type [stop_type](@ref pm_err::stop_type) containing the runtime settings and a method to and stop the program and display program abortion messages.
10304 : !> \cond excluded
10305 : contains
10306 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10307 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10308 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10309 :
10310 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10311 :
10312 : #if SK5_ENABLED
10313 : procedure, pass, private :: show_D0_SK5, show_D1_SK5, show_D2_SK5, show_D3_SK5
10314 : generic :: show => show_D0_SK5, show_D1_SK5, show_D2_SK5, show_D3_SK5
10315 : #endif
10316 : #if SK4_ENABLED
10317 : procedure, pass, private :: show_D0_SK4, show_D1_SK4, show_D2_SK4, show_D3_SK4
10318 : generic :: show => show_D0_SK4, show_D1_SK4, show_D2_SK4, show_D3_SK4
10319 : #endif
10320 : #if SK3_ENABLED
10321 : procedure, pass, private :: show_D0_SK3, show_D1_SK3, show_D2_SK3, show_D3_SK3
10322 : generic :: show => show_D0_SK3, show_D1_SK3, show_D2_SK3, show_D3_SK3
10323 : #endif
10324 : #if SK2_ENABLED
10325 : procedure, pass, private :: show_D0_SK2, show_D1_SK2, show_D2_SK2, show_D3_SK2
10326 : generic :: show => show_D0_SK2, show_D1_SK2, show_D2_SK2, show_D3_SK2
10327 : #endif
10328 : #if SK1_ENABLED
10329 : procedure, pass, private :: show_D0_SK1, show_D1_SK1, show_D2_SK1, show_D3_SK1
10330 : generic :: show => show_D0_SK1, show_D1_SK1, show_D2_SK1, show_D3_SK1
10331 : #endif
10332 :
10333 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10334 :
10335 : #if IK5_ENABLED
10336 : procedure, pass, private :: show_D0_IK5, show_D1_IK5, show_D2_IK5, show_D3_IK5
10337 : generic :: show => show_D0_IK5, show_D1_IK5, show_D2_IK5, show_D3_IK5
10338 : #endif
10339 : #if IK4_ENABLED
10340 : procedure, pass, private :: show_D0_IK4, show_D1_IK4, show_D2_IK4, show_D3_IK4
10341 : generic :: show => show_D0_IK4, show_D1_IK4, show_D2_IK4, show_D3_IK4
10342 : #endif
10343 : #if IK3_ENABLED
10344 : procedure, pass, private :: show_D0_IK3, show_D1_IK3, show_D2_IK3, show_D3_IK3
10345 : generic :: show => show_D0_IK3, show_D1_IK3, show_D2_IK3, show_D3_IK3
10346 : #endif
10347 : #if IK2_ENABLED
10348 : procedure, pass, private :: show_D0_IK2, show_D1_IK2, show_D2_IK2, show_D3_IK2
10349 : generic :: show => show_D0_IK2, show_D1_IK2, show_D2_IK2, show_D3_IK2
10350 : #endif
10351 : #if IK1_ENABLED
10352 : procedure, pass, private :: show_D0_IK1, show_D1_IK1, show_D2_IK1, show_D3_IK1
10353 : generic :: show => show_D0_IK1, show_D1_IK1, show_D2_IK1, show_D3_IK1
10354 : #endif
10355 :
10356 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10357 :
10358 : #if LK5_ENABLED
10359 : procedure, pass, private :: show_D0_LK5, show_D1_LK5, show_D2_LK5, show_D3_LK5
10360 : generic :: show => show_D0_LK5, show_D1_LK5, show_D2_LK5, show_D3_LK5
10361 : #endif
10362 : #if LK4_ENABLED
10363 : procedure, pass, private :: show_D0_LK4, show_D1_LK4, show_D2_LK4, show_D3_LK4
10364 : generic :: show => show_D0_LK4, show_D1_LK4, show_D2_LK4, show_D3_LK4
10365 : #endif
10366 : #if LK3_ENABLED
10367 : procedure, pass, private :: show_D0_LK3, show_D1_LK3, show_D2_LK3, show_D3_LK3
10368 : generic :: show => show_D0_LK3, show_D1_LK3, show_D2_LK3, show_D3_LK3
10369 : #endif
10370 : #if LK2_ENABLED
10371 : procedure, pass, private :: show_D0_LK2, show_D1_LK2, show_D2_LK2, show_D3_LK2
10372 : generic :: show => show_D0_LK2, show_D1_LK2, show_D2_LK2, show_D3_LK2
10373 : #endif
10374 : #if LK1_ENABLED
10375 : procedure, pass, private :: show_D0_LK1, show_D1_LK1, show_D2_LK1, show_D3_LK1
10376 : generic :: show => show_D0_LK1, show_D1_LK1, show_D2_LK1, show_D3_LK1
10377 : #endif
10378 :
10379 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10380 :
10381 : #if CK5_ENABLED
10382 : procedure, pass, private :: show_D0_CK5, show_D1_CK5, show_D2_CK5, show_D3_CK5
10383 : generic :: show => show_D0_CK5, show_D1_CK5, show_D2_CK5, show_D3_CK5
10384 : #endif
10385 : #if CK4_ENABLED
10386 : procedure, pass, private :: show_D0_CK4, show_D1_CK4, show_D2_CK4, show_D3_CK4
10387 : generic :: show => show_D0_CK4, show_D1_CK4, show_D2_CK4, show_D3_CK4
10388 : #endif
10389 : #if CK3_ENABLED
10390 : procedure, pass, private :: show_D0_CK3, show_D1_CK3, show_D2_CK3, show_D3_CK3
10391 : generic :: show => show_D0_CK3, show_D1_CK3, show_D2_CK3, show_D3_CK3
10392 : #endif
10393 : #if CK2_ENABLED
10394 : procedure, pass, private :: show_D0_CK2, show_D1_CK2, show_D2_CK2, show_D3_CK2
10395 : generic :: show => show_D0_CK2, show_D1_CK2, show_D2_CK2, show_D3_CK2
10396 : #endif
10397 : #if CK1_ENABLED
10398 : procedure, pass, private :: show_D0_CK1, show_D1_CK1, show_D2_CK1, show_D3_CK1
10399 : generic :: show => show_D0_CK1, show_D1_CK1, show_D2_CK1, show_D3_CK1
10400 : #endif
10401 :
10402 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10403 :
10404 : #if RK5_ENABLED
10405 : procedure, pass, private :: show_D0_RK5, show_D1_RK5, show_D2_RK5, show_D3_RK5
10406 : generic :: show => show_D0_RK5, show_D1_RK5, show_D2_RK5, show_D3_RK5
10407 : #endif
10408 : #if RK4_ENABLED
10409 : procedure, pass, private :: show_D0_RK4, show_D1_RK4, show_D2_RK4, show_D3_RK4
10410 : generic :: show => show_D0_RK4, show_D1_RK4, show_D2_RK4, show_D3_RK4
10411 : #endif
10412 : #if RK3_ENABLED
10413 : procedure, pass, private :: show_D0_RK3, show_D1_RK3, show_D2_RK3, show_D3_RK3
10414 : generic :: show => show_D0_RK3, show_D1_RK3, show_D2_RK3, show_D3_RK3
10415 : #endif
10416 : #if RK2_ENABLED
10417 : procedure, pass, private :: show_D0_RK2, show_D1_RK2, show_D2_RK2, show_D3_RK2
10418 : generic :: show => show_D0_RK2, show_D1_RK2, show_D2_RK2, show_D3_RK2
10419 : #endif
10420 : #if RK1_ENABLED
10421 : procedure, pass, private :: show_D0_RK1, show_D1_RK1, show_D2_RK1, show_D3_RK1
10422 : generic :: show => show_D0_RK1, show_D1_RK1, show_D2_RK1, show_D3_RK1
10423 : #endif
10424 :
10425 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10426 :
10427 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10428 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10429 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10430 :
10431 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10432 :
10433 : #if SK5_ENABLED
10434 : procedure, pass, private :: show_D0_PSSK5, show_D1_PSSK5, show_D2_PSSK5, show_D3_PSSK5
10435 : generic :: show => show_D0_PSSK5, show_D1_PSSK5, show_D2_PSSK5, show_D3_PSSK5
10436 : #endif
10437 : #if SK4_ENABLED
10438 : procedure, pass, private :: show_D0_PSSK4, show_D1_PSSK4, show_D2_PSSK4, show_D3_PSSK4
10439 : generic :: show => show_D0_PSSK4, show_D1_PSSK4, show_D2_PSSK4, show_D3_PSSK4
10440 : #endif
10441 : #if SK3_ENABLED
10442 : procedure, pass, private :: show_D0_PSSK3, show_D1_PSSK3, show_D2_PSSK3, show_D3_PSSK3
10443 : generic :: show => show_D0_PSSK3, show_D1_PSSK3, show_D2_PSSK3, show_D3_PSSK3
10444 : #endif
10445 : #if SK2_ENABLED
10446 : procedure, pass, private :: show_D0_PSSK2, show_D1_PSSK2, show_D2_PSSK2, show_D3_PSSK2
10447 : generic :: show => show_D0_PSSK2, show_D1_PSSK2, show_D2_PSSK2, show_D3_PSSK2
10448 : #endif
10449 : #if SK1_ENABLED
10450 : procedure, pass, private :: show_D0_PSSK1, show_D1_PSSK1, show_D2_PSSK1, show_D3_PSSK1
10451 : generic :: show => show_D0_PSSK1, show_D1_PSSK1, show_D2_PSSK1, show_D3_PSSK1
10452 : #endif
10453 :
10454 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10455 :
10456 : #if IK5_ENABLED
10457 : procedure, pass, private :: show_D0_PSIK5, show_D1_PSIK5, show_D2_PSIK5, show_D3_PSIK5
10458 : generic :: show => show_D0_PSIK5, show_D1_PSIK5, show_D2_PSIK5, show_D3_PSIK5
10459 : #endif
10460 : #if IK4_ENABLED
10461 : procedure, pass, private :: show_D0_PSIK4, show_D1_PSIK4, show_D2_PSIK4, show_D3_PSIK4
10462 : generic :: show => show_D0_PSIK4, show_D1_PSIK4, show_D2_PSIK4, show_D3_PSIK4
10463 : #endif
10464 : #if IK3_ENABLED
10465 : procedure, pass, private :: show_D0_PSIK3, show_D1_PSIK3, show_D2_PSIK3, show_D3_PSIK3
10466 : generic :: show => show_D0_PSIK3, show_D1_PSIK3, show_D2_PSIK3, show_D3_PSIK3
10467 : #endif
10468 : #if IK2_ENABLED
10469 : procedure, pass, private :: show_D0_PSIK2, show_D1_PSIK2, show_D2_PSIK2, show_D3_PSIK2
10470 : generic :: show => show_D0_PSIK2, show_D1_PSIK2, show_D2_PSIK2, show_D3_PSIK2
10471 : #endif
10472 : #if IK1_ENABLED
10473 : procedure, pass, private :: show_D0_PSIK1, show_D1_PSIK1, show_D2_PSIK1, show_D3_PSIK1
10474 : generic :: show => show_D0_PSIK1, show_D1_PSIK1, show_D2_PSIK1, show_D3_PSIK1
10475 : #endif
10476 :
10477 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10478 :
10479 : #if LK5_ENABLED
10480 : procedure, pass, private :: show_D0_PSLK5, show_D1_PSLK5, show_D2_PSLK5, show_D3_PSLK5
10481 : generic :: show => show_D0_PSLK5, show_D1_PSLK5, show_D2_PSLK5, show_D3_PSLK5
10482 : #endif
10483 : #if LK4_ENABLED
10484 : procedure, pass, private :: show_D0_PSLK4, show_D1_PSLK4, show_D2_PSLK4, show_D3_PSLK4
10485 : generic :: show => show_D0_PSLK4, show_D1_PSLK4, show_D2_PSLK4, show_D3_PSLK4
10486 : #endif
10487 : #if LK3_ENABLED
10488 : procedure, pass, private :: show_D0_PSLK3, show_D1_PSLK3, show_D2_PSLK3, show_D3_PSLK3
10489 : generic :: show => show_D0_PSLK3, show_D1_PSLK3, show_D2_PSLK3, show_D3_PSLK3
10490 : #endif
10491 : #if LK2_ENABLED
10492 : procedure, pass, private :: show_D0_PSLK2, show_D1_PSLK2, show_D2_PSLK2, show_D3_PSLK2
10493 : generic :: show => show_D0_PSLK2, show_D1_PSLK2, show_D2_PSLK2, show_D3_PSLK2
10494 : #endif
10495 : #if LK1_ENABLED
10496 : procedure, pass, private :: show_D0_PSLK1, show_D1_PSLK1, show_D2_PSLK1, show_D3_PSLK1
10497 : generic :: show => show_D0_PSLK1, show_D1_PSLK1, show_D2_PSLK1, show_D3_PSLK1
10498 : #endif
10499 :
10500 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10501 :
10502 : #if CK5_ENABLED
10503 : procedure, pass, private :: show_D0_PSCK5, show_D1_PSCK5, show_D2_PSCK5, show_D3_PSCK5
10504 : generic :: show => show_D0_PSCK5, show_D1_PSCK5, show_D2_PSCK5, show_D3_PSCK5
10505 : #endif
10506 : #if CK4_ENABLED
10507 : procedure, pass, private :: show_D0_PSCK4, show_D1_PSCK4, show_D2_PSCK4, show_D3_PSCK4
10508 : generic :: show => show_D0_PSCK4, show_D1_PSCK4, show_D2_PSCK4, show_D3_PSCK4
10509 : #endif
10510 : #if CK3_ENABLED
10511 : procedure, pass, private :: show_D0_PSCK3, show_D1_PSCK3, show_D2_PSCK3, show_D3_PSCK3
10512 : generic :: show => show_D0_PSCK3, show_D1_PSCK3, show_D2_PSCK3, show_D3_PSCK3
10513 : #endif
10514 : #if CK2_ENABLED
10515 : procedure, pass, private :: show_D0_PSCK2, show_D1_PSCK2, show_D2_PSCK2, show_D3_PSCK2
10516 : generic :: show => show_D0_PSCK2, show_D1_PSCK2, show_D2_PSCK2, show_D3_PSCK2
10517 : #endif
10518 : #if CK1_ENABLED
10519 : procedure, pass, private :: show_D0_PSCK1, show_D1_PSCK1, show_D2_PSCK1, show_D3_PSCK1
10520 : generic :: show => show_D0_PSCK1, show_D1_PSCK1, show_D2_PSCK1, show_D3_PSCK1
10521 : #endif
10522 :
10523 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10524 :
10525 : #if RK5_ENABLED
10526 : procedure, pass, private :: show_D0_PSRK5, show_D1_PSRK5, show_D2_PSRK5, show_D3_PSRK5
10527 : generic :: show => show_D0_PSRK5, show_D1_PSRK5, show_D2_PSRK5, show_D3_PSRK5
10528 : #endif
10529 : #if RK4_ENABLED
10530 : procedure, pass, private :: show_D0_PSRK4, show_D1_PSRK4, show_D2_PSRK4, show_D3_PSRK4
10531 : generic :: show => show_D0_PSRK4, show_D1_PSRK4, show_D2_PSRK4, show_D3_PSRK4
10532 : #endif
10533 : #if RK3_ENABLED
10534 : procedure, pass, private :: show_D0_PSRK3, show_D1_PSRK3, show_D2_PSRK3, show_D3_PSRK3
10535 : generic :: show => show_D0_PSRK3, show_D1_PSRK3, show_D2_PSRK3, show_D3_PSRK3
10536 : #endif
10537 : #if RK2_ENABLED
10538 : procedure, pass, private :: show_D0_PSRK2, show_D1_PSRK2, show_D2_PSRK2, show_D3_PSRK2
10539 : generic :: show => show_D0_PSRK2, show_D1_PSRK2, show_D2_PSRK2, show_D3_PSRK2
10540 : #endif
10541 : #if RK1_ENABLED
10542 : procedure, pass, private :: show_D0_PSRK1, show_D1_PSRK1, show_D2_PSRK1, show_D3_PSRK1
10543 : generic :: show => show_D0_PSRK1, show_D1_PSRK1, show_D2_PSRK1, show_D3_PSRK1
10544 : #endif
10545 :
10546 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10547 :
10548 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10549 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10550 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10551 :
10552 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10553 :
10554 : #if SK5_ENABLED
10555 : procedure, pass, private :: show_D0_PVSK5, show_D1_PVSK5, show_D2_PVSK5
10556 : generic :: show => show_D0_PVSK5, show_D1_PVSK5, show_D2_PVSK5
10557 : #endif
10558 : #if SK4_ENABLED
10559 : procedure, pass, private :: show_D0_PVSK4, show_D1_PVSK4, show_D2_PVSK4
10560 : generic :: show => show_D0_PVSK4, show_D1_PVSK4, show_D2_PVSK4
10561 : #endif
10562 : #if SK3_ENABLED
10563 : procedure, pass, private :: show_D0_PVSK3, show_D1_PVSK3, show_D2_PVSK3
10564 : generic :: show => show_D0_PVSK3, show_D1_PVSK3, show_D2_PVSK3
10565 : #endif
10566 : #if SK2_ENABLED
10567 : procedure, pass, private :: show_D0_PVSK2, show_D1_PVSK2, show_D2_PVSK2
10568 : generic :: show => show_D0_PVSK2, show_D1_PVSK2, show_D2_PVSK2
10569 : #endif
10570 : #if SK1_ENABLED
10571 : procedure, pass, private :: show_D0_PVSK1, show_D1_PVSK1, show_D2_PVSK1
10572 : generic :: show => show_D0_PVSK1, show_D1_PVSK1, show_D2_PVSK1
10573 : #endif
10574 :
10575 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10576 :
10577 : #if IK5_ENABLED
10578 : procedure, pass, private :: show_D0_PVIK5, show_D1_PVIK5, show_D2_PVIK5
10579 : generic :: show => show_D0_PVIK5, show_D1_PVIK5, show_D2_PVIK5
10580 : #endif
10581 : #if IK4_ENABLED
10582 : procedure, pass, private :: show_D0_PVIK4, show_D1_PVIK4, show_D2_PVIK4
10583 : generic :: show => show_D0_PVIK4, show_D1_PVIK4, show_D2_PVIK4
10584 : #endif
10585 : #if IK3_ENABLED
10586 : procedure, pass, private :: show_D0_PVIK3, show_D1_PVIK3, show_D2_PVIK3
10587 : generic :: show => show_D0_PVIK3, show_D1_PVIK3, show_D2_PVIK3
10588 : #endif
10589 : #if IK2_ENABLED
10590 : procedure, pass, private :: show_D0_PVIK2, show_D1_PVIK2, show_D2_PVIK2
10591 : generic :: show => show_D0_PVIK2, show_D1_PVIK2, show_D2_PVIK2
10592 : #endif
10593 : #if IK1_ENABLED
10594 : procedure, pass, private :: show_D0_PVIK1, show_D1_PVIK1, show_D2_PVIK1
10595 : generic :: show => show_D0_PVIK1, show_D1_PVIK1, show_D2_PVIK1
10596 : #endif
10597 :
10598 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10599 :
10600 : #if LK5_ENABLED
10601 : procedure, pass, private :: show_D0_PVLK5, show_D1_PVLK5, show_D2_PVLK5
10602 : generic :: show => show_D0_PVLK5, show_D1_PVLK5, show_D2_PVLK5
10603 : #endif
10604 : #if LK4_ENABLED
10605 : procedure, pass, private :: show_D0_PVLK4, show_D1_PVLK4, show_D2_PVLK4
10606 : generic :: show => show_D0_PVLK4, show_D1_PVLK4, show_D2_PVLK4
10607 : #endif
10608 : #if LK3_ENABLED
10609 : procedure, pass, private :: show_D0_PVLK3, show_D1_PVLK3, show_D2_PVLK3
10610 : generic :: show => show_D0_PVLK3, show_D1_PVLK3, show_D2_PVLK3
10611 : #endif
10612 : #if LK2_ENABLED
10613 : procedure, pass, private :: show_D0_PVLK2, show_D1_PVLK2, show_D2_PVLK2
10614 : generic :: show => show_D0_PVLK2, show_D1_PVLK2, show_D2_PVLK2
10615 : #endif
10616 : #if LK1_ENABLED
10617 : procedure, pass, private :: show_D0_PVLK1, show_D1_PVLK1, show_D2_PVLK1
10618 : generic :: show => show_D0_PVLK1, show_D1_PVLK1, show_D2_PVLK1
10619 : #endif
10620 :
10621 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10622 :
10623 : #if CK5_ENABLED
10624 : procedure, pass, private :: show_D0_PVCK5, show_D1_PVCK5, show_D2_PVCK5
10625 : generic :: show => show_D0_PVCK5, show_D1_PVCK5, show_D2_PVCK5
10626 : #endif
10627 : #if CK4_ENABLED
10628 : procedure, pass, private :: show_D0_PVCK4, show_D1_PVCK4, show_D2_PVCK4
10629 : generic :: show => show_D0_PVCK4, show_D1_PVCK4, show_D2_PVCK4
10630 : #endif
10631 : #if CK3_ENABLED
10632 : procedure, pass, private :: show_D0_PVCK3, show_D1_PVCK3, show_D2_PVCK3
10633 : generic :: show => show_D0_PVCK3, show_D1_PVCK3, show_D2_PVCK3
10634 : #endif
10635 : #if CK2_ENABLED
10636 : procedure, pass, private :: show_D0_PVCK2, show_D1_PVCK2, show_D2_PVCK2
10637 : generic :: show => show_D0_PVCK2, show_D1_PVCK2, show_D2_PVCK2
10638 : #endif
10639 : #if CK1_ENABLED
10640 : procedure, pass, private :: show_D0_PVCK1, show_D1_PVCK1, show_D2_PVCK1
10641 : generic :: show => show_D0_PVCK1, show_D1_PVCK1, show_D2_PVCK1
10642 : #endif
10643 :
10644 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10645 :
10646 : #if RK5_ENABLED
10647 : procedure, pass, private :: show_D0_PVRK5, show_D1_PVRK5, show_D2_PVRK5
10648 : generic :: show => show_D0_PVRK5, show_D1_PVRK5, show_D2_PVRK5
10649 : #endif
10650 : #if RK4_ENABLED
10651 : procedure, pass, private :: show_D0_PVRK4, show_D1_PVRK4, show_D2_PVRK4
10652 : generic :: show => show_D0_PVRK4, show_D1_PVRK4, show_D2_PVRK4
10653 : #endif
10654 : #if RK3_ENABLED
10655 : procedure, pass, private :: show_D0_PVRK3, show_D1_PVRK3, show_D2_PVRK3
10656 : generic :: show => show_D0_PVRK3, show_D1_PVRK3, show_D2_PVRK3
10657 : #endif
10658 : #if RK2_ENABLED
10659 : procedure, pass, private :: show_D0_PVRK2, show_D1_PVRK2, show_D2_PVRK2
10660 : generic :: show => show_D0_PVRK2, show_D1_PVRK2, show_D2_PVRK2
10661 : #endif
10662 : #if RK1_ENABLED
10663 : procedure, pass, private :: show_D0_PVRK1, show_D1_PVRK1, show_D2_PVRK1
10664 : generic :: show => show_D0_PVRK1, show_D1_PVRK1, show_D2_PVRK1
10665 : #endif
10666 :
10667 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10668 :
10669 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10670 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10671 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10672 :
10673 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10674 :
10675 : #if SK5_ENABLED
10676 : procedure, pass, private :: show_D0_PMSK5, show_D1_PMSK5
10677 : generic :: show => show_D0_PMSK5, show_D1_PMSK5
10678 : #endif
10679 : #if SK4_ENABLED
10680 : procedure, pass, private :: show_D0_PMSK4, show_D1_PMSK4
10681 : generic :: show => show_D0_PMSK4, show_D1_PMSK4
10682 : #endif
10683 : #if SK3_ENABLED
10684 : procedure, pass, private :: show_D0_PMSK3, show_D1_PMSK3
10685 : generic :: show => show_D0_PMSK3, show_D1_PMSK3
10686 : #endif
10687 : #if SK2_ENABLED
10688 : procedure, pass, private :: show_D0_PMSK2, show_D1_PMSK2
10689 : generic :: show => show_D0_PMSK2, show_D1_PMSK2
10690 : #endif
10691 : #if SK1_ENABLED
10692 : procedure, pass, private :: show_D0_PMSK1, show_D1_PMSK1
10693 : generic :: show => show_D0_PMSK1, show_D1_PMSK1
10694 : #endif
10695 :
10696 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10697 :
10698 : #if IK5_ENABLED
10699 : procedure, pass, private :: show_D0_PMIK5, show_D1_PMIK5
10700 : generic :: show => show_D0_PMIK5, show_D1_PMIK5
10701 : #endif
10702 : #if IK4_ENABLED
10703 : procedure, pass, private :: show_D0_PMIK4, show_D1_PMIK4
10704 : generic :: show => show_D0_PMIK4, show_D1_PMIK4
10705 : #endif
10706 : #if IK3_ENABLED
10707 : procedure, pass, private :: show_D0_PMIK3, show_D1_PMIK3
10708 : generic :: show => show_D0_PMIK3, show_D1_PMIK3
10709 : #endif
10710 : #if IK2_ENABLED
10711 : procedure, pass, private :: show_D0_PMIK2, show_D1_PMIK2
10712 : generic :: show => show_D0_PMIK2, show_D1_PMIK2
10713 : #endif
10714 : #if IK1_ENABLED
10715 : procedure, pass, private :: show_D0_PMIK1, show_D1_PMIK1
10716 : generic :: show => show_D0_PMIK1, show_D1_PMIK1
10717 : #endif
10718 :
10719 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10720 :
10721 : #if LK5_ENABLED
10722 : procedure, pass, private :: show_D0_PMLK5, show_D1_PMLK5
10723 : generic :: show => show_D0_PMLK5, show_D1_PMLK5
10724 : #endif
10725 : #if LK4_ENABLED
10726 : procedure, pass, private :: show_D0_PMLK4, show_D1_PMLK4
10727 : generic :: show => show_D0_PMLK4, show_D1_PMLK4
10728 : #endif
10729 : #if LK3_ENABLED
10730 : procedure, pass, private :: show_D0_PMLK3, show_D1_PMLK3
10731 : generic :: show => show_D0_PMLK3, show_D1_PMLK3
10732 : #endif
10733 : #if LK2_ENABLED
10734 : procedure, pass, private :: show_D0_PMLK2, show_D1_PMLK2
10735 : generic :: show => show_D0_PMLK2, show_D1_PMLK2
10736 : #endif
10737 : #if LK1_ENABLED
10738 : procedure, pass, private :: show_D0_PMLK1, show_D1_PMLK1
10739 : generic :: show => show_D0_PMLK1, show_D1_PMLK1
10740 : #endif
10741 :
10742 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10743 :
10744 : #if CK5_ENABLED
10745 : procedure, pass, private :: show_D0_PMCK5, show_D1_PMCK5
10746 : generic :: show => show_D0_PMCK5, show_D1_PMCK5
10747 : #endif
10748 : #if CK4_ENABLED
10749 : procedure, pass, private :: show_D0_PMCK4, show_D1_PMCK4
10750 : generic :: show => show_D0_PMCK4, show_D1_PMCK4
10751 : #endif
10752 : #if CK3_ENABLED
10753 : procedure, pass, private :: show_D0_PMCK3, show_D1_PMCK3
10754 : generic :: show => show_D0_PMCK3, show_D1_PMCK3
10755 : #endif
10756 : #if CK2_ENABLED
10757 : procedure, pass, private :: show_D0_PMCK2, show_D1_PMCK2
10758 : generic :: show => show_D0_PMCK2, show_D1_PMCK2
10759 : #endif
10760 : #if CK1_ENABLED
10761 : procedure, pass, private :: show_D0_PMCK1, show_D1_PMCK1
10762 : generic :: show => show_D0_PMCK1, show_D1_PMCK1
10763 : #endif
10764 :
10765 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10766 :
10767 : #if RK5_ENABLED
10768 : procedure, pass, private :: show_D0_PMRK5, show_D1_PMRK5
10769 : generic :: show => show_D0_PMRK5, show_D1_PMRK5
10770 : #endif
10771 : #if RK4_ENABLED
10772 : procedure, pass, private :: show_D0_PMRK4, show_D1_PMRK4
10773 : generic :: show => show_D0_PMRK4, show_D1_PMRK4
10774 : #endif
10775 : #if RK3_ENABLED
10776 : procedure, pass, private :: show_D0_PMRK3, show_D1_PMRK3
10777 : generic :: show => show_D0_PMRK3, show_D1_PMRK3
10778 : #endif
10779 : #if RK2_ENABLED
10780 : procedure, pass, private :: show_D0_PMRK2, show_D1_PMRK2
10781 : generic :: show => show_D0_PMRK2, show_D1_PMRK2
10782 : #endif
10783 : #if RK1_ENABLED
10784 : procedure, pass, private :: show_D0_PMRK1, show_D1_PMRK1
10785 : generic :: show => show_D0_PMRK1, show_D1_PMRK1
10786 : #endif
10787 :
10788 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10789 :
10790 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10791 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10792 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10793 :
10794 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10795 :
10796 : #if SK5_ENABLED
10797 : procedure, pass, private :: show_D0_PCSK5
10798 : generic :: show => show_D0_PCSK5
10799 : #endif
10800 : #if SK4_ENABLED
10801 : procedure, pass, private :: show_D0_PCSK4
10802 : generic :: show => show_D0_PCSK4
10803 : #endif
10804 : #if SK3_ENABLED
10805 : procedure, pass, private :: show_D0_PCSK3
10806 : generic :: show => show_D0_PCSK3
10807 : #endif
10808 : #if SK2_ENABLED
10809 : procedure, pass, private :: show_D0_PCSK2
10810 : generic :: show => show_D0_PCSK2
10811 : #endif
10812 : #if SK1_ENABLED
10813 : procedure, pass, private :: show_D0_PCSK1
10814 : generic :: show => show_D0_PCSK1
10815 : #endif
10816 :
10817 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10818 :
10819 : #if IK5_ENABLED
10820 : procedure, pass, private :: show_D0_PCIK5
10821 : generic :: show => show_D0_PCIK5
10822 : #endif
10823 : #if IK4_ENABLED
10824 : procedure, pass, private :: show_D0_PCIK4
10825 : generic :: show => show_D0_PCIK4
10826 : #endif
10827 : #if IK3_ENABLED
10828 : procedure, pass, private :: show_D0_PCIK3
10829 : generic :: show => show_D0_PCIK3
10830 : #endif
10831 : #if IK2_ENABLED
10832 : procedure, pass, private :: show_D0_PCIK2
10833 : generic :: show => show_D0_PCIK2
10834 : #endif
10835 : #if IK1_ENABLED
10836 : procedure, pass, private :: show_D0_PCIK1
10837 : generic :: show => show_D0_PCIK1
10838 : #endif
10839 :
10840 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10841 :
10842 : #if LK5_ENABLED
10843 : procedure, pass, private :: show_D0_PCLK5
10844 : generic :: show => show_D0_PCLK5
10845 : #endif
10846 : #if LK4_ENABLED
10847 : procedure, pass, private :: show_D0_PCLK4
10848 : generic :: show => show_D0_PCLK4
10849 : #endif
10850 : #if LK3_ENABLED
10851 : procedure, pass, private :: show_D0_PCLK3
10852 : generic :: show => show_D0_PCLK3
10853 : #endif
10854 : #if LK2_ENABLED
10855 : procedure, pass, private :: show_D0_PCLK2
10856 : generic :: show => show_D0_PCLK2
10857 : #endif
10858 : #if LK1_ENABLED
10859 : procedure, pass, private :: show_D0_PCLK1
10860 : generic :: show => show_D0_PCLK1
10861 : #endif
10862 :
10863 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10864 :
10865 : #if CK5_ENABLED
10866 : procedure, pass, private :: show_D0_PCCK5
10867 : generic :: show => show_D0_PCCK5
10868 : #endif
10869 : #if CK4_ENABLED
10870 : procedure, pass, private :: show_D0_PCCK4
10871 : generic :: show => show_D0_PCCK4
10872 : #endif
10873 : #if CK3_ENABLED
10874 : procedure, pass, private :: show_D0_PCCK3
10875 : generic :: show => show_D0_PCCK3
10876 : #endif
10877 : #if CK2_ENABLED
10878 : procedure, pass, private :: show_D0_PCCK2
10879 : generic :: show => show_D0_PCCK2
10880 : #endif
10881 : #if CK1_ENABLED
10882 : procedure, pass, private :: show_D0_PCCK1
10883 : generic :: show => show_D0_PCCK1
10884 : #endif
10885 :
10886 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10887 :
10888 : #if RK5_ENABLED
10889 : procedure, pass, private :: show_D0_PCRK5
10890 : generic :: show => show_D0_PCRK5
10891 : #endif
10892 : #if RK4_ENABLED
10893 : procedure, pass, private :: show_D0_PCRK4
10894 : generic :: show => show_D0_PCRK4
10895 : #endif
10896 : #if RK3_ENABLED
10897 : procedure, pass, private :: show_D0_PCRK3
10898 : generic :: show => show_D0_PCRK3
10899 : #endif
10900 : #if RK2_ENABLED
10901 : procedure, pass, private :: show_D0_PCRK2
10902 : generic :: show => show_D0_PCRK2
10903 : #endif
10904 : #if RK1_ENABLED
10905 : procedure, pass, private :: show_D0_PCRK1
10906 : generic :: show => show_D0_PCRK1
10907 : #endif
10908 :
10909 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10910 :
10911 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10912 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10913 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10914 :
10915 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10916 :
10917 : procedure, pass, private :: show_D0_BSSK, show_D1_BSSK, show_D2_BSSK, show_D3_BSSK
10918 : generic :: show => show_D0_BSSK, show_D1_BSSK, show_D2_BSSK, show_D3_BSSK
10919 :
10920 : procedure, pass, private :: show_D0_BSIK, show_D1_BSIK, show_D2_BSIK, show_D3_BSIK
10921 : generic :: show => show_D0_BSIK, show_D1_BSIK, show_D2_BSIK, show_D3_BSIK
10922 :
10923 : procedure, pass, private :: show_D0_BSLK, show_D1_BSLK, show_D2_BSLK, show_D3_BSLK
10924 : generic :: show => show_D0_BSLK, show_D1_BSLK, show_D2_BSLK, show_D3_BSLK
10925 :
10926 : procedure, pass, private :: show_D0_BSCK, show_D1_BSCK, show_D2_BSCK, show_D3_BSCK
10927 : generic :: show => show_D0_BSCK, show_D1_BSCK, show_D2_BSCK, show_D3_BSCK
10928 :
10929 : procedure, pass, private :: show_D0_BSRK, show_D1_BSRK, show_D2_BSRK, show_D3_BSRK
10930 : generic :: show => show_D0_BSRK, show_D1_BSRK, show_D2_BSRK, show_D3_BSRK
10931 :
10932 : procedure, pass, private :: show_D0_BVSK, show_D1_BVSK, show_D2_BVSK
10933 : generic :: show => show_D0_BVSK, show_D1_BVSK, show_D2_BVSK
10934 :
10935 : procedure, pass, private :: show_D0_BVIK, show_D1_BVIK, show_D2_BVIK
10936 : generic :: show => show_D0_BVIK, show_D1_BVIK, show_D2_BVIK
10937 :
10938 : procedure, pass, private :: show_D0_BVLK, show_D1_BVLK, show_D2_BVLK
10939 : generic :: show => show_D0_BVLK, show_D1_BVLK, show_D2_BVLK
10940 :
10941 : procedure, pass, private :: show_D0_BVCK, show_D1_BVCK, show_D2_BVCK
10942 : generic :: show => show_D0_BVCK, show_D1_BVCK, show_D2_BVCK
10943 :
10944 : procedure, pass, private :: show_D0_BVRK, show_D1_BVRK, show_D2_BVRK
10945 : generic :: show => show_D0_BVRK, show_D1_BVRK, show_D2_BVRK
10946 :
10947 : procedure, pass, private :: show_D0_BMSK, show_D1_BMSK
10948 : generic :: show => show_D0_BMSK, show_D1_BMSK
10949 :
10950 : procedure, pass, private :: show_D0_BMIK, show_D1_BMIK
10951 : generic :: show => show_D0_BMIK, show_D1_BMIK
10952 :
10953 : procedure, pass, private :: show_D0_BMLK, show_D1_BMLK
10954 : generic :: show => show_D0_BMLK, show_D1_BMLK
10955 :
10956 : procedure, pass, private :: show_D0_BMCK, show_D1_BMCK
10957 : generic :: show => show_D0_BMCK, show_D1_BMCK
10958 :
10959 : procedure, pass, private :: show_D0_BMRK, show_D1_BMRK
10960 : generic :: show => show_D0_BMRK, show_D1_BMRK
10961 :
10962 : procedure, pass, private :: show_D0_BCSK
10963 : generic :: show => show_D0_BCSK
10964 :
10965 : procedure, pass, private :: show_D0_BCIK
10966 : generic :: show => show_D0_BCIK
10967 :
10968 : procedure, pass, private :: show_D0_BCLK
10969 : generic :: show => show_D0_BCLK
10970 :
10971 : procedure, pass, private :: show_D0_BCCK
10972 : generic :: show => show_D0_BCCK
10973 :
10974 : procedure, pass, private :: show_D0_BCRK
10975 : generic :: show => show_D0_BCRK
10976 :
10977 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10978 :
10979 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10980 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10981 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10982 :
10983 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10984 :
10985 : procedure, pass, private :: dump_D0, dump_D1, dump_D2
10986 : generic :: dump => dump_D0, dump_D1, dump_D2
10987 :
10988 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10989 :
10990 : procedure, pass :: skip_IK
10991 : generic :: skip => skip_IK
10992 :
10993 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10994 :
10995 : !final :: finalizeDisplay
10996 :
10997 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10998 :
10999 : !> \endcond excluded
11000 :
11001 : end type display_type
11002 :
11003 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11004 :
11005 : !> \brief
11006 : !> This is a scalar module variable an object of type [display_type](@ref pm_io::display_type) for general display.<br>
11007 : !>
11008 : !> \details
11009 : !> The existence of this object is to merely facilitate quick tests and displays of items on the default stdout.<br>
11010 : !> Given the global nature of this object, its usage is not recommended beyond simple tests and debugging tasks.<br>
11011 : !>
11012 : !> \finmain{disp}
11013 : !>
11014 : !> \author
11015 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
11016 : type(display_type) :: disp
11017 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11018 : !DIR$ ATTRIBUTES DLLEXPORT :: disp
11019 : #endif
11020 :
11021 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11022 :
11023 : !> \cond excluded
11024 : interface display_type
11025 :
11026 : module function constructDisplayFile(file, status, position, advance, format, deliml, delimr, tmsize, bmsize, count, sticky, text, mark, note, warn, stop) result(disp)
11027 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11028 : !DEC$ ATTRIBUTES DLLEXPORT :: constructDisplayFile
11029 : #endif
11030 : character(*, SK), intent(in) :: file
11031 : logical(LK) , intent(in), optional :: sticky
11032 : integer(IK) , intent(in), optional :: count
11033 : integer(IK) , intent(in), optional :: tmsize, bmsize
11034 : character(*, SK), intent(in), optional :: position
11035 : character(*, SK), intent(in), optional :: advance
11036 : character(*, SK), intent(in), optional :: status
11037 : type(field_type), intent(in), optional :: format
11038 : type(field_type), intent(in), optional :: deliml
11039 : type(field_type), intent(in), optional :: delimr
11040 : type(mark_type) , intent(in), optional :: mark
11041 : type(note_type) , intent(in), optional :: note
11042 : type(warn_type) , intent(in), optional :: warn
11043 : type(stop_type) , intent(in), optional :: stop
11044 : type(wrap_type) , intent(in), optional :: text
11045 : type(display_type) :: disp
11046 : end function
11047 :
11048 : module function constructDisplayUnit(unit, advance, format, deliml, delimr, tmsize, bmsize, count, sticky, text, mark, note, warn, stop) result(disp)
11049 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11050 : !DEC$ ATTRIBUTES DLLEXPORT :: constructDisplayUnit
11051 : #endif
11052 : integer(IK) , intent(in), optional :: unit
11053 : logical(LK) , intent(in), optional :: sticky
11054 : integer(IK) , intent(in), optional :: count
11055 : integer(IK) , intent(in), optional :: tmsize, bmsize
11056 : character(*, SK), intent(in), optional :: advance
11057 : type(field_type), intent(in), optional :: format
11058 : type(field_type), intent(in), optional :: deliml
11059 : type(field_type), intent(in), optional :: delimr
11060 : type(mark_type) , intent(in), optional :: mark
11061 : type(note_type) , intent(in), optional :: note
11062 : type(warn_type) , intent(in), optional :: warn
11063 : type(stop_type) , intent(in), optional :: stop
11064 : type(wrap_type) , intent(in), optional :: text
11065 : type(display_type) :: disp
11066 : end function
11067 :
11068 : end interface
11069 : !> \endcond excluded
11070 :
11071 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11072 :
11073 : ! interface
11074 : ! module subroutine finalizeDisplay(self)
11075 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11076 : ! !DEC$ ATTRIBUTES DLLEXPORT :: finalizeDisplay
11077 : !#endif
11078 : ! type(display_type), intent(inout) :: self
11079 : ! end subroutine
11080 : ! end interface
11081 :
11082 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11083 :
11084 : !> \brief
11085 : !> This is a generic method of the derived type [display_type](@ref pm_io::display_type) with `pass` attribute.<br>
11086 : !>
11087 : !> \details
11088 : !> This method skips a specified number of lines in the output display.<br>
11089 : !>
11090 : !> \param[in] count : The input scalar `integer` of default kind \IK, containing the number of lines to skip in the display.<br>
11091 : !> (**optional**, default = `1_IK`)
11092 : !> \param[in] unit : The input scalar `integer` of default kind \IK representing the output display unit number where the text will be displayed.<br>
11093 : !> (**optional**, default = `display_type%%unit`)
11094 : !> \param[in] sticky : The input scalar `logical` of default kind \LK. If `.true.` the display `unit` will be stored in `unit`
11095 : !> component of the current object of type [display_type](@ref pm_io::display_type) for later usage.<br>
11096 : !> (**optional**, default = `.false._LK`)
11097 : !>
11098 : !> \interface{skip}
11099 : !> \code{.F90}
11100 : !>
11101 : !> use pm_io, only: display_type
11102 : !> type(display_type) :: disp
11103 : !>
11104 : !> call disp%skip( count = count &
11105 : !> , unit = unit &
11106 : !> , sticky = sticky &
11107 : !> )
11108 : !>
11109 : !> \endcode
11110 : !>
11111 : !> \impure
11112 : !>
11113 : !> \see
11114 : !> [wrap_type%%wrap()](@ref pm_io::wrap)<br>
11115 : !> [display_type%%show()](@ref pm_io::show)<br>
11116 : !> [display_type%%skip()](@ref pm_io::skip)<br>
11117 : !>
11118 : !> \example{skip}
11119 : !> \include{lineno} example/pm_io/skip/main.F90
11120 : !> \compilef{skip}
11121 : !> \output{skip}
11122 : !> \include{lineno} example/pm_io/skip/main.out.F90
11123 : !>
11124 : !> \test
11125 : !> [test_pm_io](@ref test_pm_io)
11126 : !>
11127 : !> \finmain
11128 : !>
11129 : !> \author
11130 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
11131 : interface skip
11132 : module subroutine skip_IK(self, count, unit, sticky)
11133 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11134 : !DEC$ ATTRIBUTES DLLEXPORT :: skip_IK
11135 : #endif
11136 : class(display_type) , intent(inout) :: self
11137 : integer(IK) , intent(in), optional :: unit
11138 : integer(IK) , intent(in), optional :: count
11139 : logical(LK) , intent(in), optional :: sticky
11140 : end subroutine
11141 : end interface
11142 :
11143 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11144 :
11145 : !> \brief
11146 : !> This is a generic method of the derived type [display_type](@ref pm_io::display_type) with `pass` attribute.<br>
11147 : !>
11148 : !> \details
11149 : !> This method displays the input `object` of supported type and kind and rank in the specified output.<br>
11150 : !>
11151 : !> \param[in] object : The input object of either,<br>
11152 : !> <ul>
11153 : !> <li> scalar or array of rank `1` or `2` or `3` of type `character` of kind \SKALL, or<br>
11154 : !> <li> scalar or array of rank `1` or `2` or `3` of type `integer` of kind \IKALL, or<br>
11155 : !> <li> scalar or array of rank `1` or `2` or `3` of type `logical` of kind \LKALL, or<br>
11156 : !> <li> scalar or array of rank `1` or `2` or `3` of type `complex` of kind \CKALL, or<br>
11157 : !> <li> scalar or array of rank `1` or `2` or `3` of type `real` of kind \RKALL, or<br>
11158 : !> </ul>
11159 : !> <ul>
11160 : !> <li> scalar or array of rank `1` or `2` or `3` of type [css_type](@ref pm_container::css_type), or<br>
11161 : !> <li> scalar or array of rank `1` or `2` or `3` of type [csi_type](@ref pm_container::csi_type), or<br>
11162 : !> <li> scalar or array of rank `1` or `2` or `3` of type [csl_type](@ref pm_container::csl_type), or<br>
11163 : !> <li> scalar or array of rank `1` or `2` or `3` of type [csc_type](@ref pm_container::csc_type), or<br>
11164 : !> <li> scalar or array of rank `1` or `2` or `3` of type [csr_type](@ref pm_container::csr_type), or<br>
11165 : !> </ul>
11166 : !> <ul>
11167 : !> <li> scalar or array of rank `1` or `2` of type [cvs_type](@ref pm_container::cvs_type), or<br>
11168 : !> <li> scalar or array of rank `1` or `2` of type [cvi_type](@ref pm_container::cvi_type), or<br>
11169 : !> <li> scalar or array of rank `1` or `2` of type [cvl_type](@ref pm_container::cvl_type), or<br>
11170 : !> <li> scalar or array of rank `1` or `2` of type [cvc_type](@ref pm_container::cvc_type), or<br>
11171 : !> <li> scalar or array of rank `1` or `2` of type [cvr_type](@ref pm_container::cvr_type), or<br>
11172 : !> </ul>
11173 : !> <ul>
11174 : !> <li> scalar or array of rank `1` of type [cms_type](@ref pm_container::cms_type), or<br>
11175 : !> <li> scalar or array of rank `1` of type [cmi_type](@ref pm_container::cmi_type), or<br>
11176 : !> <li> scalar or array of rank `1` of type [cml_type](@ref pm_container::cml_type), or<br>
11177 : !> <li> scalar or array of rank `1` of type [cmc_type](@ref pm_container::cmc_type), or<br>
11178 : !> <li> scalar or array of rank `1` of type [cmr_type](@ref pm_container::cmr_type)<br>
11179 : !> </ul>
11180 : !> <ul>
11181 : !> <li> scalar of type [ccs_type](@ref pm_container::ccs_type), or<br>
11182 : !> <li> scalar of type [cci_type](@ref pm_container::cci_type), or<br>
11183 : !> <li> scalar of type [ccl_type](@ref pm_container::ccl_type), or<br>
11184 : !> <li> scalar of type [ccc_type](@ref pm_container::ccc_type), or<br>
11185 : !> <li> scalar of type [ccr_type](@ref pm_container::ccr_type)<br>
11186 : !> </ul>
11187 : !> <ul>
11188 : !> <li> scalar or array of rank `1` or `2` or `3` of type [css_pdt](@ref pm_container::css_pdt), or<br>
11189 : !> <li> scalar or array of rank `1` or `2` or `3` of type [csi_pdt](@ref pm_container::csi_pdt), or<br>
11190 : !> <li> scalar or array of rank `1` or `2` or `3` of type [csl_pdt](@ref pm_container::csl_pdt), or<br>
11191 : !> <li> scalar or array of rank `1` or `2` or `3` of type [csc_pdt](@ref pm_container::csc_pdt), or<br>
11192 : !> <li> scalar or array of rank `1` or `2` or `3` of type [csr_pdt](@ref pm_container::csr_pdt), or<br>
11193 : !> </ul>
11194 : !> <ul>
11195 : !> <li> scalar or array of rank `1` or `2` of type [cvs_pdt](@ref pm_container::cvs_pdt), or<br>
11196 : !> <li> scalar or array of rank `1` or `2` of type [cvi_pdt](@ref pm_container::cvi_pdt), or<br>
11197 : !> <li> scalar or array of rank `1` or `2` of type [cvl_pdt](@ref pm_container::cvl_pdt), or<br>
11198 : !> <li> scalar or array of rank `1` or `2` of type [cvc_pdt](@ref pm_container::cvc_pdt), or<br>
11199 : !> <li> scalar or array of rank `1` or `2` of type [cvr_pdt](@ref pm_container::cvr_pdt), or<br>
11200 : !> </ul>
11201 : !> <ul>
11202 : !> <li> scalar or array of rank `1` of type [cms_pdt](@ref pm_container::cms_pdt), or<br>
11203 : !> <li> scalar or array of rank `1` of type [cmi_pdt](@ref pm_container::cmi_pdt), or<br>
11204 : !> <li> scalar or array of rank `1` of type [cml_pdt](@ref pm_container::cml_pdt), or<br>
11205 : !> <li> scalar or array of rank `1` of type [cmc_pdt](@ref pm_container::cmc_pdt), or<br>
11206 : !> <li> scalar or array of rank `1` of type [cmr_pdt](@ref pm_container::cmr_pdt)<br>
11207 : !> </ul>
11208 : !> <ul>
11209 : !> <li> scalar of type [ccs_pdt](@ref pm_container::ccs_pdt), or<br>
11210 : !> <li> scalar of type [cci_pdt](@ref pm_container::cci_pdt), or<br>
11211 : !> <li> scalar of type [ccl_pdt](@ref pm_container::ccl_pdt), or<br>
11212 : !> <li> scalar of type [ccc_pdt](@ref pm_container::ccc_pdt), or<br>
11213 : !> <li> scalar of type [ccr_pdt](@ref pm_container::ccr_pdt)<br>
11214 : !> </ul>
11215 : !> containing the content to display.
11216 : !> \param[in] tmsize : The input scalar of `integer` of default kind \IK representing the number of empty lines preceding the object in the display.<br>
11217 : !> (**optional**, default = `0_IK`)
11218 : !> \param[in] bmsize : The input scalar of `integer` of default kind \IK representing the number of empty lines succeeding the object in the display.<br>
11219 : !> (**optional**, default = `0_IK`)
11220 : !> \param[in] count : The input scalar of `integer` of default kind \IK representing the number of times the object will have to be sequentially displayed in separate lines.<br>
11221 : !> (**optional**, default = `1_IK`)
11222 : !> \param[in] unit : The input scalar `integer` of default kind \IK representing the output display unit number where the text will be displayed.<br>
11223 : !> (**optional**, default = `display_type%%unit`)
11224 : !> \param[in] advance : The input scalar `character` of default kind \SK that must be either `NO` or `YES`.<br>
11225 : !> It has the same functionality and meaning as the `advance` argument in the Fortran intrinsic IO statement `read()`.<br>
11226 : !> (**optional**, default = `YES`)
11227 : !> \param[in] format : The input scalar `character` of default kind \SK containing the format with which the `object` should be displayed.<br>
11228 : !> If present, the input value is directly passed to the Fortran `write()` statement for a formatted display.<br>
11229 : !> (**optional**, default = `YES`)
11230 : !> \param[in] deliml : The input scalar of type `character` of default kind default kind \SK,
11231 : !> whose contents represent the left-delimiter to be used for left-wrapping fields of the input object.<br>
11232 : !> The common Fortran-style left-delimiter for `complex` fields is the left-parenthesis \f$\texttt{(}\f$.<br>
11233 : !> The two most common left-delimiters string fields are the single \f$\texttt{'}\f$ and double \f$\texttt{"}\f$ quotation marks.<br>
11234 : !> The left-delimiter is particularly relevant to string and `complex` objects that are passed to the methods of [display_type](@ref pm_io::display_type).<br>
11235 : !> The input `deliml` will be used for constructing the field format only if the input argument `format` is missing.<br>
11236 : !> (**optional**. default = `delimr` or if missing, the corresponding value from the `deliml` component of the parent `disp` object of this method.)
11237 : !> \param[in] delimr : The input scalar of type `character` of default kind default kind \SK,
11238 : !> whose contents represent the right-delimiter to be used for right-wrapping fields of the input object.<br>
11239 : !> The common Fortran-style right-delimiter for `complex` fields is the right-parenthesis \f$\texttt{)}\f$.<br>
11240 : !> The two most common right-delimiters string fields are the single \f$\texttt{'}\f$ and double \f$\texttt{"}\f$ quotation marks.<br>
11241 : !> The right-delimiter is particularly relevant to string and `complex` objects that are passed to the methods of [display_type](@ref pm_io::display_type).<br>
11242 : !> The input `delimr` will be used for constructing the field format only if the input argument `format` is missing.<br>
11243 : !> (**optional**. default = `deliml` or if missing, the corresponding value from the `delimr` component of the parent `disp` object of this method.)
11244 : !> \param[in] sticky : The input scalar `logical` of default kind \LK.<br>
11245 : !> If `.true.` the input arguments will update the corresponding components of
11246 : !> the parent object of type [display_type](@ref pm_io::display_type) for later usage.<br>
11247 : !> (**optional**, default = `.false._LK`)
11248 : !>
11249 : !> \interface{show}
11250 : !> \code{.F90}
11251 : !>
11252 : !> use pm_io, only: display_type
11253 : !> type(display_type) :: disp
11254 : !>
11255 : !> call disp%show( object &
11256 : !> , tmsize = tmsize &
11257 : !> , bmsize = bmsize &
11258 : !> , count = count &
11259 : !> , unit = unit &
11260 : !> , advance = advance &
11261 : !> , format = format &
11262 : !> , deliml = deliml &
11263 : !> , delimr = delimr &
11264 : !> , sticky = sticky &
11265 : !> )
11266 : !>
11267 : !> \endcode
11268 : !>
11269 : !> \impure
11270 : !>
11271 : !> \see
11272 : !> [wrap_type%%wrap()](@ref pm_io::wrap)<br>
11273 : !> [display_type%%show()](@ref pm_io::show)<br>
11274 : !> [display_type%%skip()](@ref pm_io::skip)<br>
11275 : !>
11276 : !> \example{show}
11277 : !> \include{lineno} example/pm_io/show/main.F90
11278 : !> \compilef{show}
11279 : !> \output{show}
11280 : !> \include{lineno} example/pm_io/show/main.out.F90
11281 : !>
11282 : !> \bug
11283 : !> \status \unresolved
11284 : !> \source \ifort{2021.5}
11285 : !> \desc
11286 : !> The \ifort{2021.5} cannot not compile the following interface specification for the procedures, yielding "ambiguous interface" error.<br>
11287 : !> \code{.F90}
11288 : !>
11289 : !> module container_module
11290 : !>
11291 : !> use iso_fortran_env
11292 : !>
11293 : !> integer, parameter :: lkc = logical_kinds(1)
11294 : !> integer, parameter :: ikc = integer_kinds(1)
11295 : !>
11296 : !> type :: container_ik(kind)
11297 : !> integer , kind :: kind = integer_kinds(1)
11298 : !> integer(kind) :: value
11299 : !> end type
11300 : !>
11301 : !> type :: container_lk(kind)
11302 : !> integer , kind :: kind = logical_kinds(1)
11303 : !> logical(kind) :: value
11304 : !> end type
11305 : !>
11306 : !> end module
11307 : !>
11308 : !> module disp_module
11309 : !>
11310 : !> use container_module
11311 : !>
11312 : !> type :: disp_type
11313 : !> end type
11314 : !>
11315 : !> interface show
11316 : !> module subroutine show_logical(self, object)
11317 : !> use container_module, only: container => container_lk
11318 : !> class(disp_type) , intent(inout) :: self
11319 : !> !type(container_lk(lkc)) , intent(in) :: object
11320 : !> type(container(lkc)) , intent(in) :: object
11321 : !> end subroutine
11322 : !> module subroutine show_integer(self, object)
11323 : !> use container_module, only: container => container_ik
11324 : !> class(disp_type) , intent(inout) :: self
11325 : !> !type(container_ik(ikc)) , intent(in) :: object
11326 : !> type(container(ikc)) , intent(in) :: object
11327 : !> end subroutine
11328 : !> end interface
11329 : !>
11330 : !> end module
11331 : !>
11332 : !> end
11333 : !>
11334 : !> \endcode
11335 : !> Note that the issue is with the aliasing of the pm_container module entities `use container_module, only: container => container_ik`.
11336 : !> \remedy
11337 : !> For now, all interfaces were painfully converted to explicit type names (instead of aliases).
11338 : !>
11339 : !> \todo
11340 : !> \pvhigh
11341 : !> The syntax of the procedure interfaces must be fixed and reverted to the original aliasing style, as soon as the \ifort{2021.5} bug is resolved.
11342 : !> Note that \gfortran{10-11} has no problem compiling the code.
11343 : !>
11344 : !> \finmain
11345 : !>
11346 : !> \author
11347 : !> \AmirShahmoradi, Oct 16, 2009, 11:14 AM, Michigan
11348 :
11349 : interface show
11350 :
11351 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11352 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11353 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11354 :
11355 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11356 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11357 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11358 :
11359 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11360 :
11361 : #if SK5_ENABLED
11362 : module subroutine show_D0_SK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11363 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11364 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_SK5
11365 : #endif
11366 : use pm_kind, only: SKC => SK5
11367 : class(display_type) , intent(inout) :: self
11368 : character(*,SKC) , intent(in) :: object
11369 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11370 : character(*, SK) , intent(in) , optional :: format, advance
11371 : logical(LK) , intent(in) , optional :: sticky
11372 : character(*, SK) , intent(in) , optional :: deliml, delimr
11373 : end subroutine
11374 : #endif
11375 :
11376 : #if SK4_ENABLED
11377 : module subroutine show_D0_SK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11378 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11379 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_SK4
11380 : #endif
11381 : use pm_kind, only: SKC => SK4
11382 : class(display_type) , intent(inout) :: self
11383 : character(*,SKC) , intent(in) :: object
11384 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11385 : character(*, SK) , intent(in) , optional :: format, advance
11386 : logical(LK) , intent(in) , optional :: sticky
11387 : character(*, SK) , intent(in) , optional :: deliml, delimr
11388 : end subroutine
11389 : #endif
11390 :
11391 : #if SK3_ENABLED
11392 : module subroutine show_D0_SK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11393 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11394 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_SK3
11395 : #endif
11396 : use pm_kind, only: SKC => SK3
11397 : class(display_type) , intent(inout) :: self
11398 : character(*,SKC) , intent(in) :: object
11399 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11400 : character(*, SK) , intent(in) , optional :: format, advance
11401 : logical(LK) , intent(in) , optional :: sticky
11402 : character(*, SK) , intent(in) , optional :: deliml, delimr
11403 : end subroutine
11404 : #endif
11405 :
11406 : #if SK2_ENABLED
11407 : module subroutine show_D0_SK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11408 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11409 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_SK2
11410 : #endif
11411 : use pm_kind, only: SKC => SK2
11412 : class(display_type) , intent(inout) :: self
11413 : character(*,SKC) , intent(in) :: object
11414 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11415 : character(*, SK) , intent(in) , optional :: format, advance
11416 : logical(LK) , intent(in) , optional :: sticky
11417 : character(*, SK) , intent(in) , optional :: deliml, delimr
11418 : end subroutine
11419 : #endif
11420 :
11421 : #if SK1_ENABLED
11422 : module subroutine show_D0_SK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11423 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11424 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_SK1
11425 : #endif
11426 : use pm_kind, only: SKC => SK1
11427 : class(display_type) , intent(inout) :: self
11428 : character(*,SKC) , intent(in) :: object
11429 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11430 : character(*, SK) , intent(in) , optional :: format, advance
11431 : logical(LK) , intent(in) , optional :: sticky
11432 : character(*, SK) , intent(in) , optional :: deliml, delimr
11433 : end subroutine
11434 : #endif
11435 :
11436 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11437 :
11438 : #if IK5_ENABLED
11439 : module subroutine show_D0_IK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11440 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11441 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_IK5
11442 : #endif
11443 : use pm_kind, only: SKC => SK, IKC => IK5
11444 : class(display_type) , intent(inout) :: self
11445 : integer(IKC) , intent(in) :: object
11446 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11447 : character(*, SK) , intent(in) , optional :: format, advance
11448 : logical(LK) , intent(in) , optional :: sticky
11449 : character(*, SK) , intent(in) , optional :: deliml, delimr
11450 : end subroutine
11451 : #endif
11452 :
11453 : #if IK4_ENABLED
11454 : module subroutine show_D0_IK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11455 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11456 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_IK4
11457 : #endif
11458 : use pm_kind, only: SKC => SK, IKC => IK4
11459 : class(display_type) , intent(inout) :: self
11460 : integer(IKC) , intent(in) :: object
11461 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11462 : character(*, SK) , intent(in) , optional :: format, advance
11463 : logical(LK) , intent(in) , optional :: sticky
11464 : character(*, SK) , intent(in) , optional :: deliml, delimr
11465 : end subroutine
11466 : #endif
11467 :
11468 : #if IK3_ENABLED
11469 : module subroutine show_D0_IK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11470 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11471 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_IK3
11472 : #endif
11473 : use pm_kind, only: SKC => SK, IKC => IK3
11474 : class(display_type) , intent(inout) :: self
11475 : integer(IKC) , intent(in) :: object
11476 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11477 : character(*, SK) , intent(in) , optional :: format, advance
11478 : logical(LK) , intent(in) , optional :: sticky
11479 : character(*, SK) , intent(in) , optional :: deliml, delimr
11480 : end subroutine
11481 : #endif
11482 :
11483 : #if IK2_ENABLED
11484 : module subroutine show_D0_IK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11485 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11486 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_IK2
11487 : #endif
11488 : use pm_kind, only: SKC => SK, IKC => IK2
11489 : class(display_type) , intent(inout) :: self
11490 : integer(IKC) , intent(in) :: object
11491 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11492 : character(*, SK) , intent(in) , optional :: format, advance
11493 : logical(LK) , intent(in) , optional :: sticky
11494 : character(*, SK) , intent(in) , optional :: deliml, delimr
11495 : end subroutine
11496 : #endif
11497 :
11498 : #if IK1_ENABLED
11499 : module subroutine show_D0_IK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11500 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11501 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_IK1
11502 : #endif
11503 : use pm_kind, only: SKC => SK, IKC => IK1
11504 : class(display_type) , intent(inout) :: self
11505 : integer(IKC) , intent(in) :: object
11506 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11507 : character(*, SK) , intent(in) , optional :: format, advance
11508 : logical(LK) , intent(in) , optional :: sticky
11509 : character(*, SK) , intent(in) , optional :: deliml, delimr
11510 : end subroutine
11511 : #endif
11512 :
11513 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11514 :
11515 : #if LK5_ENABLED
11516 : module subroutine show_D0_LK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11517 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11518 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_LK5
11519 : #endif
11520 : use pm_kind, only: SKC => SK, LKC => LK5
11521 : class(display_type) , intent(inout) :: self
11522 : logical(LKC) , intent(in) :: object
11523 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11524 : character(*, SK) , intent(in) , optional :: format, advance
11525 : logical(LK) , intent(in) , optional :: sticky
11526 : character(*, SK) , intent(in) , optional :: deliml, delimr
11527 : end subroutine
11528 : #endif
11529 :
11530 : #if LK4_ENABLED
11531 : module subroutine show_D0_LK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11532 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11533 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_LK4
11534 : #endif
11535 : use pm_kind, only: SKC => SK, LKC => LK4
11536 : class(display_type) , intent(inout) :: self
11537 : logical(LKC) , intent(in) :: object
11538 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11539 : character(*, SK) , intent(in) , optional :: format, advance
11540 : logical(LK) , intent(in) , optional :: sticky
11541 : character(*, SK) , intent(in) , optional :: deliml, delimr
11542 : end subroutine
11543 : #endif
11544 :
11545 : #if LK3_ENABLED
11546 : module subroutine show_D0_LK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11547 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11548 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_LK3
11549 : #endif
11550 : use pm_kind, only: SKC => SK, LKC => LK3
11551 : class(display_type) , intent(inout) :: self
11552 : logical(LKC) , intent(in) :: object
11553 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11554 : character(*, SK) , intent(in) , optional :: format, advance
11555 : logical(LK) , intent(in) , optional :: sticky
11556 : character(*, SK) , intent(in) , optional :: deliml, delimr
11557 : end subroutine
11558 : #endif
11559 :
11560 : #if LK2_ENABLED
11561 : module subroutine show_D0_LK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11562 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11563 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_LK2
11564 : #endif
11565 : use pm_kind, only: SKC => SK, LKC => LK2
11566 : class(display_type) , intent(inout) :: self
11567 : logical(LKC) , intent(in) :: object
11568 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11569 : character(*, SK) , intent(in) , optional :: format, advance
11570 : logical(LK) , intent(in) , optional :: sticky
11571 : character(*, SK) , intent(in) , optional :: deliml, delimr
11572 : end subroutine
11573 : #endif
11574 :
11575 : #if LK1_ENABLED
11576 : module subroutine show_D0_LK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11577 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11578 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_LK1
11579 : #endif
11580 : use pm_kind, only: SKC => SK, LKC => LK1
11581 : class(display_type) , intent(inout) :: self
11582 : logical(LKC) , intent(in) :: object
11583 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11584 : character(*, SK) , intent(in) , optional :: format, advance
11585 : logical(LK) , intent(in) , optional :: sticky
11586 : character(*, SK) , intent(in) , optional :: deliml, delimr
11587 : end subroutine
11588 : #endif
11589 :
11590 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11591 :
11592 : #if CK5_ENABLED
11593 : module subroutine show_D0_CK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11594 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11595 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_CK5
11596 : #endif
11597 : use pm_kind, only: SKC => SK, CKC => CK5
11598 : class(display_type) , intent(inout) :: self
11599 : complex(CKC) , intent(in) :: object
11600 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11601 : character(*, SK) , intent(in) , optional :: format, advance
11602 : logical(LK) , intent(in) , optional :: sticky
11603 : character(*, SK) , intent(in) , optional :: deliml, delimr
11604 : end subroutine
11605 : #endif
11606 :
11607 : #if CK4_ENABLED
11608 : module subroutine show_D0_CK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11609 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11610 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_CK4
11611 : #endif
11612 : use pm_kind, only: SKC => SK, CKC => CK4
11613 : class(display_type) , intent(inout) :: self
11614 : complex(CKC) , intent(in) :: object
11615 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11616 : character(*, SK) , intent(in) , optional :: format, advance
11617 : logical(LK) , intent(in) , optional :: sticky
11618 : character(*, SK) , intent(in) , optional :: deliml, delimr
11619 : end subroutine
11620 : #endif
11621 :
11622 : #if CK3_ENABLED
11623 : module subroutine show_D0_CK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11624 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11625 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_CK3
11626 : #endif
11627 : use pm_kind, only: SKC => SK, CKC => CK3
11628 : class(display_type) , intent(inout) :: self
11629 : complex(CKC) , intent(in) :: object
11630 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11631 : character(*, SK) , intent(in) , optional :: format, advance
11632 : logical(LK) , intent(in) , optional :: sticky
11633 : character(*, SK) , intent(in) , optional :: deliml, delimr
11634 : end subroutine
11635 : #endif
11636 :
11637 : #if CK2_ENABLED
11638 : module subroutine show_D0_CK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11639 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11640 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_CK2
11641 : #endif
11642 : use pm_kind, only: SKC => SK, CKC => CK2
11643 : class(display_type) , intent(inout) :: self
11644 : complex(CKC) , intent(in) :: object
11645 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11646 : character(*, SK) , intent(in) , optional :: format, advance
11647 : logical(LK) , intent(in) , optional :: sticky
11648 : character(*, SK) , intent(in) , optional :: deliml, delimr
11649 : end subroutine
11650 : #endif
11651 :
11652 : #if CK1_ENABLED
11653 : module subroutine show_D0_CK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11654 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11655 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_CK1
11656 : #endif
11657 : use pm_kind, only: SKC => SK, CKC => CK1
11658 : class(display_type) , intent(inout) :: self
11659 : complex(CKC) , intent(in) :: object
11660 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11661 : character(*, SK) , intent(in) , optional :: format, advance
11662 : logical(LK) , intent(in) , optional :: sticky
11663 : character(*, SK) , intent(in) , optional :: deliml, delimr
11664 : end subroutine
11665 : #endif
11666 :
11667 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11668 :
11669 : #if RK5_ENABLED
11670 : module subroutine show_D0_RK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11671 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11672 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_RK5
11673 : #endif
11674 : use pm_kind, only: SKC => SK, RKC => RK5
11675 : class(display_type) , intent(inout) :: self
11676 : real(RKC) , intent(in) :: object
11677 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11678 : character(*, SK) , intent(in) , optional :: format, advance
11679 : logical(LK) , intent(in) , optional :: sticky
11680 : character(*, SK) , intent(in) , optional :: deliml, delimr
11681 : end subroutine
11682 : #endif
11683 :
11684 : #if RK4_ENABLED
11685 : module subroutine show_D0_RK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11686 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11687 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_RK4
11688 : #endif
11689 : use pm_kind, only: SKC => SK, RKC => RK4
11690 : class(display_type) , intent(inout) :: self
11691 : real(RKC) , intent(in) :: object
11692 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11693 : character(*, SK) , intent(in) , optional :: format, advance
11694 : logical(LK) , intent(in) , optional :: sticky
11695 : character(*, SK) , intent(in) , optional :: deliml, delimr
11696 : end subroutine
11697 : #endif
11698 :
11699 : #if RK3_ENABLED
11700 : module subroutine show_D0_RK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11701 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11702 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_RK3
11703 : #endif
11704 : use pm_kind, only: SKC => SK, RKC => RK3
11705 : class(display_type) , intent(inout) :: self
11706 : real(RKC) , intent(in) :: object
11707 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11708 : character(*, SK) , intent(in) , optional :: format, advance
11709 : logical(LK) , intent(in) , optional :: sticky
11710 : character(*, SK) , intent(in) , optional :: deliml, delimr
11711 : end subroutine
11712 : #endif
11713 :
11714 : #if RK2_ENABLED
11715 : module subroutine show_D0_RK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11716 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11717 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_RK2
11718 : #endif
11719 : use pm_kind, only: SKC => SK, RKC => RK2
11720 : class(display_type) , intent(inout) :: self
11721 : real(RKC) , intent(in) :: object
11722 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11723 : character(*, SK) , intent(in) , optional :: format, advance
11724 : logical(LK) , intent(in) , optional :: sticky
11725 : character(*, SK) , intent(in) , optional :: deliml, delimr
11726 : end subroutine
11727 : #endif
11728 :
11729 : #if RK1_ENABLED
11730 : module subroutine show_D0_RK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11731 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11732 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_RK1
11733 : #endif
11734 : use pm_kind, only: SKC => SK, RKC => RK1
11735 : class(display_type) , intent(inout) :: self
11736 : real(RKC) , intent(in) :: object
11737 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11738 : character(*, SK) , intent(in) , optional :: format, advance
11739 : logical(LK) , intent(in) , optional :: sticky
11740 : character(*, SK) , intent(in) , optional :: deliml, delimr
11741 : end subroutine
11742 : #endif
11743 :
11744 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11745 :
11746 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11747 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11748 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11749 :
11750 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11751 :
11752 : #if SK5_ENABLED
11753 : module subroutine show_D1_SK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11754 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11755 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_SK5
11756 : #endif
11757 : use pm_kind, only: SKC => SK5
11758 : class(display_type) , intent(inout) :: self
11759 : character(*,SKC) , intent(in) __CONTIGUOUS :: object(:)
11760 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11761 : character(*, SK) , intent(in) , optional :: format, advance
11762 : logical(LK) , intent(in) , optional :: sticky
11763 : character(*, SK) , intent(in) , optional :: deliml, delimr
11764 : end subroutine
11765 : #endif
11766 :
11767 : #if SK4_ENABLED
11768 : module subroutine show_D1_SK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11769 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11770 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_SK4
11771 : #endif
11772 : use pm_kind, only: SKC => SK4
11773 : class(display_type) , intent(inout) :: self
11774 : character(*,SKC) , intent(in) __CONTIGUOUS :: object(:)
11775 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11776 : character(*, SK) , intent(in) , optional :: format, advance
11777 : logical(LK) , intent(in) , optional :: sticky
11778 : character(*, SK) , intent(in) , optional :: deliml, delimr
11779 : end subroutine
11780 : #endif
11781 :
11782 : #if SK3_ENABLED
11783 : module subroutine show_D1_SK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11784 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11785 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_SK3
11786 : #endif
11787 : use pm_kind, only: SKC => SK3
11788 : class(display_type) , intent(inout) :: self
11789 : character(*,SKC) , intent(in) __CONTIGUOUS :: object(:)
11790 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11791 : character(*, SK) , intent(in) , optional :: format, advance
11792 : logical(LK) , intent(in) , optional :: sticky
11793 : character(*, SK) , intent(in) , optional :: deliml, delimr
11794 : end subroutine
11795 : #endif
11796 :
11797 : #if SK2_ENABLED
11798 : module subroutine show_D1_SK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11799 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11800 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_SK2
11801 : #endif
11802 : use pm_kind, only: SKC => SK2
11803 : class(display_type) , intent(inout) :: self
11804 : character(*,SKC) , intent(in) __CONTIGUOUS :: object(:)
11805 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11806 : character(*, SK) , intent(in) , optional :: format, advance
11807 : logical(LK) , intent(in) , optional :: sticky
11808 : character(*, SK) , intent(in) , optional :: deliml, delimr
11809 : end subroutine
11810 : #endif
11811 :
11812 : #if SK1_ENABLED
11813 : module subroutine show_D1_SK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11814 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11815 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_SK1
11816 : #endif
11817 : use pm_kind, only: SKC => SK1
11818 : class(display_type) , intent(inout) :: self
11819 : character(*,SKC) , intent(in) __CONTIGUOUS :: object(:)
11820 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11821 : character(*, SK) , intent(in) , optional :: format, advance
11822 : logical(LK) , intent(in) , optional :: sticky
11823 : character(*, SK) , intent(in) , optional :: deliml, delimr
11824 : end subroutine
11825 : #endif
11826 :
11827 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11828 :
11829 : #if IK5_ENABLED
11830 : module subroutine show_D1_IK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11831 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11832 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_IK5
11833 : #endif
11834 : use pm_kind, only: SKC => SK, IKC => IK5
11835 : class(display_type) , intent(inout) :: self
11836 : integer(IKC) , intent(in) __CONTIGUOUS :: object(:)
11837 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11838 : character(*, SK) , intent(in) , optional :: format, advance
11839 : logical(LK) , intent(in) , optional :: sticky
11840 : character(*, SK) , intent(in) , optional :: deliml, delimr
11841 : end subroutine
11842 : #endif
11843 :
11844 : #if IK4_ENABLED
11845 : module subroutine show_D1_IK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11846 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11847 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_IK4
11848 : #endif
11849 : use pm_kind, only: SKC => SK, IKC => IK4
11850 : class(display_type) , intent(inout) :: self
11851 : integer(IKC) , intent(in) __CONTIGUOUS :: object(:)
11852 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11853 : character(*, SK) , intent(in) , optional :: format, advance
11854 : logical(LK) , intent(in) , optional :: sticky
11855 : character(*, SK) , intent(in) , optional :: deliml, delimr
11856 : end subroutine
11857 : #endif
11858 :
11859 : #if IK3_ENABLED
11860 : module subroutine show_D1_IK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11861 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11862 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_IK3
11863 : #endif
11864 : use pm_kind, only: SKC => SK, IKC => IK3
11865 : class(display_type) , intent(inout) :: self
11866 : integer(IKC) , intent(in) __CONTIGUOUS :: object(:)
11867 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11868 : character(*, SK) , intent(in) , optional :: format, advance
11869 : logical(LK) , intent(in) , optional :: sticky
11870 : character(*, SK) , intent(in) , optional :: deliml, delimr
11871 : end subroutine
11872 : #endif
11873 :
11874 : #if IK2_ENABLED
11875 : module subroutine show_D1_IK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11876 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11877 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_IK2
11878 : #endif
11879 : use pm_kind, only: SKC => SK, IKC => IK2
11880 : class(display_type) , intent(inout) :: self
11881 : integer(IKC) , intent(in) __CONTIGUOUS :: object(:)
11882 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11883 : character(*, SK) , intent(in) , optional :: format, advance
11884 : logical(LK) , intent(in) , optional :: sticky
11885 : character(*, SK) , intent(in) , optional :: deliml, delimr
11886 : end subroutine
11887 : #endif
11888 :
11889 : #if IK1_ENABLED
11890 : module subroutine show_D1_IK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11891 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11892 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_IK1
11893 : #endif
11894 : use pm_kind, only: SKC => SK, IKC => IK1
11895 : class(display_type) , intent(inout) :: self
11896 : integer(IKC) , intent(in) __CONTIGUOUS :: object(:)
11897 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11898 : character(*, SK) , intent(in) , optional :: format, advance
11899 : logical(LK) , intent(in) , optional :: sticky
11900 : character(*, SK) , intent(in) , optional :: deliml, delimr
11901 : end subroutine
11902 : #endif
11903 :
11904 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11905 :
11906 : #if LK5_ENABLED
11907 : module subroutine show_D1_LK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11908 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11909 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_LK5
11910 : #endif
11911 : use pm_kind, only: SKC => SK, LKC => LK5
11912 : class(display_type) , intent(inout) :: self
11913 : logical(LKC) , intent(in) __CONTIGUOUS :: object(:)
11914 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11915 : character(*, SK) , intent(in) , optional :: format, advance
11916 : logical(LK) , intent(in) , optional :: sticky
11917 : character(*, SK) , intent(in) , optional :: deliml, delimr
11918 : end subroutine
11919 : #endif
11920 :
11921 : #if LK4_ENABLED
11922 : module subroutine show_D1_LK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11923 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11924 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_LK4
11925 : #endif
11926 : use pm_kind, only: SKC => SK, LKC => LK4
11927 : class(display_type) , intent(inout) :: self
11928 : logical(LKC) , intent(in) __CONTIGUOUS :: object(:)
11929 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11930 : character(*, SK) , intent(in) , optional :: format, advance
11931 : logical(LK) , intent(in) , optional :: sticky
11932 : character(*, SK) , intent(in) , optional :: deliml, delimr
11933 : end subroutine
11934 : #endif
11935 :
11936 : #if LK3_ENABLED
11937 : module subroutine show_D1_LK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11938 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11939 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_LK3
11940 : #endif
11941 : use pm_kind, only: SKC => SK, LKC => LK3
11942 : class(display_type) , intent(inout) :: self
11943 : logical(LKC) , intent(in) __CONTIGUOUS :: object(:)
11944 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11945 : character(*, SK) , intent(in) , optional :: format, advance
11946 : logical(LK) , intent(in) , optional :: sticky
11947 : character(*, SK) , intent(in) , optional :: deliml, delimr
11948 : end subroutine
11949 : #endif
11950 :
11951 : #if LK2_ENABLED
11952 : module subroutine show_D1_LK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11953 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11954 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_LK2
11955 : #endif
11956 : use pm_kind, only: SKC => SK, LKC => LK2
11957 : class(display_type) , intent(inout) :: self
11958 : logical(LKC) , intent(in) __CONTIGUOUS :: object(:)
11959 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11960 : character(*, SK) , intent(in) , optional :: format, advance
11961 : logical(LK) , intent(in) , optional :: sticky
11962 : character(*, SK) , intent(in) , optional :: deliml, delimr
11963 : end subroutine
11964 : #endif
11965 :
11966 : #if LK1_ENABLED
11967 : module subroutine show_D1_LK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11968 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11969 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_LK1
11970 : #endif
11971 : use pm_kind, only: SKC => SK, LKC => LK1
11972 : class(display_type) , intent(inout) :: self
11973 : logical(LKC) , intent(in) __CONTIGUOUS :: object(:)
11974 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11975 : character(*, SK) , intent(in) , optional :: format, advance
11976 : logical(LK) , intent(in) , optional :: sticky
11977 : character(*, SK) , intent(in) , optional :: deliml, delimr
11978 : end subroutine
11979 : #endif
11980 :
11981 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11982 :
11983 : #if CK5_ENABLED
11984 : module subroutine show_D1_CK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
11985 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
11986 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_CK5
11987 : #endif
11988 : use pm_kind, only: SKC => SK, CKC => CK5
11989 : class(display_type) , intent(inout) :: self
11990 : complex(CKC) , intent(in) __CONTIGUOUS :: object(:)
11991 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
11992 : character(*, SK) , intent(in) , optional :: format, advance
11993 : logical(LK) , intent(in) , optional :: sticky
11994 : character(*, SK) , intent(in) , optional :: deliml, delimr
11995 : end subroutine
11996 : #endif
11997 :
11998 : #if CK4_ENABLED
11999 : module subroutine show_D1_CK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12000 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12001 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_CK4
12002 : #endif
12003 : use pm_kind, only: SKC => SK, CKC => CK4
12004 : class(display_type) , intent(inout) :: self
12005 : complex(CKC) , intent(in) __CONTIGUOUS :: object(:)
12006 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12007 : character(*, SK) , intent(in) , optional :: format, advance
12008 : logical(LK) , intent(in) , optional :: sticky
12009 : character(*, SK) , intent(in) , optional :: deliml, delimr
12010 : end subroutine
12011 : #endif
12012 :
12013 : #if CK3_ENABLED
12014 : module subroutine show_D1_CK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12015 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12016 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_CK3
12017 : #endif
12018 : use pm_kind, only: SKC => SK, CKC => CK3
12019 : class(display_type) , intent(inout) :: self
12020 : complex(CKC) , intent(in) __CONTIGUOUS :: object(:)
12021 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12022 : character(*, SK) , intent(in) , optional :: format, advance
12023 : logical(LK) , intent(in) , optional :: sticky
12024 : character(*, SK) , intent(in) , optional :: deliml, delimr
12025 : end subroutine
12026 : #endif
12027 :
12028 : #if CK2_ENABLED
12029 : module subroutine show_D1_CK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12030 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12031 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_CK2
12032 : #endif
12033 : use pm_kind, only: SKC => SK, CKC => CK2
12034 : class(display_type) , intent(inout) :: self
12035 : complex(CKC) , intent(in) __CONTIGUOUS :: object(:)
12036 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12037 : character(*, SK) , intent(in) , optional :: format, advance
12038 : logical(LK) , intent(in) , optional :: sticky
12039 : character(*, SK) , intent(in) , optional :: deliml, delimr
12040 : end subroutine
12041 : #endif
12042 :
12043 : #if CK1_ENABLED
12044 : module subroutine show_D1_CK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12045 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12046 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_CK1
12047 : #endif
12048 : use pm_kind, only: SKC => SK, CKC => CK1
12049 : class(display_type) , intent(inout) :: self
12050 : complex(CKC) , intent(in) __CONTIGUOUS :: object(:)
12051 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12052 : character(*, SK) , intent(in) , optional :: format, advance
12053 : logical(LK) , intent(in) , optional :: sticky
12054 : character(*, SK) , intent(in) , optional :: deliml, delimr
12055 : end subroutine
12056 : #endif
12057 :
12058 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12059 :
12060 : #if RK5_ENABLED
12061 : module subroutine show_D1_RK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12062 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12063 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_RK5
12064 : #endif
12065 : use pm_kind, only: SKC => SK, RKC => RK5
12066 : class(display_type) , intent(inout) :: self
12067 : real(RKC) , intent(in) __CONTIGUOUS :: object(:)
12068 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12069 : character(*, SK) , intent(in) , optional :: format, advance
12070 : logical(LK) , intent(in) , optional :: sticky
12071 : character(*, SK) , intent(in) , optional :: deliml, delimr
12072 : end subroutine
12073 : #endif
12074 :
12075 : #if RK4_ENABLED
12076 : module subroutine show_D1_RK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12077 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12078 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_RK4
12079 : #endif
12080 : use pm_kind, only: SKC => SK, RKC => RK4
12081 : class(display_type) , intent(inout) :: self
12082 : real(RKC) , intent(in) __CONTIGUOUS :: object(:)
12083 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12084 : character(*, SK) , intent(in) , optional :: format, advance
12085 : logical(LK) , intent(in) , optional :: sticky
12086 : character(*, SK) , intent(in) , optional :: deliml, delimr
12087 : end subroutine
12088 : #endif
12089 :
12090 : #if RK3_ENABLED
12091 : module subroutine show_D1_RK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12092 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12093 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_RK3
12094 : #endif
12095 : use pm_kind, only: SKC => SK, RKC => RK3
12096 : class(display_type) , intent(inout) :: self
12097 : real(RKC) , intent(in) __CONTIGUOUS :: object(:)
12098 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12099 : character(*, SK) , intent(in) , optional :: format, advance
12100 : logical(LK) , intent(in) , optional :: sticky
12101 : character(*, SK) , intent(in) , optional :: deliml, delimr
12102 : end subroutine
12103 : #endif
12104 :
12105 : #if RK2_ENABLED
12106 : module subroutine show_D1_RK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12107 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12108 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_RK2
12109 : #endif
12110 : use pm_kind, only: SKC => SK, RKC => RK2
12111 : class(display_type) , intent(inout) :: self
12112 : real(RKC) , intent(in) __CONTIGUOUS :: object(:)
12113 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12114 : character(*, SK) , intent(in) , optional :: format, advance
12115 : logical(LK) , intent(in) , optional :: sticky
12116 : character(*, SK) , intent(in) , optional :: deliml, delimr
12117 : end subroutine
12118 : #endif
12119 :
12120 : #if RK1_ENABLED
12121 : module subroutine show_D1_RK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12122 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12123 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_RK1
12124 : #endif
12125 : use pm_kind, only: SKC => SK, RKC => RK1
12126 : class(display_type) , intent(inout) :: self
12127 : real(RKC) , intent(in) __CONTIGUOUS :: object(:)
12128 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12129 : character(*, SK) , intent(in) , optional :: format, advance
12130 : logical(LK) , intent(in) , optional :: sticky
12131 : character(*, SK) , intent(in) , optional :: deliml, delimr
12132 : end subroutine
12133 : #endif
12134 :
12135 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12136 :
12137 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12138 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12139 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12140 :
12141 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12142 :
12143 : #if SK5_ENABLED
12144 : module subroutine show_D2_SK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12145 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12146 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_SK5
12147 : #endif
12148 : use pm_kind, only: SKC => SK5
12149 : class(display_type) , intent(inout) :: self
12150 : character(*,SKC) , intent(in) __CONTIGUOUS :: object(:,:)
12151 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12152 : character(*, SK) , intent(in) , optional :: format, advance
12153 : logical(LK) , intent(in) , optional :: sticky
12154 : character(*, SK) , intent(in) , optional :: deliml, delimr
12155 : end subroutine
12156 : #endif
12157 :
12158 : #if SK4_ENABLED
12159 : module subroutine show_D2_SK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12160 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12161 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_SK4
12162 : #endif
12163 : use pm_kind, only: SKC => SK4
12164 : class(display_type) , intent(inout) :: self
12165 : character(*,SKC) , intent(in) __CONTIGUOUS :: object(:,:)
12166 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12167 : character(*, SK) , intent(in) , optional :: format, advance
12168 : logical(LK) , intent(in) , optional :: sticky
12169 : character(*, SK) , intent(in) , optional :: deliml, delimr
12170 : end subroutine
12171 : #endif
12172 :
12173 : #if SK3_ENABLED
12174 : module subroutine show_D2_SK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12175 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12176 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_SK3
12177 : #endif
12178 : use pm_kind, only: SKC => SK3
12179 : class(display_type) , intent(inout) :: self
12180 : character(*,SKC) , intent(in) __CONTIGUOUS :: object(:,:)
12181 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12182 : character(*, SK) , intent(in) , optional :: format, advance
12183 : logical(LK) , intent(in) , optional :: sticky
12184 : character(*, SK) , intent(in) , optional :: deliml, delimr
12185 : end subroutine
12186 : #endif
12187 :
12188 : #if SK2_ENABLED
12189 : module subroutine show_D2_SK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12190 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12191 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_SK2
12192 : #endif
12193 : use pm_kind, only: SKC => SK2
12194 : class(display_type) , intent(inout) :: self
12195 : character(*,SKC) , intent(in) __CONTIGUOUS :: object(:,:)
12196 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12197 : character(*, SK) , intent(in) , optional :: format, advance
12198 : logical(LK) , intent(in) , optional :: sticky
12199 : character(*, SK) , intent(in) , optional :: deliml, delimr
12200 : end subroutine
12201 : #endif
12202 :
12203 : #if SK1_ENABLED
12204 : module subroutine show_D2_SK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12205 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12206 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_SK1
12207 : #endif
12208 : use pm_kind, only: SKC => SK1
12209 : class(display_type) , intent(inout) :: self
12210 : character(*,SKC) , intent(in) __CONTIGUOUS :: object(:,:)
12211 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12212 : character(*, SK) , intent(in) , optional :: format, advance
12213 : logical(LK) , intent(in) , optional :: sticky
12214 : character(*, SK) , intent(in) , optional :: deliml, delimr
12215 : end subroutine
12216 : #endif
12217 :
12218 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12219 :
12220 : #if IK5_ENABLED
12221 : module subroutine show_D2_IK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12222 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12223 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_IK5
12224 : #endif
12225 : use pm_kind, only: SKC => SK, IKC => IK5
12226 : class(display_type) , intent(inout) :: self
12227 : integer(IKC) , intent(in) __CONTIGUOUS :: object(:,:)
12228 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12229 : character(*, SK) , intent(in) , optional :: format, advance
12230 : logical(LK) , intent(in) , optional :: sticky
12231 : character(*, SK) , intent(in) , optional :: deliml, delimr
12232 : end subroutine
12233 : #endif
12234 :
12235 : #if IK4_ENABLED
12236 : module subroutine show_D2_IK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12237 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12238 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_IK4
12239 : #endif
12240 : use pm_kind, only: SKC => SK, IKC => IK4
12241 : class(display_type) , intent(inout) :: self
12242 : integer(IKC) , intent(in) __CONTIGUOUS :: object(:,:)
12243 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12244 : character(*, SK) , intent(in) , optional :: format, advance
12245 : logical(LK) , intent(in) , optional :: sticky
12246 : character(*, SK) , intent(in) , optional :: deliml, delimr
12247 : end subroutine
12248 : #endif
12249 :
12250 : #if IK3_ENABLED
12251 : module subroutine show_D2_IK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12252 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12253 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_IK3
12254 : #endif
12255 : use pm_kind, only: SKC => SK, IKC => IK3
12256 : class(display_type) , intent(inout) :: self
12257 : integer(IKC) , intent(in) __CONTIGUOUS :: object(:,:)
12258 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12259 : character(*, SK) , intent(in) , optional :: format, advance
12260 : logical(LK) , intent(in) , optional :: sticky
12261 : character(*, SK) , intent(in) , optional :: deliml, delimr
12262 : end subroutine
12263 : #endif
12264 :
12265 : #if IK2_ENABLED
12266 : module subroutine show_D2_IK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12267 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12268 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_IK2
12269 : #endif
12270 : use pm_kind, only: SKC => SK, IKC => IK2
12271 : class(display_type) , intent(inout) :: self
12272 : integer(IKC) , intent(in) __CONTIGUOUS :: object(:,:)
12273 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12274 : character(*, SK) , intent(in) , optional :: format, advance
12275 : logical(LK) , intent(in) , optional :: sticky
12276 : character(*, SK) , intent(in) , optional :: deliml, delimr
12277 : end subroutine
12278 : #endif
12279 :
12280 : #if IK1_ENABLED
12281 : module subroutine show_D2_IK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12282 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12283 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_IK1
12284 : #endif
12285 : use pm_kind, only: SKC => SK, IKC => IK1
12286 : class(display_type) , intent(inout) :: self
12287 : integer(IKC) , intent(in) __CONTIGUOUS :: object(:,:)
12288 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12289 : character(*, SK) , intent(in) , optional :: format, advance
12290 : logical(LK) , intent(in) , optional :: sticky
12291 : character(*, SK) , intent(in) , optional :: deliml, delimr
12292 : end subroutine
12293 : #endif
12294 :
12295 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12296 :
12297 : #if LK5_ENABLED
12298 : module subroutine show_D2_LK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12299 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12300 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_LK5
12301 : #endif
12302 : use pm_kind, only: SKC => SK, LKC => LK5
12303 : class(display_type) , intent(inout) :: self
12304 : logical(LKC) , intent(in) __CONTIGUOUS :: object(:,:)
12305 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12306 : character(*, SK) , intent(in) , optional :: format, advance
12307 : logical(LK) , intent(in) , optional :: sticky
12308 : character(*, SK) , intent(in) , optional :: deliml, delimr
12309 : end subroutine
12310 : #endif
12311 :
12312 : #if LK4_ENABLED
12313 : module subroutine show_D2_LK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12314 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12315 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_LK4
12316 : #endif
12317 : use pm_kind, only: SKC => SK, LKC => LK4
12318 : class(display_type) , intent(inout) :: self
12319 : logical(LKC) , intent(in) __CONTIGUOUS :: object(:,:)
12320 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12321 : character(*, SK) , intent(in) , optional :: format, advance
12322 : logical(LK) , intent(in) , optional :: sticky
12323 : character(*, SK) , intent(in) , optional :: deliml, delimr
12324 : end subroutine
12325 : #endif
12326 :
12327 : #if LK3_ENABLED
12328 : module subroutine show_D2_LK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12329 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12330 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_LK3
12331 : #endif
12332 : use pm_kind, only: SKC => SK, LKC => LK3
12333 : class(display_type) , intent(inout) :: self
12334 : logical(LKC) , intent(in) __CONTIGUOUS :: object(:,:)
12335 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12336 : character(*, SK) , intent(in) , optional :: format, advance
12337 : logical(LK) , intent(in) , optional :: sticky
12338 : character(*, SK) , intent(in) , optional :: deliml, delimr
12339 : end subroutine
12340 : #endif
12341 :
12342 : #if LK2_ENABLED
12343 : module subroutine show_D2_LK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12344 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12345 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_LK2
12346 : #endif
12347 : use pm_kind, only: SKC => SK, LKC => LK2
12348 : class(display_type) , intent(inout) :: self
12349 : logical(LKC) , intent(in) __CONTIGUOUS :: object(:,:)
12350 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12351 : character(*, SK) , intent(in) , optional :: format, advance
12352 : logical(LK) , intent(in) , optional :: sticky
12353 : character(*, SK) , intent(in) , optional :: deliml, delimr
12354 : end subroutine
12355 : #endif
12356 :
12357 : #if LK1_ENABLED
12358 : module subroutine show_D2_LK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12359 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12360 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_LK1
12361 : #endif
12362 : use pm_kind, only: SKC => SK, LKC => LK1
12363 : class(display_type) , intent(inout) :: self
12364 : logical(LKC) , intent(in) __CONTIGUOUS :: object(:,:)
12365 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12366 : character(*, SK) , intent(in) , optional :: format, advance
12367 : logical(LK) , intent(in) , optional :: sticky
12368 : character(*, SK) , intent(in) , optional :: deliml, delimr
12369 : end subroutine
12370 : #endif
12371 :
12372 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12373 :
12374 : #if CK5_ENABLED
12375 : module subroutine show_D2_CK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12376 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12377 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_CK5
12378 : #endif
12379 : use pm_kind, only: SKC => SK, CKC => CK5
12380 : class(display_type) , intent(inout) :: self
12381 : complex(CKC) , intent(in) __CONTIGUOUS :: object(:,:)
12382 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12383 : character(*, SK) , intent(in) , optional :: format, advance
12384 : logical(LK) , intent(in) , optional :: sticky
12385 : character(*, SK) , intent(in) , optional :: deliml, delimr
12386 : end subroutine
12387 : #endif
12388 :
12389 : #if CK4_ENABLED
12390 : module subroutine show_D2_CK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12391 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12392 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_CK4
12393 : #endif
12394 : use pm_kind, only: SKC => SK, CKC => CK4
12395 : class(display_type) , intent(inout) :: self
12396 : complex(CKC) , intent(in) __CONTIGUOUS :: object(:,:)
12397 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12398 : character(*, SK) , intent(in) , optional :: format, advance
12399 : logical(LK) , intent(in) , optional :: sticky
12400 : character(*, SK) , intent(in) , optional :: deliml, delimr
12401 : end subroutine
12402 : #endif
12403 :
12404 : #if CK3_ENABLED
12405 : module subroutine show_D2_CK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12406 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12407 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_CK3
12408 : #endif
12409 : use pm_kind, only: SKC => SK, CKC => CK3
12410 : class(display_type) , intent(inout) :: self
12411 : complex(CKC) , intent(in) __CONTIGUOUS :: object(:,:)
12412 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12413 : character(*, SK) , intent(in) , optional :: format, advance
12414 : logical(LK) , intent(in) , optional :: sticky
12415 : character(*, SK) , intent(in) , optional :: deliml, delimr
12416 : end subroutine
12417 : #endif
12418 :
12419 : #if CK2_ENABLED
12420 : module subroutine show_D2_CK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12421 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12422 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_CK2
12423 : #endif
12424 : use pm_kind, only: SKC => SK, CKC => CK2
12425 : class(display_type) , intent(inout) :: self
12426 : complex(CKC) , intent(in) __CONTIGUOUS :: object(:,:)
12427 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12428 : character(*, SK) , intent(in) , optional :: format, advance
12429 : logical(LK) , intent(in) , optional :: sticky
12430 : character(*, SK) , intent(in) , optional :: deliml, delimr
12431 : end subroutine
12432 : #endif
12433 :
12434 : #if CK1_ENABLED
12435 : module subroutine show_D2_CK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12436 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12437 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_CK1
12438 : #endif
12439 : use pm_kind, only: SKC => SK, CKC => CK1
12440 : class(display_type) , intent(inout) :: self
12441 : complex(CKC) , intent(in) __CONTIGUOUS :: object(:,:)
12442 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12443 : character(*, SK) , intent(in) , optional :: format, advance
12444 : logical(LK) , intent(in) , optional :: sticky
12445 : character(*, SK) , intent(in) , optional :: deliml, delimr
12446 : end subroutine
12447 : #endif
12448 :
12449 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12450 :
12451 : #if RK5_ENABLED
12452 : module subroutine show_D2_RK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12453 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12454 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_RK5
12455 : #endif
12456 : use pm_kind, only: SKC => SK, RKC => RK5
12457 : class(display_type) , intent(inout) :: self
12458 : real(RKC) , intent(in) __CONTIGUOUS :: object(:,:)
12459 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12460 : character(*, SK) , intent(in) , optional :: format, advance
12461 : logical(LK) , intent(in) , optional :: sticky
12462 : character(*, SK) , intent(in) , optional :: deliml, delimr
12463 : end subroutine
12464 : #endif
12465 :
12466 : #if RK4_ENABLED
12467 : module subroutine show_D2_RK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12468 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12469 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_RK4
12470 : #endif
12471 : use pm_kind, only: SKC => SK, RKC => RK4
12472 : class(display_type) , intent(inout) :: self
12473 : real(RKC) , intent(in) __CONTIGUOUS :: object(:,:)
12474 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12475 : character(*, SK) , intent(in) , optional :: format, advance
12476 : logical(LK) , intent(in) , optional :: sticky
12477 : character(*, SK) , intent(in) , optional :: deliml, delimr
12478 : end subroutine
12479 : #endif
12480 :
12481 : #if RK3_ENABLED
12482 : module subroutine show_D2_RK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12483 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12484 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_RK3
12485 : #endif
12486 : use pm_kind, only: SKC => SK, RKC => RK3
12487 : class(display_type) , intent(inout) :: self
12488 : real(RKC) , intent(in) __CONTIGUOUS :: object(:,:)
12489 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12490 : character(*, SK) , intent(in) , optional :: format, advance
12491 : logical(LK) , intent(in) , optional :: sticky
12492 : character(*, SK) , intent(in) , optional :: deliml, delimr
12493 : end subroutine
12494 : #endif
12495 :
12496 : #if RK2_ENABLED
12497 : module subroutine show_D2_RK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12498 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12499 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_RK2
12500 : #endif
12501 : use pm_kind, only: SKC => SK, RKC => RK2
12502 : class(display_type) , intent(inout) :: self
12503 : real(RKC) , intent(in) __CONTIGUOUS :: object(:,:)
12504 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12505 : character(*, SK) , intent(in) , optional :: format, advance
12506 : logical(LK) , intent(in) , optional :: sticky
12507 : character(*, SK) , intent(in) , optional :: deliml, delimr
12508 : end subroutine
12509 : #endif
12510 :
12511 : #if RK1_ENABLED
12512 : module subroutine show_D2_RK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12513 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12514 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_RK1
12515 : #endif
12516 : use pm_kind, only: SKC => SK, RKC => RK1
12517 : class(display_type) , intent(inout) :: self
12518 : real(RKC) , intent(in) __CONTIGUOUS :: object(:,:)
12519 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12520 : character(*, SK) , intent(in) , optional :: format, advance
12521 : logical(LK) , intent(in) , optional :: sticky
12522 : character(*, SK) , intent(in) , optional :: deliml, delimr
12523 : end subroutine
12524 : #endif
12525 :
12526 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12527 :
12528 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12529 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12530 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12531 :
12532 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12533 :
12534 : #if SK5_ENABLED
12535 : module subroutine show_D3_SK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12536 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12537 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_SK5
12538 : #endif
12539 : use pm_kind, only: SKC => SK5
12540 : class(display_type) , intent(inout) :: self
12541 : character(*,SKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12542 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12543 : character(*, SK) , intent(in) , optional :: format, advance
12544 : logical(LK) , intent(in) , optional :: sticky
12545 : character(*, SK) , intent(in) , optional :: deliml, delimr
12546 : end subroutine
12547 : #endif
12548 :
12549 : #if SK4_ENABLED
12550 : module subroutine show_D3_SK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12551 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12552 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_SK4
12553 : #endif
12554 : use pm_kind, only: SKC => SK4
12555 : class(display_type) , intent(inout) :: self
12556 : character(*,SKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12557 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12558 : character(*, SK) , intent(in) , optional :: format, advance
12559 : logical(LK) , intent(in) , optional :: sticky
12560 : character(*, SK) , intent(in) , optional :: deliml, delimr
12561 : end subroutine
12562 : #endif
12563 :
12564 : #if SK3_ENABLED
12565 : module subroutine show_D3_SK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12566 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12567 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_SK3
12568 : #endif
12569 : use pm_kind, only: SKC => SK3
12570 : class(display_type) , intent(inout) :: self
12571 : character(*,SKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12572 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12573 : character(*, SK) , intent(in) , optional :: format, advance
12574 : logical(LK) , intent(in) , optional :: sticky
12575 : character(*, SK) , intent(in) , optional :: deliml, delimr
12576 : end subroutine
12577 : #endif
12578 :
12579 : #if SK2_ENABLED
12580 : module subroutine show_D3_SK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12581 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12582 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_SK2
12583 : #endif
12584 : use pm_kind, only: SKC => SK2
12585 : class(display_type) , intent(inout) :: self
12586 : character(*,SKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12587 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12588 : character(*, SK) , intent(in) , optional :: format, advance
12589 : logical(LK) , intent(in) , optional :: sticky
12590 : character(*, SK) , intent(in) , optional :: deliml, delimr
12591 : end subroutine
12592 : #endif
12593 :
12594 : #if SK1_ENABLED
12595 : module subroutine show_D3_SK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12596 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12597 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_SK1
12598 : #endif
12599 : use pm_kind, only: SKC => SK1
12600 : class(display_type) , intent(inout) :: self
12601 : character(*,SKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12602 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12603 : character(*, SK) , intent(in) , optional :: format, advance
12604 : logical(LK) , intent(in) , optional :: sticky
12605 : character(*, SK) , intent(in) , optional :: deliml, delimr
12606 : end subroutine
12607 : #endif
12608 :
12609 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12610 :
12611 : #if IK5_ENABLED
12612 : module subroutine show_D3_IK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12613 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12614 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_IK5
12615 : #endif
12616 : use pm_kind, only: SKC => SK, IKC => IK5
12617 : class(display_type) , intent(inout) :: self
12618 : integer(IKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12619 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12620 : character(*, SK) , intent(in) , optional :: format, advance
12621 : logical(LK) , intent(in) , optional :: sticky
12622 : character(*, SK) , intent(in) , optional :: deliml, delimr
12623 : end subroutine
12624 : #endif
12625 :
12626 : #if IK4_ENABLED
12627 : module subroutine show_D3_IK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12628 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12629 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_IK4
12630 : #endif
12631 : use pm_kind, only: SKC => SK, IKC => IK4
12632 : class(display_type) , intent(inout) :: self
12633 : integer(IKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12634 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12635 : character(*, SK) , intent(in) , optional :: format, advance
12636 : logical(LK) , intent(in) , optional :: sticky
12637 : character(*, SK) , intent(in) , optional :: deliml, delimr
12638 : end subroutine
12639 : #endif
12640 :
12641 : #if IK3_ENABLED
12642 : module subroutine show_D3_IK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12643 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12644 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_IK3
12645 : #endif
12646 : use pm_kind, only: SKC => SK, IKC => IK3
12647 : class(display_type) , intent(inout) :: self
12648 : integer(IKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12649 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12650 : character(*, SK) , intent(in) , optional :: format, advance
12651 : logical(LK) , intent(in) , optional :: sticky
12652 : character(*, SK) , intent(in) , optional :: deliml, delimr
12653 : end subroutine
12654 : #endif
12655 :
12656 : #if IK2_ENABLED
12657 : module subroutine show_D3_IK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12658 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12659 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_IK2
12660 : #endif
12661 : use pm_kind, only: SKC => SK, IKC => IK2
12662 : class(display_type) , intent(inout) :: self
12663 : integer(IKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12664 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12665 : character(*, SK) , intent(in) , optional :: format, advance
12666 : logical(LK) , intent(in) , optional :: sticky
12667 : character(*, SK) , intent(in) , optional :: deliml, delimr
12668 : end subroutine
12669 : #endif
12670 :
12671 : #if IK1_ENABLED
12672 : module subroutine show_D3_IK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12673 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12674 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_IK1
12675 : #endif
12676 : use pm_kind, only: SKC => SK, IKC => IK1
12677 : class(display_type) , intent(inout) :: self
12678 : integer(IKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12679 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12680 : character(*, SK) , intent(in) , optional :: format, advance
12681 : logical(LK) , intent(in) , optional :: sticky
12682 : character(*, SK) , intent(in) , optional :: deliml, delimr
12683 : end subroutine
12684 : #endif
12685 :
12686 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12687 :
12688 : #if LK5_ENABLED
12689 : module subroutine show_D3_LK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12690 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12691 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_LK5
12692 : #endif
12693 : use pm_kind, only: SKC => SK, LKC => LK5
12694 : class(display_type) , intent(inout) :: self
12695 : logical(LKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12696 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12697 : character(*, SK) , intent(in) , optional :: format, advance
12698 : logical(LK) , intent(in) , optional :: sticky
12699 : character(*, SK) , intent(in) , optional :: deliml, delimr
12700 : end subroutine
12701 : #endif
12702 :
12703 : #if LK4_ENABLED
12704 : module subroutine show_D3_LK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12705 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12706 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_LK4
12707 : #endif
12708 : use pm_kind, only: SKC => SK, LKC => LK4
12709 : class(display_type) , intent(inout) :: self
12710 : logical(LKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12711 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12712 : character(*, SK) , intent(in) , optional :: format, advance
12713 : logical(LK) , intent(in) , optional :: sticky
12714 : character(*, SK) , intent(in) , optional :: deliml, delimr
12715 : end subroutine
12716 : #endif
12717 :
12718 : #if LK3_ENABLED
12719 : module subroutine show_D3_LK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12720 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12721 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_LK3
12722 : #endif
12723 : use pm_kind, only: SKC => SK, LKC => LK3
12724 : class(display_type) , intent(inout) :: self
12725 : logical(LKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12726 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12727 : character(*, SK) , intent(in) , optional :: format, advance
12728 : logical(LK) , intent(in) , optional :: sticky
12729 : character(*, SK) , intent(in) , optional :: deliml, delimr
12730 : end subroutine
12731 : #endif
12732 :
12733 : #if LK2_ENABLED
12734 : module subroutine show_D3_LK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12735 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12736 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_LK2
12737 : #endif
12738 : use pm_kind, only: SKC => SK, LKC => LK2
12739 : class(display_type) , intent(inout) :: self
12740 : logical(LKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12741 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12742 : character(*, SK) , intent(in) , optional :: format, advance
12743 : logical(LK) , intent(in) , optional :: sticky
12744 : character(*, SK) , intent(in) , optional :: deliml, delimr
12745 : end subroutine
12746 : #endif
12747 :
12748 : #if LK1_ENABLED
12749 : module subroutine show_D3_LK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12750 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12751 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_LK1
12752 : #endif
12753 : use pm_kind, only: SKC => SK, LKC => LK1
12754 : class(display_type) , intent(inout) :: self
12755 : logical(LKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12756 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12757 : character(*, SK) , intent(in) , optional :: format, advance
12758 : logical(LK) , intent(in) , optional :: sticky
12759 : character(*, SK) , intent(in) , optional :: deliml, delimr
12760 : end subroutine
12761 : #endif
12762 :
12763 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12764 :
12765 : #if CK5_ENABLED
12766 : module subroutine show_D3_CK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12767 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12768 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_CK5
12769 : #endif
12770 : use pm_kind, only: SKC => SK, CKC => CK5
12771 : class(display_type) , intent(inout) :: self
12772 : complex(CKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12773 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12774 : character(*, SK) , intent(in) , optional :: format, advance
12775 : logical(LK) , intent(in) , optional :: sticky
12776 : character(*, SK) , intent(in) , optional :: deliml, delimr
12777 : end subroutine
12778 : #endif
12779 :
12780 : #if CK4_ENABLED
12781 : module subroutine show_D3_CK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12782 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12783 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_CK4
12784 : #endif
12785 : use pm_kind, only: SKC => SK, CKC => CK4
12786 : class(display_type) , intent(inout) :: self
12787 : complex(CKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12788 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12789 : character(*, SK) , intent(in) , optional :: format, advance
12790 : logical(LK) , intent(in) , optional :: sticky
12791 : character(*, SK) , intent(in) , optional :: deliml, delimr
12792 : end subroutine
12793 : #endif
12794 :
12795 : #if CK3_ENABLED
12796 : module subroutine show_D3_CK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12797 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12798 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_CK3
12799 : #endif
12800 : use pm_kind, only: SKC => SK, CKC => CK3
12801 : class(display_type) , intent(inout) :: self
12802 : complex(CKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12803 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12804 : character(*, SK) , intent(in) , optional :: format, advance
12805 : logical(LK) , intent(in) , optional :: sticky
12806 : character(*, SK) , intent(in) , optional :: deliml, delimr
12807 : end subroutine
12808 : #endif
12809 :
12810 : #if CK2_ENABLED
12811 : module subroutine show_D3_CK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12812 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12813 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_CK2
12814 : #endif
12815 : use pm_kind, only: SKC => SK, CKC => CK2
12816 : class(display_type) , intent(inout) :: self
12817 : complex(CKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12818 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12819 : character(*, SK) , intent(in) , optional :: format, advance
12820 : logical(LK) , intent(in) , optional :: sticky
12821 : character(*, SK) , intent(in) , optional :: deliml, delimr
12822 : end subroutine
12823 : #endif
12824 :
12825 : #if CK1_ENABLED
12826 : module subroutine show_D3_CK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12827 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12828 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_CK1
12829 : #endif
12830 : use pm_kind, only: SKC => SK, CKC => CK1
12831 : class(display_type) , intent(inout) :: self
12832 : complex(CKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12833 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12834 : character(*, SK) , intent(in) , optional :: format, advance
12835 : logical(LK) , intent(in) , optional :: sticky
12836 : character(*, SK) , intent(in) , optional :: deliml, delimr
12837 : end subroutine
12838 : #endif
12839 :
12840 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12841 :
12842 : #if RK5_ENABLED
12843 : module subroutine show_D3_RK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12844 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12845 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_RK5
12846 : #endif
12847 : use pm_kind, only: SKC => SK, RKC => RK5
12848 : class(display_type) , intent(inout) :: self
12849 : real(RKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12850 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12851 : character(*, SK) , intent(in) , optional :: format, advance
12852 : logical(LK) , intent(in) , optional :: sticky
12853 : character(*, SK) , intent(in) , optional :: deliml, delimr
12854 : end subroutine
12855 : #endif
12856 :
12857 : #if RK4_ENABLED
12858 : module subroutine show_D3_RK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12859 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12860 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_RK4
12861 : #endif
12862 : use pm_kind, only: SKC => SK, RKC => RK4
12863 : class(display_type) , intent(inout) :: self
12864 : real(RKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12865 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12866 : character(*, SK) , intent(in) , optional :: format, advance
12867 : logical(LK) , intent(in) , optional :: sticky
12868 : character(*, SK) , intent(in) , optional :: deliml, delimr
12869 : end subroutine
12870 : #endif
12871 :
12872 : #if RK3_ENABLED
12873 : module subroutine show_D3_RK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12874 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12875 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_RK3
12876 : #endif
12877 : use pm_kind, only: SKC => SK, RKC => RK3
12878 : class(display_type) , intent(inout) :: self
12879 : real(RKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12880 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12881 : character(*, SK) , intent(in) , optional :: format, advance
12882 : logical(LK) , intent(in) , optional :: sticky
12883 : character(*, SK) , intent(in) , optional :: deliml, delimr
12884 : end subroutine
12885 : #endif
12886 :
12887 : #if RK2_ENABLED
12888 : module subroutine show_D3_RK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12889 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12890 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_RK2
12891 : #endif
12892 : use pm_kind, only: SKC => SK, RKC => RK2
12893 : class(display_type) , intent(inout) :: self
12894 : real(RKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12895 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12896 : character(*, SK) , intent(in) , optional :: format, advance
12897 : logical(LK) , intent(in) , optional :: sticky
12898 : character(*, SK) , intent(in) , optional :: deliml, delimr
12899 : end subroutine
12900 : #endif
12901 :
12902 : #if RK1_ENABLED
12903 : module subroutine show_D3_RK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12904 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12905 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_RK1
12906 : #endif
12907 : use pm_kind, only: SKC => SK, RKC => RK1
12908 : class(display_type) , intent(inout) :: self
12909 : real(RKC) , intent(in) __CONTIGUOUS :: object(:,:,:)
12910 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12911 : character(*, SK) , intent(in) , optional :: format, advance
12912 : logical(LK) , intent(in) , optional :: sticky
12913 : character(*, SK) , intent(in) , optional :: deliml, delimr
12914 : end subroutine
12915 : #endif
12916 :
12917 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12918 :
12919 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12920 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12921 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12922 :
12923 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12924 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12925 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12926 :
12927 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12928 :
12929 : #if SK5_ENABLED
12930 : module subroutine show_D0_PSSK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12931 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12932 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSSK5
12933 : #endif
12934 : use pm_kind, only: SKC => SK5
12935 : use pm_container, only: css_pdt
12936 : class(display_type) , intent(inout) :: self
12937 : type(css_pdt(SKC)) , intent(in) :: object
12938 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12939 : character(*, SK) , intent(in) , optional :: format, advance
12940 : logical(LK) , intent(in) , optional :: sticky
12941 : character(*, SK) , intent(in) , optional :: deliml, delimr
12942 : end subroutine
12943 : #endif
12944 :
12945 : #if SK4_ENABLED
12946 : module subroutine show_D0_PSSK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12947 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12948 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSSK4
12949 : #endif
12950 : use pm_kind, only: SKC => SK4
12951 : use pm_container, only: css_pdt
12952 : class(display_type) , intent(inout) :: self
12953 : type(css_pdt(SKC)) , intent(in) :: object
12954 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12955 : character(*, SK) , intent(in) , optional :: format, advance
12956 : logical(LK) , intent(in) , optional :: sticky
12957 : character(*, SK) , intent(in) , optional :: deliml, delimr
12958 : end subroutine
12959 : #endif
12960 :
12961 : #if SK3_ENABLED
12962 : module subroutine show_D0_PSSK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12963 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12964 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSSK3
12965 : #endif
12966 : use pm_kind, only: SKC => SK3
12967 : use pm_container, only: css_pdt
12968 : class(display_type) , intent(inout) :: self
12969 : type(css_pdt(SKC)) , intent(in) :: object
12970 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12971 : character(*, SK) , intent(in) , optional :: format, advance
12972 : logical(LK) , intent(in) , optional :: sticky
12973 : character(*, SK) , intent(in) , optional :: deliml, delimr
12974 : end subroutine
12975 : #endif
12976 :
12977 : #if SK2_ENABLED
12978 : module subroutine show_D0_PSSK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12979 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12980 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSSK2
12981 : #endif
12982 : use pm_kind, only: SKC => SK2
12983 : use pm_container, only: css_pdt
12984 : class(display_type) , intent(inout) :: self
12985 : type(css_pdt(SKC)) , intent(in) :: object
12986 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
12987 : character(*, SK) , intent(in) , optional :: format, advance
12988 : logical(LK) , intent(in) , optional :: sticky
12989 : character(*, SK) , intent(in) , optional :: deliml, delimr
12990 : end subroutine
12991 : #endif
12992 :
12993 : #if SK1_ENABLED
12994 : module subroutine show_D0_PSSK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
12995 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
12996 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSSK1
12997 : #endif
12998 : use pm_kind, only: SKC => SK1
12999 : use pm_container, only: css_pdt
13000 : class(display_type) , intent(inout) :: self
13001 : type(css_pdt(SKC)) , intent(in) :: object
13002 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13003 : character(*, SK) , intent(in) , optional :: format, advance
13004 : logical(LK) , intent(in) , optional :: sticky
13005 : character(*, SK) , intent(in) , optional :: deliml, delimr
13006 : end subroutine
13007 : #endif
13008 :
13009 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13010 :
13011 : #if IK5_ENABLED
13012 : module subroutine show_D0_PSIK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13013 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13014 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSIK5
13015 : #endif
13016 : use pm_kind, only: SKC => SK, IKC => IK5
13017 : use pm_container, only: csi_pdt
13018 : class(display_type) , intent(inout) :: self
13019 : type(csi_pdt(IKC)) , intent(in) :: object
13020 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13021 : character(*, SK) , intent(in) , optional :: format, advance
13022 : logical(LK) , intent(in) , optional :: sticky
13023 : character(*, SK) , intent(in) , optional :: deliml, delimr
13024 : end subroutine
13025 : #endif
13026 :
13027 : #if IK4_ENABLED
13028 : module subroutine show_D0_PSIK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13029 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13030 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSIK4
13031 : #endif
13032 : use pm_kind, only: SKC => SK, IKC => IK4
13033 : use pm_container, only: csi_pdt
13034 : class(display_type) , intent(inout) :: self
13035 : type(csi_pdt(IKC)) , intent(in) :: object
13036 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13037 : character(*, SK) , intent(in) , optional :: format, advance
13038 : logical(LK) , intent(in) , optional :: sticky
13039 : character(*, SK) , intent(in) , optional :: deliml, delimr
13040 : end subroutine
13041 : #endif
13042 :
13043 : #if IK3_ENABLED
13044 : module subroutine show_D0_PSIK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13045 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13046 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSIK3
13047 : #endif
13048 : use pm_kind, only: SKC => SK, IKC => IK3
13049 : use pm_container, only: csi_pdt
13050 : class(display_type) , intent(inout) :: self
13051 : type(csi_pdt(IKC)) , intent(in) :: object
13052 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13053 : character(*, SK) , intent(in) , optional :: format, advance
13054 : logical(LK) , intent(in) , optional :: sticky
13055 : character(*, SK) , intent(in) , optional :: deliml, delimr
13056 : end subroutine
13057 : #endif
13058 :
13059 : #if IK2_ENABLED
13060 : module subroutine show_D0_PSIK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13061 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13062 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSIK2
13063 : #endif
13064 : use pm_kind, only: SKC => SK, IKC => IK2
13065 : use pm_container, only: csi_pdt
13066 : class(display_type) , intent(inout) :: self
13067 : type(csi_pdt(IKC)) , intent(in) :: object
13068 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13069 : character(*, SK) , intent(in) , optional :: format, advance
13070 : logical(LK) , intent(in) , optional :: sticky
13071 : character(*, SK) , intent(in) , optional :: deliml, delimr
13072 : end subroutine
13073 : #endif
13074 :
13075 : #if IK1_ENABLED
13076 : module subroutine show_D0_PSIK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13077 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13078 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSIK1
13079 : #endif
13080 : use pm_kind, only: SKC => SK, IKC => IK1
13081 : use pm_container, only: csi_pdt
13082 : class(display_type) , intent(inout) :: self
13083 : type(csi_pdt(IKC)) , intent(in) :: object
13084 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13085 : character(*, SK) , intent(in) , optional :: format, advance
13086 : logical(LK) , intent(in) , optional :: sticky
13087 : character(*, SK) , intent(in) , optional :: deliml, delimr
13088 : end subroutine
13089 : #endif
13090 :
13091 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13092 :
13093 : #if LK5_ENABLED
13094 : module subroutine show_D0_PSLK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13095 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13096 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSLK5
13097 : #endif
13098 : use pm_kind, only: SKC => SK, LKC => LK5
13099 : use pm_container, only: csl_pdt
13100 : class(display_type) , intent(inout) :: self
13101 : type(csl_pdt(LKC)) , intent(in) :: object
13102 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13103 : character(*, SK) , intent(in) , optional :: format, advance
13104 : logical(LK) , intent(in) , optional :: sticky
13105 : character(*, SK) , intent(in) , optional :: deliml, delimr
13106 : end subroutine
13107 : #endif
13108 :
13109 : #if LK4_ENABLED
13110 : module subroutine show_D0_PSLK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13111 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13112 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSLK4
13113 : #endif
13114 : use pm_kind, only: SKC => SK, LKC => LK4
13115 : use pm_container, only: csl_pdt
13116 : class(display_type) , intent(inout) :: self
13117 : type(csl_pdt(LKC)) , intent(in) :: object
13118 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13119 : character(*, SK) , intent(in) , optional :: format, advance
13120 : logical(LK) , intent(in) , optional :: sticky
13121 : character(*, SK) , intent(in) , optional :: deliml, delimr
13122 : end subroutine
13123 : #endif
13124 :
13125 : #if LK3_ENABLED
13126 : module subroutine show_D0_PSLK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13127 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13128 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSLK3
13129 : #endif
13130 : use pm_kind, only: SKC => SK, LKC => LK3
13131 : use pm_container, only: csl_pdt
13132 : class(display_type) , intent(inout) :: self
13133 : type(csl_pdt(LKC)) , intent(in) :: object
13134 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13135 : character(*, SK) , intent(in) , optional :: format, advance
13136 : logical(LK) , intent(in) , optional :: sticky
13137 : character(*, SK) , intent(in) , optional :: deliml, delimr
13138 : end subroutine
13139 : #endif
13140 :
13141 : #if LK2_ENABLED
13142 : module subroutine show_D0_PSLK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13143 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13144 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSLK2
13145 : #endif
13146 : use pm_kind, only: SKC => SK, LKC => LK2
13147 : use pm_container, only: csl_pdt
13148 : class(display_type) , intent(inout) :: self
13149 : type(csl_pdt(LKC)) , intent(in) :: object
13150 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13151 : character(*, SK) , intent(in) , optional :: format, advance
13152 : logical(LK) , intent(in) , optional :: sticky
13153 : character(*, SK) , intent(in) , optional :: deliml, delimr
13154 : end subroutine
13155 : #endif
13156 :
13157 : #if LK1_ENABLED
13158 : module subroutine show_D0_PSLK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13159 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13160 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSLK1
13161 : #endif
13162 : use pm_kind, only: SKC => SK, LKC => LK1
13163 : use pm_container, only: csl_pdt
13164 : class(display_type) , intent(inout) :: self
13165 : type(csl_pdt(LKC)) , intent(in) :: object
13166 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13167 : character(*, SK) , intent(in) , optional :: format, advance
13168 : logical(LK) , intent(in) , optional :: sticky
13169 : character(*, SK) , intent(in) , optional :: deliml, delimr
13170 : end subroutine
13171 : #endif
13172 :
13173 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13174 :
13175 : #if CK5_ENABLED
13176 : module subroutine show_D0_PSCK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13177 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13178 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSCK5
13179 : #endif
13180 : use pm_kind, only: SKC => SK, CKC => CK5
13181 : use pm_container, only: csc_pdt
13182 : class(display_type) , intent(inout) :: self
13183 : type(csc_pdt(CKC)) , intent(in) :: object
13184 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13185 : character(*, SK) , intent(in) , optional :: format, advance
13186 : logical(LK) , intent(in) , optional :: sticky
13187 : character(*, SK) , intent(in) , optional :: deliml, delimr
13188 : end subroutine
13189 : #endif
13190 :
13191 : #if CK4_ENABLED
13192 : module subroutine show_D0_PSCK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13193 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13194 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSCK4
13195 : #endif
13196 : use pm_kind, only: SKC => SK, CKC => CK4
13197 : use pm_container, only: csc_pdt
13198 : class(display_type) , intent(inout) :: self
13199 : type(csc_pdt(CKC)) , intent(in) :: object
13200 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13201 : character(*, SK) , intent(in) , optional :: format, advance
13202 : logical(LK) , intent(in) , optional :: sticky
13203 : character(*, SK) , intent(in) , optional :: deliml, delimr
13204 : end subroutine
13205 : #endif
13206 :
13207 : #if CK3_ENABLED
13208 : module subroutine show_D0_PSCK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13209 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13210 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSCK3
13211 : #endif
13212 : use pm_kind, only: SKC => SK, CKC => CK3
13213 : use pm_container, only: csc_pdt
13214 : class(display_type) , intent(inout) :: self
13215 : type(csc_pdt(CKC)) , intent(in) :: object
13216 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13217 : character(*, SK) , intent(in) , optional :: format, advance
13218 : logical(LK) , intent(in) , optional :: sticky
13219 : character(*, SK) , intent(in) , optional :: deliml, delimr
13220 : end subroutine
13221 : #endif
13222 :
13223 : #if CK2_ENABLED
13224 : module subroutine show_D0_PSCK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13225 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13226 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSCK2
13227 : #endif
13228 : use pm_kind, only: SKC => SK, CKC => CK2
13229 : use pm_container, only: csc_pdt
13230 : class(display_type) , intent(inout) :: self
13231 : type(csc_pdt(CKC)) , intent(in) :: object
13232 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13233 : character(*, SK) , intent(in) , optional :: format, advance
13234 : logical(LK) , intent(in) , optional :: sticky
13235 : character(*, SK) , intent(in) , optional :: deliml, delimr
13236 : end subroutine
13237 : #endif
13238 :
13239 : #if CK1_ENABLED
13240 : module subroutine show_D0_PSCK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13241 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13242 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSCK1
13243 : #endif
13244 : use pm_kind, only: SKC => SK, CKC => CK1
13245 : use pm_container, only: csc_pdt
13246 : class(display_type) , intent(inout) :: self
13247 : type(csc_pdt(CKC)) , intent(in) :: object
13248 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13249 : character(*, SK) , intent(in) , optional :: format, advance
13250 : logical(LK) , intent(in) , optional :: sticky
13251 : character(*, SK) , intent(in) , optional :: deliml, delimr
13252 : end subroutine
13253 : #endif
13254 :
13255 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13256 :
13257 : #if RK5_ENABLED
13258 : module subroutine show_D0_PSRK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13259 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13260 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSRK5
13261 : #endif
13262 : use pm_kind, only: SKC => SK, RKC => RK5
13263 : use pm_container, only: csr_pdt
13264 : class(display_type) , intent(inout) :: self
13265 : type(csr_pdt(RKC)) , intent(in) :: object
13266 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13267 : character(*, SK) , intent(in) , optional :: format, advance
13268 : logical(LK) , intent(in) , optional :: sticky
13269 : character(*, SK) , intent(in) , optional :: deliml, delimr
13270 : end subroutine
13271 : #endif
13272 :
13273 : #if RK4_ENABLED
13274 : module subroutine show_D0_PSRK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13275 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13276 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSRK4
13277 : #endif
13278 : use pm_kind, only: SKC => SK, RKC => RK4
13279 : use pm_container, only: csr_pdt
13280 : class(display_type) , intent(inout) :: self
13281 : type(csr_pdt(RKC)) , intent(in) :: object
13282 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13283 : character(*, SK) , intent(in) , optional :: format, advance
13284 : logical(LK) , intent(in) , optional :: sticky
13285 : character(*, SK) , intent(in) , optional :: deliml, delimr
13286 : end subroutine
13287 : #endif
13288 :
13289 : #if RK3_ENABLED
13290 : module subroutine show_D0_PSRK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13291 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13292 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSRK3
13293 : #endif
13294 : use pm_kind, only: SKC => SK, RKC => RK3
13295 : use pm_container, only: csr_pdt
13296 : class(display_type) , intent(inout) :: self
13297 : type(csr_pdt(RKC)) , intent(in) :: object
13298 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13299 : character(*, SK) , intent(in) , optional :: format, advance
13300 : logical(LK) , intent(in) , optional :: sticky
13301 : character(*, SK) , intent(in) , optional :: deliml, delimr
13302 : end subroutine
13303 : #endif
13304 :
13305 : #if RK2_ENABLED
13306 : module subroutine show_D0_PSRK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13307 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13308 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSRK2
13309 : #endif
13310 : use pm_kind, only: SKC => SK, RKC => RK2
13311 : use pm_container, only: csr_pdt
13312 : class(display_type) , intent(inout) :: self
13313 : type(csr_pdt(RKC)) , intent(in) :: object
13314 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13315 : character(*, SK) , intent(in) , optional :: format, advance
13316 : logical(LK) , intent(in) , optional :: sticky
13317 : character(*, SK) , intent(in) , optional :: deliml, delimr
13318 : end subroutine
13319 : #endif
13320 :
13321 : #if RK1_ENABLED
13322 : module subroutine show_D0_PSRK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13323 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13324 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PSRK1
13325 : #endif
13326 : use pm_kind, only: SKC => SK, RKC => RK1
13327 : use pm_container, only: csr_pdt
13328 : class(display_type) , intent(inout) :: self
13329 : type(csr_pdt(RKC)) , intent(in) :: object
13330 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13331 : character(*, SK) , intent(in) , optional :: format, advance
13332 : logical(LK) , intent(in) , optional :: sticky
13333 : character(*, SK) , intent(in) , optional :: deliml, delimr
13334 : end subroutine
13335 : #endif
13336 :
13337 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13338 :
13339 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13340 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13341 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13342 :
13343 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13344 :
13345 : #if SK5_ENABLED
13346 : module subroutine show_D1_PSSK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13347 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13348 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSSK5
13349 : #endif
13350 : use pm_kind, only: SKC => SK5
13351 : use pm_container, only: css_pdt
13352 : class(display_type) , intent(inout) :: self
13353 : type(css_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:)
13354 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13355 : character(*, SK) , intent(in) , optional :: format, advance
13356 : logical(LK) , intent(in) , optional :: sticky
13357 : character(*, SK) , intent(in) , optional :: deliml, delimr
13358 : end subroutine
13359 : #endif
13360 :
13361 : #if SK4_ENABLED
13362 : module subroutine show_D1_PSSK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13363 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13364 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSSK4
13365 : #endif
13366 : use pm_kind, only: SKC => SK4
13367 : use pm_container, only: css_pdt
13368 : class(display_type) , intent(inout) :: self
13369 : type(css_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:)
13370 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13371 : character(*, SK) , intent(in) , optional :: format, advance
13372 : logical(LK) , intent(in) , optional :: sticky
13373 : character(*, SK) , intent(in) , optional :: deliml, delimr
13374 : end subroutine
13375 : #endif
13376 :
13377 : #if SK3_ENABLED
13378 : module subroutine show_D1_PSSK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13379 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13380 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSSK3
13381 : #endif
13382 : use pm_kind, only: SKC => SK3
13383 : use pm_container, only: css_pdt
13384 : class(display_type) , intent(inout) :: self
13385 : type(css_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:)
13386 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13387 : character(*, SK) , intent(in) , optional :: format, advance
13388 : logical(LK) , intent(in) , optional :: sticky
13389 : character(*, SK) , intent(in) , optional :: deliml, delimr
13390 : end subroutine
13391 : #endif
13392 :
13393 : #if SK2_ENABLED
13394 : module subroutine show_D1_PSSK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13395 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13396 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSSK2
13397 : #endif
13398 : use pm_kind, only: SKC => SK2
13399 : use pm_container, only: css_pdt
13400 : class(display_type) , intent(inout) :: self
13401 : type(css_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:)
13402 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13403 : character(*, SK) , intent(in) , optional :: format, advance
13404 : logical(LK) , intent(in) , optional :: sticky
13405 : character(*, SK) , intent(in) , optional :: deliml, delimr
13406 : end subroutine
13407 : #endif
13408 :
13409 : #if SK1_ENABLED
13410 : module subroutine show_D1_PSSK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13411 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13412 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSSK1
13413 : #endif
13414 : use pm_kind, only: SKC => SK1
13415 : use pm_container, only: css_pdt
13416 : class(display_type) , intent(inout) :: self
13417 : type(css_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:)
13418 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13419 : character(*, SK) , intent(in) , optional :: format, advance
13420 : logical(LK) , intent(in) , optional :: sticky
13421 : character(*, SK) , intent(in) , optional :: deliml, delimr
13422 : end subroutine
13423 : #endif
13424 :
13425 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13426 :
13427 : #if IK5_ENABLED
13428 : module subroutine show_D1_PSIK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13429 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13430 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSIK5
13431 : #endif
13432 : use pm_kind, only: SKC => SK, IKC => IK5
13433 : use pm_container, only: csi_pdt
13434 : class(display_type) , intent(inout) :: self
13435 : type(csi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:)
13436 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13437 : character(*, SK) , intent(in) , optional :: format, advance
13438 : logical(LK) , intent(in) , optional :: sticky
13439 : character(*, SK) , intent(in) , optional :: deliml, delimr
13440 : end subroutine
13441 : #endif
13442 :
13443 : #if IK4_ENABLED
13444 : module subroutine show_D1_PSIK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13445 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13446 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSIK4
13447 : #endif
13448 : use pm_kind, only: SKC => SK, IKC => IK4
13449 : use pm_container, only: csi_pdt
13450 : class(display_type) , intent(inout) :: self
13451 : type(csi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:)
13452 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13453 : character(*, SK) , intent(in) , optional :: format, advance
13454 : logical(LK) , intent(in) , optional :: sticky
13455 : character(*, SK) , intent(in) , optional :: deliml, delimr
13456 : end subroutine
13457 : #endif
13458 :
13459 : #if IK3_ENABLED
13460 : module subroutine show_D1_PSIK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13461 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13462 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSIK3
13463 : #endif
13464 : use pm_kind, only: SKC => SK, IKC => IK3
13465 : use pm_container, only: csi_pdt
13466 : class(display_type) , intent(inout) :: self
13467 : type(csi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:)
13468 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13469 : character(*, SK) , intent(in) , optional :: format, advance
13470 : logical(LK) , intent(in) , optional :: sticky
13471 : character(*, SK) , intent(in) , optional :: deliml, delimr
13472 : end subroutine
13473 : #endif
13474 :
13475 : #if IK2_ENABLED
13476 : module subroutine show_D1_PSIK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13477 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13478 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSIK2
13479 : #endif
13480 : use pm_kind, only: SKC => SK, IKC => IK2
13481 : use pm_container, only: csi_pdt
13482 : class(display_type) , intent(inout) :: self
13483 : type(csi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:)
13484 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13485 : character(*, SK) , intent(in) , optional :: format, advance
13486 : logical(LK) , intent(in) , optional :: sticky
13487 : character(*, SK) , intent(in) , optional :: deliml, delimr
13488 : end subroutine
13489 : #endif
13490 :
13491 : #if IK1_ENABLED
13492 : module subroutine show_D1_PSIK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13493 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13494 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSIK1
13495 : #endif
13496 : use pm_kind, only: SKC => SK, IKC => IK1
13497 : use pm_container, only: csi_pdt
13498 : class(display_type) , intent(inout) :: self
13499 : type(csi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:)
13500 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13501 : character(*, SK) , intent(in) , optional :: format, advance
13502 : logical(LK) , intent(in) , optional :: sticky
13503 : character(*, SK) , intent(in) , optional :: deliml, delimr
13504 : end subroutine
13505 : #endif
13506 :
13507 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13508 :
13509 : #if LK5_ENABLED
13510 : module subroutine show_D1_PSLK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13511 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13512 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSLK5
13513 : #endif
13514 : use pm_kind, only: SKC => SK, LKC => LK5
13515 : use pm_container, only: csl_pdt
13516 : class(display_type) , intent(inout) :: self
13517 : type(csl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:)
13518 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13519 : character(*, SK) , intent(in) , optional :: format, advance
13520 : logical(LK) , intent(in) , optional :: sticky
13521 : character(*, SK) , intent(in) , optional :: deliml, delimr
13522 : end subroutine
13523 : #endif
13524 :
13525 : #if LK4_ENABLED
13526 : module subroutine show_D1_PSLK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13527 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13528 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSLK4
13529 : #endif
13530 : use pm_kind, only: SKC => SK, LKC => LK4
13531 : use pm_container, only: csl_pdt
13532 : class(display_type) , intent(inout) :: self
13533 : type(csl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:)
13534 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13535 : character(*, SK) , intent(in) , optional :: format, advance
13536 : logical(LK) , intent(in) , optional :: sticky
13537 : character(*, SK) , intent(in) , optional :: deliml, delimr
13538 : end subroutine
13539 : #endif
13540 :
13541 : #if LK3_ENABLED
13542 : module subroutine show_D1_PSLK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13543 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13544 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSLK3
13545 : #endif
13546 : use pm_kind, only: SKC => SK, LKC => LK3
13547 : use pm_container, only: csl_pdt
13548 : class(display_type) , intent(inout) :: self
13549 : type(csl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:)
13550 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13551 : character(*, SK) , intent(in) , optional :: format, advance
13552 : logical(LK) , intent(in) , optional :: sticky
13553 : character(*, SK) , intent(in) , optional :: deliml, delimr
13554 : end subroutine
13555 : #endif
13556 :
13557 : #if LK2_ENABLED
13558 : module subroutine show_D1_PSLK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13559 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13560 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSLK2
13561 : #endif
13562 : use pm_kind, only: SKC => SK, LKC => LK2
13563 : use pm_container, only: csl_pdt
13564 : class(display_type) , intent(inout) :: self
13565 : type(csl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:)
13566 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13567 : character(*, SK) , intent(in) , optional :: format, advance
13568 : logical(LK) , intent(in) , optional :: sticky
13569 : character(*, SK) , intent(in) , optional :: deliml, delimr
13570 : end subroutine
13571 : #endif
13572 :
13573 : #if LK1_ENABLED
13574 : module subroutine show_D1_PSLK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13575 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13576 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSLK1
13577 : #endif
13578 : use pm_kind, only: SKC => SK, LKC => LK1
13579 : use pm_container, only: csl_pdt
13580 : class(display_type) , intent(inout) :: self
13581 : type(csl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:)
13582 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13583 : character(*, SK) , intent(in) , optional :: format, advance
13584 : logical(LK) , intent(in) , optional :: sticky
13585 : character(*, SK) , intent(in) , optional :: deliml, delimr
13586 : end subroutine
13587 : #endif
13588 :
13589 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13590 :
13591 : #if CK5_ENABLED
13592 : module subroutine show_D1_PSCK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13593 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13594 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSCK5
13595 : #endif
13596 : use pm_kind, only: SKC => SK, CKC => CK5
13597 : use pm_container, only: csc_pdt
13598 : class(display_type) , intent(inout) :: self
13599 : type(csc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:)
13600 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13601 : character(*, SK) , intent(in) , optional :: format, advance
13602 : logical(LK) , intent(in) , optional :: sticky
13603 : character(*, SK) , intent(in) , optional :: deliml, delimr
13604 : end subroutine
13605 : #endif
13606 :
13607 : #if CK4_ENABLED
13608 : module subroutine show_D1_PSCK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13609 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13610 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSCK4
13611 : #endif
13612 : use pm_kind, only: SKC => SK, CKC => CK4
13613 : use pm_container, only: csc_pdt
13614 : class(display_type) , intent(inout) :: self
13615 : type(csc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:)
13616 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13617 : character(*, SK) , intent(in) , optional :: format, advance
13618 : logical(LK) , intent(in) , optional :: sticky
13619 : character(*, SK) , intent(in) , optional :: deliml, delimr
13620 : end subroutine
13621 : #endif
13622 :
13623 : #if CK3_ENABLED
13624 : module subroutine show_D1_PSCK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13625 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13626 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSCK3
13627 : #endif
13628 : use pm_kind, only: SKC => SK, CKC => CK3
13629 : use pm_container, only: csc_pdt
13630 : class(display_type) , intent(inout) :: self
13631 : type(csc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:)
13632 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13633 : character(*, SK) , intent(in) , optional :: format, advance
13634 : logical(LK) , intent(in) , optional :: sticky
13635 : character(*, SK) , intent(in) , optional :: deliml, delimr
13636 : end subroutine
13637 : #endif
13638 :
13639 : #if CK2_ENABLED
13640 : module subroutine show_D1_PSCK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13641 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13642 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSCK2
13643 : #endif
13644 : use pm_kind, only: SKC => SK, CKC => CK2
13645 : use pm_container, only: csc_pdt
13646 : class(display_type) , intent(inout) :: self
13647 : type(csc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:)
13648 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13649 : character(*, SK) , intent(in) , optional :: format, advance
13650 : logical(LK) , intent(in) , optional :: sticky
13651 : character(*, SK) , intent(in) , optional :: deliml, delimr
13652 : end subroutine
13653 : #endif
13654 :
13655 : #if CK1_ENABLED
13656 : module subroutine show_D1_PSCK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13657 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13658 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSCK1
13659 : #endif
13660 : use pm_kind, only: SKC => SK, CKC => CK1
13661 : use pm_container, only: csc_pdt
13662 : class(display_type) , intent(inout) :: self
13663 : type(csc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:)
13664 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13665 : character(*, SK) , intent(in) , optional :: format, advance
13666 : logical(LK) , intent(in) , optional :: sticky
13667 : character(*, SK) , intent(in) , optional :: deliml, delimr
13668 : end subroutine
13669 : #endif
13670 :
13671 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13672 :
13673 : #if RK5_ENABLED
13674 : module subroutine show_D1_PSRK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13675 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13676 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSRK5
13677 : #endif
13678 : use pm_kind, only: SKC => SK, RKC => RK5
13679 : use pm_container, only: csr_pdt
13680 : class(display_type) , intent(inout) :: self
13681 : type(csr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:)
13682 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13683 : character(*, SK) , intent(in) , optional :: format, advance
13684 : logical(LK) , intent(in) , optional :: sticky
13685 : character(*, SK) , intent(in) , optional :: deliml, delimr
13686 : end subroutine
13687 : #endif
13688 :
13689 : #if RK4_ENABLED
13690 : module subroutine show_D1_PSRK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13691 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13692 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSRK4
13693 : #endif
13694 : use pm_kind, only: SKC => SK, RKC => RK4
13695 : use pm_container, only: csr_pdt
13696 : class(display_type) , intent(inout) :: self
13697 : type(csr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:)
13698 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13699 : character(*, SK) , intent(in) , optional :: format, advance
13700 : logical(LK) , intent(in) , optional :: sticky
13701 : character(*, SK) , intent(in) , optional :: deliml, delimr
13702 : end subroutine
13703 : #endif
13704 :
13705 : #if RK3_ENABLED
13706 : module subroutine show_D1_PSRK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13707 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13708 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSRK3
13709 : #endif
13710 : use pm_kind, only: SKC => SK, RKC => RK3
13711 : use pm_container, only: csr_pdt
13712 : class(display_type) , intent(inout) :: self
13713 : type(csr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:)
13714 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13715 : character(*, SK) , intent(in) , optional :: format, advance
13716 : logical(LK) , intent(in) , optional :: sticky
13717 : character(*, SK) , intent(in) , optional :: deliml, delimr
13718 : end subroutine
13719 : #endif
13720 :
13721 : #if RK2_ENABLED
13722 : module subroutine show_D1_PSRK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13723 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13724 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSRK2
13725 : #endif
13726 : use pm_kind, only: SKC => SK, RKC => RK2
13727 : use pm_container, only: csr_pdt
13728 : class(display_type) , intent(inout) :: self
13729 : type(csr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:)
13730 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13731 : character(*, SK) , intent(in) , optional :: format, advance
13732 : logical(LK) , intent(in) , optional :: sticky
13733 : character(*, SK) , intent(in) , optional :: deliml, delimr
13734 : end subroutine
13735 : #endif
13736 :
13737 : #if RK1_ENABLED
13738 : module subroutine show_D1_PSRK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13739 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13740 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PSRK1
13741 : #endif
13742 : use pm_kind, only: SKC => SK, RKC => RK1
13743 : use pm_container, only: csr_pdt
13744 : class(display_type) , intent(inout) :: self
13745 : type(csr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:)
13746 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13747 : character(*, SK) , intent(in) , optional :: format, advance
13748 : logical(LK) , intent(in) , optional :: sticky
13749 : character(*, SK) , intent(in) , optional :: deliml, delimr
13750 : end subroutine
13751 : #endif
13752 :
13753 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13754 :
13755 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13756 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13757 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13758 :
13759 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13760 :
13761 : #if SK5_ENABLED
13762 : module subroutine show_D2_PSSK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13763 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13764 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSSK5
13765 : #endif
13766 : use pm_kind, only: SKC => SK5
13767 : use pm_container, only: css_pdt
13768 : class(display_type) , intent(inout) :: self
13769 : type(css_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:,:)
13770 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13771 : character(*, SK) , intent(in) , optional :: format, advance
13772 : logical(LK) , intent(in) , optional :: sticky
13773 : character(*, SK) , intent(in) , optional :: deliml, delimr
13774 : end subroutine
13775 : #endif
13776 :
13777 : #if SK4_ENABLED
13778 : module subroutine show_D2_PSSK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13779 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13780 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSSK4
13781 : #endif
13782 : use pm_kind, only: SKC => SK4
13783 : use pm_container, only: css_pdt
13784 : class(display_type) , intent(inout) :: self
13785 : type(css_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:,:)
13786 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13787 : character(*, SK) , intent(in) , optional :: format, advance
13788 : logical(LK) , intent(in) , optional :: sticky
13789 : character(*, SK) , intent(in) , optional :: deliml, delimr
13790 : end subroutine
13791 : #endif
13792 :
13793 : #if SK3_ENABLED
13794 : module subroutine show_D2_PSSK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13795 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13796 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSSK3
13797 : #endif
13798 : use pm_kind, only: SKC => SK3
13799 : use pm_container, only: css_pdt
13800 : class(display_type) , intent(inout) :: self
13801 : type(css_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:,:)
13802 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13803 : character(*, SK) , intent(in) , optional :: format, advance
13804 : logical(LK) , intent(in) , optional :: sticky
13805 : character(*, SK) , intent(in) , optional :: deliml, delimr
13806 : end subroutine
13807 : #endif
13808 :
13809 : #if SK2_ENABLED
13810 : module subroutine show_D2_PSSK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13811 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13812 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSSK2
13813 : #endif
13814 : use pm_kind, only: SKC => SK2
13815 : use pm_container, only: css_pdt
13816 : class(display_type) , intent(inout) :: self
13817 : type(css_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:,:)
13818 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13819 : character(*, SK) , intent(in) , optional :: format, advance
13820 : logical(LK) , intent(in) , optional :: sticky
13821 : character(*, SK) , intent(in) , optional :: deliml, delimr
13822 : end subroutine
13823 : #endif
13824 :
13825 : #if SK1_ENABLED
13826 : module subroutine show_D2_PSSK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13827 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13828 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSSK1
13829 : #endif
13830 : use pm_kind, only: SKC => SK1
13831 : use pm_container, only: css_pdt
13832 : class(display_type) , intent(inout) :: self
13833 : type(css_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:,:)
13834 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13835 : character(*, SK) , intent(in) , optional :: format, advance
13836 : logical(LK) , intent(in) , optional :: sticky
13837 : character(*, SK) , intent(in) , optional :: deliml, delimr
13838 : end subroutine
13839 : #endif
13840 :
13841 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13842 :
13843 : #if IK5_ENABLED
13844 : module subroutine show_D2_PSIK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13845 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13846 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSIK5
13847 : #endif
13848 : use pm_kind, only: SKC => SK, IKC => IK5
13849 : use pm_container, only: csi_pdt
13850 : class(display_type) , intent(inout) :: self
13851 : type(csi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:,:)
13852 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13853 : character(*, SK) , intent(in) , optional :: format, advance
13854 : logical(LK) , intent(in) , optional :: sticky
13855 : character(*, SK) , intent(in) , optional :: deliml, delimr
13856 : end subroutine
13857 : #endif
13858 :
13859 : #if IK4_ENABLED
13860 : module subroutine show_D2_PSIK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13861 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13862 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSIK4
13863 : #endif
13864 : use pm_kind, only: SKC => SK, IKC => IK4
13865 : use pm_container, only: csi_pdt
13866 : class(display_type) , intent(inout) :: self
13867 : type(csi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:,:)
13868 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13869 : character(*, SK) , intent(in) , optional :: format, advance
13870 : logical(LK) , intent(in) , optional :: sticky
13871 : character(*, SK) , intent(in) , optional :: deliml, delimr
13872 : end subroutine
13873 : #endif
13874 :
13875 : #if IK3_ENABLED
13876 : module subroutine show_D2_PSIK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13877 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13878 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSIK3
13879 : #endif
13880 : use pm_kind, only: SKC => SK, IKC => IK3
13881 : use pm_container, only: csi_pdt
13882 : class(display_type) , intent(inout) :: self
13883 : type(csi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:,:)
13884 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13885 : character(*, SK) , intent(in) , optional :: format, advance
13886 : logical(LK) , intent(in) , optional :: sticky
13887 : character(*, SK) , intent(in) , optional :: deliml, delimr
13888 : end subroutine
13889 : #endif
13890 :
13891 : #if IK2_ENABLED
13892 : module subroutine show_D2_PSIK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13893 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13894 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSIK2
13895 : #endif
13896 : use pm_kind, only: SKC => SK, IKC => IK2
13897 : use pm_container, only: csi_pdt
13898 : class(display_type) , intent(inout) :: self
13899 : type(csi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:,:)
13900 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13901 : character(*, SK) , intent(in) , optional :: format, advance
13902 : logical(LK) , intent(in) , optional :: sticky
13903 : character(*, SK) , intent(in) , optional :: deliml, delimr
13904 : end subroutine
13905 : #endif
13906 :
13907 : #if IK1_ENABLED
13908 : module subroutine show_D2_PSIK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13909 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13910 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSIK1
13911 : #endif
13912 : use pm_kind, only: SKC => SK, IKC => IK1
13913 : use pm_container, only: csi_pdt
13914 : class(display_type) , intent(inout) :: self
13915 : type(csi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:,:)
13916 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13917 : character(*, SK) , intent(in) , optional :: format, advance
13918 : logical(LK) , intent(in) , optional :: sticky
13919 : character(*, SK) , intent(in) , optional :: deliml, delimr
13920 : end subroutine
13921 : #endif
13922 :
13923 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13924 :
13925 : #if LK5_ENABLED
13926 : module subroutine show_D2_PSLK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13927 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13928 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSLK5
13929 : #endif
13930 : use pm_kind, only: SKC => SK, LKC => LK5
13931 : use pm_container, only: csl_pdt
13932 : class(display_type) , intent(inout) :: self
13933 : type(csl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:,:)
13934 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13935 : character(*, SK) , intent(in) , optional :: format, advance
13936 : logical(LK) , intent(in) , optional :: sticky
13937 : character(*, SK) , intent(in) , optional :: deliml, delimr
13938 : end subroutine
13939 : #endif
13940 :
13941 : #if LK4_ENABLED
13942 : module subroutine show_D2_PSLK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13943 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13944 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSLK4
13945 : #endif
13946 : use pm_kind, only: SKC => SK, LKC => LK4
13947 : use pm_container, only: csl_pdt
13948 : class(display_type) , intent(inout) :: self
13949 : type(csl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:,:)
13950 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13951 : character(*, SK) , intent(in) , optional :: format, advance
13952 : logical(LK) , intent(in) , optional :: sticky
13953 : character(*, SK) , intent(in) , optional :: deliml, delimr
13954 : end subroutine
13955 : #endif
13956 :
13957 : #if LK3_ENABLED
13958 : module subroutine show_D2_PSLK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13959 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13960 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSLK3
13961 : #endif
13962 : use pm_kind, only: SKC => SK, LKC => LK3
13963 : use pm_container, only: csl_pdt
13964 : class(display_type) , intent(inout) :: self
13965 : type(csl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:,:)
13966 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13967 : character(*, SK) , intent(in) , optional :: format, advance
13968 : logical(LK) , intent(in) , optional :: sticky
13969 : character(*, SK) , intent(in) , optional :: deliml, delimr
13970 : end subroutine
13971 : #endif
13972 :
13973 : #if LK2_ENABLED
13974 : module subroutine show_D2_PSLK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13975 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13976 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSLK2
13977 : #endif
13978 : use pm_kind, only: SKC => SK, LKC => LK2
13979 : use pm_container, only: csl_pdt
13980 : class(display_type) , intent(inout) :: self
13981 : type(csl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:,:)
13982 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13983 : character(*, SK) , intent(in) , optional :: format, advance
13984 : logical(LK) , intent(in) , optional :: sticky
13985 : character(*, SK) , intent(in) , optional :: deliml, delimr
13986 : end subroutine
13987 : #endif
13988 :
13989 : #if LK1_ENABLED
13990 : module subroutine show_D2_PSLK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
13991 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
13992 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSLK1
13993 : #endif
13994 : use pm_kind, only: SKC => SK, LKC => LK1
13995 : use pm_container, only: csl_pdt
13996 : class(display_type) , intent(inout) :: self
13997 : type(csl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:,:)
13998 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
13999 : character(*, SK) , intent(in) , optional :: format, advance
14000 : logical(LK) , intent(in) , optional :: sticky
14001 : character(*, SK) , intent(in) , optional :: deliml, delimr
14002 : end subroutine
14003 : #endif
14004 :
14005 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14006 :
14007 : #if CK5_ENABLED
14008 : module subroutine show_D2_PSCK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14009 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14010 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSCK5
14011 : #endif
14012 : use pm_kind, only: SKC => SK, CKC => CK5
14013 : use pm_container, only: csc_pdt
14014 : class(display_type) , intent(inout) :: self
14015 : type(csc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:,:)
14016 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14017 : character(*, SK) , intent(in) , optional :: format, advance
14018 : logical(LK) , intent(in) , optional :: sticky
14019 : character(*, SK) , intent(in) , optional :: deliml, delimr
14020 : end subroutine
14021 : #endif
14022 :
14023 : #if CK4_ENABLED
14024 : module subroutine show_D2_PSCK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14025 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14026 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSCK4
14027 : #endif
14028 : use pm_kind, only: SKC => SK, CKC => CK4
14029 : use pm_container, only: csc_pdt
14030 : class(display_type) , intent(inout) :: self
14031 : type(csc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:,:)
14032 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14033 : character(*, SK) , intent(in) , optional :: format, advance
14034 : logical(LK) , intent(in) , optional :: sticky
14035 : character(*, SK) , intent(in) , optional :: deliml, delimr
14036 : end subroutine
14037 : #endif
14038 :
14039 : #if CK3_ENABLED
14040 : module subroutine show_D2_PSCK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14041 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14042 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSCK3
14043 : #endif
14044 : use pm_kind, only: SKC => SK, CKC => CK3
14045 : use pm_container, only: csc_pdt
14046 : class(display_type) , intent(inout) :: self
14047 : type(csc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:,:)
14048 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14049 : character(*, SK) , intent(in) , optional :: format, advance
14050 : logical(LK) , intent(in) , optional :: sticky
14051 : character(*, SK) , intent(in) , optional :: deliml, delimr
14052 : end subroutine
14053 : #endif
14054 :
14055 : #if CK2_ENABLED
14056 : module subroutine show_D2_PSCK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14057 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14058 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSCK2
14059 : #endif
14060 : use pm_kind, only: SKC => SK, CKC => CK2
14061 : use pm_container, only: csc_pdt
14062 : class(display_type) , intent(inout) :: self
14063 : type(csc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:,:)
14064 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14065 : character(*, SK) , intent(in) , optional :: format, advance
14066 : logical(LK) , intent(in) , optional :: sticky
14067 : character(*, SK) , intent(in) , optional :: deliml, delimr
14068 : end subroutine
14069 : #endif
14070 :
14071 : #if CK1_ENABLED
14072 : module subroutine show_D2_PSCK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14073 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14074 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSCK1
14075 : #endif
14076 : use pm_kind, only: SKC => SK, CKC => CK1
14077 : use pm_container, only: csc_pdt
14078 : class(display_type) , intent(inout) :: self
14079 : type(csc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:,:)
14080 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14081 : character(*, SK) , intent(in) , optional :: format, advance
14082 : logical(LK) , intent(in) , optional :: sticky
14083 : character(*, SK) , intent(in) , optional :: deliml, delimr
14084 : end subroutine
14085 : #endif
14086 :
14087 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14088 :
14089 : #if RK5_ENABLED
14090 : module subroutine show_D2_PSRK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14091 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14092 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSRK5
14093 : #endif
14094 : use pm_kind, only: SKC => SK, RKC => RK5
14095 : use pm_container, only: csr_pdt
14096 : class(display_type) , intent(inout) :: self
14097 : type(csr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:,:)
14098 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14099 : character(*, SK) , intent(in) , optional :: format, advance
14100 : logical(LK) , intent(in) , optional :: sticky
14101 : character(*, SK) , intent(in) , optional :: deliml, delimr
14102 : end subroutine
14103 : #endif
14104 :
14105 : #if RK4_ENABLED
14106 : module subroutine show_D2_PSRK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14107 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14108 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSRK4
14109 : #endif
14110 : use pm_kind, only: SKC => SK, RKC => RK4
14111 : use pm_container, only: csr_pdt
14112 : class(display_type) , intent(inout) :: self
14113 : type(csr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:,:)
14114 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14115 : character(*, SK) , intent(in) , optional :: format, advance
14116 : logical(LK) , intent(in) , optional :: sticky
14117 : character(*, SK) , intent(in) , optional :: deliml, delimr
14118 : end subroutine
14119 : #endif
14120 :
14121 : #if RK3_ENABLED
14122 : module subroutine show_D2_PSRK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14123 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14124 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSRK3
14125 : #endif
14126 : use pm_kind, only: SKC => SK, RKC => RK3
14127 : use pm_container, only: csr_pdt
14128 : class(display_type) , intent(inout) :: self
14129 : type(csr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:,:)
14130 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14131 : character(*, SK) , intent(in) , optional :: format, advance
14132 : logical(LK) , intent(in) , optional :: sticky
14133 : character(*, SK) , intent(in) , optional :: deliml, delimr
14134 : end subroutine
14135 : #endif
14136 :
14137 : #if RK2_ENABLED
14138 : module subroutine show_D2_PSRK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14139 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14140 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSRK2
14141 : #endif
14142 : use pm_kind, only: SKC => SK, RKC => RK2
14143 : use pm_container, only: csr_pdt
14144 : class(display_type) , intent(inout) :: self
14145 : type(csr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:,:)
14146 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14147 : character(*, SK) , intent(in) , optional :: format, advance
14148 : logical(LK) , intent(in) , optional :: sticky
14149 : character(*, SK) , intent(in) , optional :: deliml, delimr
14150 : end subroutine
14151 : #endif
14152 :
14153 : #if RK1_ENABLED
14154 : module subroutine show_D2_PSRK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14155 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14156 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PSRK1
14157 : #endif
14158 : use pm_kind, only: SKC => SK, RKC => RK1
14159 : use pm_container, only: csr_pdt
14160 : class(display_type) , intent(inout) :: self
14161 : type(csr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:,:)
14162 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14163 : character(*, SK) , intent(in) , optional :: format, advance
14164 : logical(LK) , intent(in) , optional :: sticky
14165 : character(*, SK) , intent(in) , optional :: deliml, delimr
14166 : end subroutine
14167 : #endif
14168 :
14169 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14170 :
14171 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14172 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14173 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14174 :
14175 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14176 :
14177 : #if SK5_ENABLED
14178 : module subroutine show_D3_PSSK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14179 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14180 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSSK5
14181 : #endif
14182 : use pm_kind, only: SKC => SK5
14183 : use pm_container, only: css_pdt
14184 : class(display_type) , intent(inout) :: self
14185 : type(css_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14186 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14187 : character(*, SK) , intent(in) , optional :: format, advance
14188 : logical(LK) , intent(in) , optional :: sticky
14189 : character(*, SK) , intent(in) , optional :: deliml, delimr
14190 : end subroutine
14191 : #endif
14192 :
14193 : #if SK4_ENABLED
14194 : module subroutine show_D3_PSSK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14195 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14196 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSSK4
14197 : #endif
14198 : use pm_kind, only: SKC => SK4
14199 : use pm_container, only: css_pdt
14200 : class(display_type) , intent(inout) :: self
14201 : type(css_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14202 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14203 : character(*, SK) , intent(in) , optional :: format, advance
14204 : logical(LK) , intent(in) , optional :: sticky
14205 : character(*, SK) , intent(in) , optional :: deliml, delimr
14206 : end subroutine
14207 : #endif
14208 :
14209 : #if SK3_ENABLED
14210 : module subroutine show_D3_PSSK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14211 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14212 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSSK3
14213 : #endif
14214 : use pm_kind, only: SKC => SK3
14215 : use pm_container, only: css_pdt
14216 : class(display_type) , intent(inout) :: self
14217 : type(css_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14218 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14219 : character(*, SK) , intent(in) , optional :: format, advance
14220 : logical(LK) , intent(in) , optional :: sticky
14221 : character(*, SK) , intent(in) , optional :: deliml, delimr
14222 : end subroutine
14223 : #endif
14224 :
14225 : #if SK2_ENABLED
14226 : module subroutine show_D3_PSSK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14227 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14228 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSSK2
14229 : #endif
14230 : use pm_kind, only: SKC => SK2
14231 : use pm_container, only: css_pdt
14232 : class(display_type) , intent(inout) :: self
14233 : type(css_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14234 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14235 : character(*, SK) , intent(in) , optional :: format, advance
14236 : logical(LK) , intent(in) , optional :: sticky
14237 : character(*, SK) , intent(in) , optional :: deliml, delimr
14238 : end subroutine
14239 : #endif
14240 :
14241 : #if SK1_ENABLED
14242 : module subroutine show_D3_PSSK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14243 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14244 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSSK1
14245 : #endif
14246 : use pm_kind, only: SKC => SK1
14247 : use pm_container, only: css_pdt
14248 : class(display_type) , intent(inout) :: self
14249 : type(css_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14250 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14251 : character(*, SK) , intent(in) , optional :: format, advance
14252 : logical(LK) , intent(in) , optional :: sticky
14253 : character(*, SK) , intent(in) , optional :: deliml, delimr
14254 : end subroutine
14255 : #endif
14256 :
14257 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14258 :
14259 : #if IK5_ENABLED
14260 : module subroutine show_D3_PSIK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14261 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14262 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSIK5
14263 : #endif
14264 : use pm_kind, only: SKC => SK, IKC => IK5
14265 : use pm_container, only: csi_pdt
14266 : class(display_type) , intent(inout) :: self
14267 : type(csi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14268 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14269 : character(*, SK) , intent(in) , optional :: format, advance
14270 : logical(LK) , intent(in) , optional :: sticky
14271 : character(*, SK) , intent(in) , optional :: deliml, delimr
14272 : end subroutine
14273 : #endif
14274 :
14275 : #if IK4_ENABLED
14276 : module subroutine show_D3_PSIK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14277 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14278 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSIK4
14279 : #endif
14280 : use pm_kind, only: SKC => SK, IKC => IK4
14281 : use pm_container, only: csi_pdt
14282 : class(display_type) , intent(inout) :: self
14283 : type(csi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14284 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14285 : character(*, SK) , intent(in) , optional :: format, advance
14286 : logical(LK) , intent(in) , optional :: sticky
14287 : character(*, SK) , intent(in) , optional :: deliml, delimr
14288 : end subroutine
14289 : #endif
14290 :
14291 : #if IK3_ENABLED
14292 : module subroutine show_D3_PSIK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14293 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14294 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSIK3
14295 : #endif
14296 : use pm_kind, only: SKC => SK, IKC => IK3
14297 : use pm_container, only: csi_pdt
14298 : class(display_type) , intent(inout) :: self
14299 : type(csi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14300 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14301 : character(*, SK) , intent(in) , optional :: format, advance
14302 : logical(LK) , intent(in) , optional :: sticky
14303 : character(*, SK) , intent(in) , optional :: deliml, delimr
14304 : end subroutine
14305 : #endif
14306 :
14307 : #if IK2_ENABLED
14308 : module subroutine show_D3_PSIK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14309 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14310 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSIK2
14311 : #endif
14312 : use pm_kind, only: SKC => SK, IKC => IK2
14313 : use pm_container, only: csi_pdt
14314 : class(display_type) , intent(inout) :: self
14315 : type(csi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14316 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14317 : character(*, SK) , intent(in) , optional :: format, advance
14318 : logical(LK) , intent(in) , optional :: sticky
14319 : character(*, SK) , intent(in) , optional :: deliml, delimr
14320 : end subroutine
14321 : #endif
14322 :
14323 : #if IK1_ENABLED
14324 : module subroutine show_D3_PSIK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14325 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14326 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSIK1
14327 : #endif
14328 : use pm_kind, only: SKC => SK, IKC => IK1
14329 : use pm_container, only: csi_pdt
14330 : class(display_type) , intent(inout) :: self
14331 : type(csi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14332 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14333 : character(*, SK) , intent(in) , optional :: format, advance
14334 : logical(LK) , intent(in) , optional :: sticky
14335 : character(*, SK) , intent(in) , optional :: deliml, delimr
14336 : end subroutine
14337 : #endif
14338 :
14339 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14340 :
14341 : #if LK5_ENABLED
14342 : module subroutine show_D3_PSLK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14343 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14344 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSLK5
14345 : #endif
14346 : use pm_kind, only: SKC => SK, LKC => LK5
14347 : use pm_container, only: csl_pdt
14348 : class(display_type) , intent(inout) :: self
14349 : type(csl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14350 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14351 : character(*, SK) , intent(in) , optional :: format, advance
14352 : logical(LK) , intent(in) , optional :: sticky
14353 : character(*, SK) , intent(in) , optional :: deliml, delimr
14354 : end subroutine
14355 : #endif
14356 :
14357 : #if LK4_ENABLED
14358 : module subroutine show_D3_PSLK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14359 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14360 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSLK4
14361 : #endif
14362 : use pm_kind, only: SKC => SK, LKC => LK4
14363 : use pm_container, only: csl_pdt
14364 : class(display_type) , intent(inout) :: self
14365 : type(csl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14366 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14367 : character(*, SK) , intent(in) , optional :: format, advance
14368 : logical(LK) , intent(in) , optional :: sticky
14369 : character(*, SK) , intent(in) , optional :: deliml, delimr
14370 : end subroutine
14371 : #endif
14372 :
14373 : #if LK3_ENABLED
14374 : module subroutine show_D3_PSLK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14375 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14376 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSLK3
14377 : #endif
14378 : use pm_kind, only: SKC => SK, LKC => LK3
14379 : use pm_container, only: csl_pdt
14380 : class(display_type) , intent(inout) :: self
14381 : type(csl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14382 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14383 : character(*, SK) , intent(in) , optional :: format, advance
14384 : logical(LK) , intent(in) , optional :: sticky
14385 : character(*, SK) , intent(in) , optional :: deliml, delimr
14386 : end subroutine
14387 : #endif
14388 :
14389 : #if LK2_ENABLED
14390 : module subroutine show_D3_PSLK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14391 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14392 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSLK2
14393 : #endif
14394 : use pm_kind, only: SKC => SK, LKC => LK2
14395 : use pm_container, only: csl_pdt
14396 : class(display_type) , intent(inout) :: self
14397 : type(csl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14398 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14399 : character(*, SK) , intent(in) , optional :: format, advance
14400 : logical(LK) , intent(in) , optional :: sticky
14401 : character(*, SK) , intent(in) , optional :: deliml, delimr
14402 : end subroutine
14403 : #endif
14404 :
14405 : #if LK1_ENABLED
14406 : module subroutine show_D3_PSLK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14407 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14408 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSLK1
14409 : #endif
14410 : use pm_kind, only: SKC => SK, LKC => LK1
14411 : use pm_container, only: csl_pdt
14412 : class(display_type) , intent(inout) :: self
14413 : type(csl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14414 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14415 : character(*, SK) , intent(in) , optional :: format, advance
14416 : logical(LK) , intent(in) , optional :: sticky
14417 : character(*, SK) , intent(in) , optional :: deliml, delimr
14418 : end subroutine
14419 : #endif
14420 :
14421 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14422 :
14423 : #if CK5_ENABLED
14424 : module subroutine show_D3_PSCK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14425 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14426 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSCK5
14427 : #endif
14428 : use pm_kind, only: SKC => SK, CKC => CK5
14429 : use pm_container, only: csc_pdt
14430 : class(display_type) , intent(inout) :: self
14431 : type(csc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14432 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14433 : character(*, SK) , intent(in) , optional :: format, advance
14434 : logical(LK) , intent(in) , optional :: sticky
14435 : character(*, SK) , intent(in) , optional :: deliml, delimr
14436 : end subroutine
14437 : #endif
14438 :
14439 : #if CK4_ENABLED
14440 : module subroutine show_D3_PSCK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14441 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14442 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSCK4
14443 : #endif
14444 : use pm_kind, only: SKC => SK, CKC => CK4
14445 : use pm_container, only: csc_pdt
14446 : class(display_type) , intent(inout) :: self
14447 : type(csc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14448 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14449 : character(*, SK) , intent(in) , optional :: format, advance
14450 : logical(LK) , intent(in) , optional :: sticky
14451 : character(*, SK) , intent(in) , optional :: deliml, delimr
14452 : end subroutine
14453 : #endif
14454 :
14455 : #if CK3_ENABLED
14456 : module subroutine show_D3_PSCK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14457 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14458 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSCK3
14459 : #endif
14460 : use pm_kind, only: SKC => SK, CKC => CK3
14461 : use pm_container, only: csc_pdt
14462 : class(display_type) , intent(inout) :: self
14463 : type(csc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14464 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14465 : character(*, SK) , intent(in) , optional :: format, advance
14466 : logical(LK) , intent(in) , optional :: sticky
14467 : character(*, SK) , intent(in) , optional :: deliml, delimr
14468 : end subroutine
14469 : #endif
14470 :
14471 : #if CK2_ENABLED
14472 : module subroutine show_D3_PSCK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14473 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14474 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSCK2
14475 : #endif
14476 : use pm_kind, only: SKC => SK, CKC => CK2
14477 : use pm_container, only: csc_pdt
14478 : class(display_type) , intent(inout) :: self
14479 : type(csc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14480 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14481 : character(*, SK) , intent(in) , optional :: format, advance
14482 : logical(LK) , intent(in) , optional :: sticky
14483 : character(*, SK) , intent(in) , optional :: deliml, delimr
14484 : end subroutine
14485 : #endif
14486 :
14487 : #if CK1_ENABLED
14488 : module subroutine show_D3_PSCK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14489 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14490 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSCK1
14491 : #endif
14492 : use pm_kind, only: SKC => SK, CKC => CK1
14493 : use pm_container, only: csc_pdt
14494 : class(display_type) , intent(inout) :: self
14495 : type(csc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14496 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14497 : character(*, SK) , intent(in) , optional :: format, advance
14498 : logical(LK) , intent(in) , optional :: sticky
14499 : character(*, SK) , intent(in) , optional :: deliml, delimr
14500 : end subroutine
14501 : #endif
14502 :
14503 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14504 :
14505 : #if RK5_ENABLED
14506 : module subroutine show_D3_PSRK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14507 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14508 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSRK5
14509 : #endif
14510 : use pm_kind, only: SKC => SK, RKC => RK5
14511 : use pm_container, only: csr_pdt
14512 : class(display_type) , intent(inout) :: self
14513 : type(csr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14514 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14515 : character(*, SK) , intent(in) , optional :: format, advance
14516 : logical(LK) , intent(in) , optional :: sticky
14517 : character(*, SK) , intent(in) , optional :: deliml, delimr
14518 : end subroutine
14519 : #endif
14520 :
14521 : #if RK4_ENABLED
14522 : module subroutine show_D3_PSRK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14523 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14524 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSRK4
14525 : #endif
14526 : use pm_kind, only: SKC => SK, RKC => RK4
14527 : use pm_container, only: csr_pdt
14528 : class(display_type) , intent(inout) :: self
14529 : type(csr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14530 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14531 : character(*, SK) , intent(in) , optional :: format, advance
14532 : logical(LK) , intent(in) , optional :: sticky
14533 : character(*, SK) , intent(in) , optional :: deliml, delimr
14534 : end subroutine
14535 : #endif
14536 :
14537 : #if RK3_ENABLED
14538 : module subroutine show_D3_PSRK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14539 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14540 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSRK3
14541 : #endif
14542 : use pm_kind, only: SKC => SK, RKC => RK3
14543 : use pm_container, only: csr_pdt
14544 : class(display_type) , intent(inout) :: self
14545 : type(csr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14546 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14547 : character(*, SK) , intent(in) , optional :: format, advance
14548 : logical(LK) , intent(in) , optional :: sticky
14549 : character(*, SK) , intent(in) , optional :: deliml, delimr
14550 : end subroutine
14551 : #endif
14552 :
14553 : #if RK2_ENABLED
14554 : module subroutine show_D3_PSRK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14555 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14556 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSRK2
14557 : #endif
14558 : use pm_kind, only: SKC => SK, RKC => RK2
14559 : use pm_container, only: csr_pdt
14560 : class(display_type) , intent(inout) :: self
14561 : type(csr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14562 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14563 : character(*, SK) , intent(in) , optional :: format, advance
14564 : logical(LK) , intent(in) , optional :: sticky
14565 : character(*, SK) , intent(in) , optional :: deliml, delimr
14566 : end subroutine
14567 : #endif
14568 :
14569 : #if RK1_ENABLED
14570 : module subroutine show_D3_PSRK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14571 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14572 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_PSRK1
14573 : #endif
14574 : use pm_kind, only: SKC => SK, RKC => RK1
14575 : use pm_container, only: csr_pdt
14576 : class(display_type) , intent(inout) :: self
14577 : type(csr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:,:,:)
14578 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14579 : character(*, SK) , intent(in) , optional :: format, advance
14580 : logical(LK) , intent(in) , optional :: sticky
14581 : character(*, SK) , intent(in) , optional :: deliml, delimr
14582 : end subroutine
14583 : #endif
14584 :
14585 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14586 :
14587 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14588 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14589 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14590 :
14591 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14592 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14593 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14594 :
14595 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14596 :
14597 : #if SK5_ENABLED
14598 : module subroutine show_D0_PVSK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14599 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14600 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVSK5
14601 : #endif
14602 : use pm_kind, only: SKC => SK5
14603 : use pm_container, only: cvs_pdt
14604 : class(display_type) , intent(inout) :: self
14605 : type(cvs_pdt(SKC)) , intent(in) :: object
14606 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14607 : character(*, SK) , intent(in) , optional :: format, advance
14608 : logical(LK) , intent(in) , optional :: sticky
14609 : character(*, SK) , intent(in) , optional :: deliml, delimr
14610 : end subroutine
14611 : #endif
14612 :
14613 : #if SK4_ENABLED
14614 : module subroutine show_D0_PVSK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14615 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14616 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVSK4
14617 : #endif
14618 : use pm_kind, only: SKC => SK4
14619 : use pm_container, only: cvs_pdt
14620 : class(display_type) , intent(inout) :: self
14621 : type(cvs_pdt(SKC)) , intent(in) :: object
14622 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14623 : character(*, SK) , intent(in) , optional :: format, advance
14624 : logical(LK) , intent(in) , optional :: sticky
14625 : character(*, SK) , intent(in) , optional :: deliml, delimr
14626 : end subroutine
14627 : #endif
14628 :
14629 : #if SK3_ENABLED
14630 : module subroutine show_D0_PVSK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14631 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14632 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVSK3
14633 : #endif
14634 : use pm_kind, only: SKC => SK3
14635 : use pm_container, only: cvs_pdt
14636 : class(display_type) , intent(inout) :: self
14637 : type(cvs_pdt(SKC)) , intent(in) :: object
14638 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14639 : character(*, SK) , intent(in) , optional :: format, advance
14640 : logical(LK) , intent(in) , optional :: sticky
14641 : character(*, SK) , intent(in) , optional :: deliml, delimr
14642 : end subroutine
14643 : #endif
14644 :
14645 : #if SK2_ENABLED
14646 : module subroutine show_D0_PVSK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14647 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14648 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVSK2
14649 : #endif
14650 : use pm_kind, only: SKC => SK2
14651 : use pm_container, only: cvs_pdt
14652 : class(display_type) , intent(inout) :: self
14653 : type(cvs_pdt(SKC)) , intent(in) :: object
14654 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14655 : character(*, SK) , intent(in) , optional :: format, advance
14656 : logical(LK) , intent(in) , optional :: sticky
14657 : character(*, SK) , intent(in) , optional :: deliml, delimr
14658 : end subroutine
14659 : #endif
14660 :
14661 : #if SK1_ENABLED
14662 : module subroutine show_D0_PVSK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14663 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14664 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVSK1
14665 : #endif
14666 : use pm_kind, only: SKC => SK1
14667 : use pm_container, only: cvs_pdt
14668 : class(display_type) , intent(inout) :: self
14669 : type(cvs_pdt(SKC)) , intent(in) :: object
14670 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14671 : character(*, SK) , intent(in) , optional :: format, advance
14672 : logical(LK) , intent(in) , optional :: sticky
14673 : character(*, SK) , intent(in) , optional :: deliml, delimr
14674 : end subroutine
14675 : #endif
14676 :
14677 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14678 :
14679 : #if IK5_ENABLED
14680 : module subroutine show_D0_PVIK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14681 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14682 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVIK5
14683 : #endif
14684 : use pm_kind, only: SKC => SK, IKC => IK5
14685 : use pm_container, only: cvi_pdt
14686 : class(display_type) , intent(inout) :: self
14687 : type(cvi_pdt(IKC)) , intent(in) :: object
14688 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14689 : character(*, SK) , intent(in) , optional :: format, advance
14690 : logical(LK) , intent(in) , optional :: sticky
14691 : character(*, SK) , intent(in) , optional :: deliml, delimr
14692 : end subroutine
14693 : #endif
14694 :
14695 : #if IK4_ENABLED
14696 : module subroutine show_D0_PVIK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14697 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14698 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVIK4
14699 : #endif
14700 : use pm_kind, only: SKC => SK, IKC => IK4
14701 : use pm_container, only: cvi_pdt
14702 : class(display_type) , intent(inout) :: self
14703 : type(cvi_pdt(IKC)) , intent(in) :: object
14704 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14705 : character(*, SK) , intent(in) , optional :: format, advance
14706 : logical(LK) , intent(in) , optional :: sticky
14707 : character(*, SK) , intent(in) , optional :: deliml, delimr
14708 : end subroutine
14709 : #endif
14710 :
14711 : #if IK3_ENABLED
14712 : module subroutine show_D0_PVIK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14713 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14714 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVIK3
14715 : #endif
14716 : use pm_kind, only: SKC => SK, IKC => IK3
14717 : use pm_container, only: cvi_pdt
14718 : class(display_type) , intent(inout) :: self
14719 : type(cvi_pdt(IKC)) , intent(in) :: object
14720 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14721 : character(*, SK) , intent(in) , optional :: format, advance
14722 : logical(LK) , intent(in) , optional :: sticky
14723 : character(*, SK) , intent(in) , optional :: deliml, delimr
14724 : end subroutine
14725 : #endif
14726 :
14727 : #if IK2_ENABLED
14728 : module subroutine show_D0_PVIK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14729 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14730 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVIK2
14731 : #endif
14732 : use pm_kind, only: SKC => SK, IKC => IK2
14733 : use pm_container, only: cvi_pdt
14734 : class(display_type) , intent(inout) :: self
14735 : type(cvi_pdt(IKC)) , intent(in) :: object
14736 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14737 : character(*, SK) , intent(in) , optional :: format, advance
14738 : logical(LK) , intent(in) , optional :: sticky
14739 : character(*, SK) , intent(in) , optional :: deliml, delimr
14740 : end subroutine
14741 : #endif
14742 :
14743 : #if IK1_ENABLED
14744 : module subroutine show_D0_PVIK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14745 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14746 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVIK1
14747 : #endif
14748 : use pm_kind, only: SKC => SK, IKC => IK1
14749 : use pm_container, only: cvi_pdt
14750 : class(display_type) , intent(inout) :: self
14751 : type(cvi_pdt(IKC)) , intent(in) :: object
14752 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14753 : character(*, SK) , intent(in) , optional :: format, advance
14754 : logical(LK) , intent(in) , optional :: sticky
14755 : character(*, SK) , intent(in) , optional :: deliml, delimr
14756 : end subroutine
14757 : #endif
14758 :
14759 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14760 :
14761 : #if LK5_ENABLED
14762 : module subroutine show_D0_PVLK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14763 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14764 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVLK5
14765 : #endif
14766 : use pm_kind, only: SKC => SK, LKC => LK5
14767 : use pm_container, only: cvl_pdt
14768 : class(display_type) , intent(inout) :: self
14769 : type(cvl_pdt(LKC)) , intent(in) :: object
14770 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14771 : character(*, SK) , intent(in) , optional :: format, advance
14772 : logical(LK) , intent(in) , optional :: sticky
14773 : character(*, SK) , intent(in) , optional :: deliml, delimr
14774 : end subroutine
14775 : #endif
14776 :
14777 : #if LK4_ENABLED
14778 : module subroutine show_D0_PVLK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14779 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14780 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVLK4
14781 : #endif
14782 : use pm_kind, only: SKC => SK, LKC => LK4
14783 : use pm_container, only: cvl_pdt
14784 : class(display_type) , intent(inout) :: self
14785 : type(cvl_pdt(LKC)) , intent(in) :: object
14786 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14787 : character(*, SK) , intent(in) , optional :: format, advance
14788 : logical(LK) , intent(in) , optional :: sticky
14789 : character(*, SK) , intent(in) , optional :: deliml, delimr
14790 : end subroutine
14791 : #endif
14792 :
14793 : #if LK3_ENABLED
14794 : module subroutine show_D0_PVLK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14795 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14796 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVLK3
14797 : #endif
14798 : use pm_kind, only: SKC => SK, LKC => LK3
14799 : use pm_container, only: cvl_pdt
14800 : class(display_type) , intent(inout) :: self
14801 : type(cvl_pdt(LKC)) , intent(in) :: object
14802 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14803 : character(*, SK) , intent(in) , optional :: format, advance
14804 : logical(LK) , intent(in) , optional :: sticky
14805 : character(*, SK) , intent(in) , optional :: deliml, delimr
14806 : end subroutine
14807 : #endif
14808 :
14809 : #if LK2_ENABLED
14810 : module subroutine show_D0_PVLK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14811 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14812 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVLK2
14813 : #endif
14814 : use pm_kind, only: SKC => SK, LKC => LK2
14815 : use pm_container, only: cvl_pdt
14816 : class(display_type) , intent(inout) :: self
14817 : type(cvl_pdt(LKC)) , intent(in) :: object
14818 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14819 : character(*, SK) , intent(in) , optional :: format, advance
14820 : logical(LK) , intent(in) , optional :: sticky
14821 : character(*, SK) , intent(in) , optional :: deliml, delimr
14822 : end subroutine
14823 : #endif
14824 :
14825 : #if LK1_ENABLED
14826 : module subroutine show_D0_PVLK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14827 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14828 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVLK1
14829 : #endif
14830 : use pm_kind, only: SKC => SK, LKC => LK1
14831 : use pm_container, only: cvl_pdt
14832 : class(display_type) , intent(inout) :: self
14833 : type(cvl_pdt(LKC)) , intent(in) :: object
14834 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14835 : character(*, SK) , intent(in) , optional :: format, advance
14836 : logical(LK) , intent(in) , optional :: sticky
14837 : character(*, SK) , intent(in) , optional :: deliml, delimr
14838 : end subroutine
14839 : #endif
14840 :
14841 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14842 :
14843 : #if CK5_ENABLED
14844 : module subroutine show_D0_PVCK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14845 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14846 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVCK5
14847 : #endif
14848 : use pm_kind, only: SKC => SK, CKC => CK5
14849 : use pm_container, only: cvc_pdt
14850 : class(display_type) , intent(inout) :: self
14851 : type(cvc_pdt(CKC)) , intent(in) :: object
14852 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14853 : character(*, SK) , intent(in) , optional :: format, advance
14854 : logical(LK) , intent(in) , optional :: sticky
14855 : character(*, SK) , intent(in) , optional :: deliml, delimr
14856 : end subroutine
14857 : #endif
14858 :
14859 : #if CK4_ENABLED
14860 : module subroutine show_D0_PVCK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14861 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14862 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVCK4
14863 : #endif
14864 : use pm_kind, only: SKC => SK, CKC => CK4
14865 : use pm_container, only: cvc_pdt
14866 : class(display_type) , intent(inout) :: self
14867 : type(cvc_pdt(CKC)) , intent(in) :: object
14868 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14869 : character(*, SK) , intent(in) , optional :: format, advance
14870 : logical(LK) , intent(in) , optional :: sticky
14871 : character(*, SK) , intent(in) , optional :: deliml, delimr
14872 : end subroutine
14873 : #endif
14874 :
14875 : #if CK3_ENABLED
14876 : module subroutine show_D0_PVCK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14877 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14878 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVCK3
14879 : #endif
14880 : use pm_kind, only: SKC => SK, CKC => CK3
14881 : use pm_container, only: cvc_pdt
14882 : class(display_type) , intent(inout) :: self
14883 : type(cvc_pdt(CKC)) , intent(in) :: object
14884 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14885 : character(*, SK) , intent(in) , optional :: format, advance
14886 : logical(LK) , intent(in) , optional :: sticky
14887 : character(*, SK) , intent(in) , optional :: deliml, delimr
14888 : end subroutine
14889 : #endif
14890 :
14891 : #if CK2_ENABLED
14892 : module subroutine show_D0_PVCK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14893 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14894 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVCK2
14895 : #endif
14896 : use pm_kind, only: SKC => SK, CKC => CK2
14897 : use pm_container, only: cvc_pdt
14898 : class(display_type) , intent(inout) :: self
14899 : type(cvc_pdt(CKC)) , intent(in) :: object
14900 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14901 : character(*, SK) , intent(in) , optional :: format, advance
14902 : logical(LK) , intent(in) , optional :: sticky
14903 : character(*, SK) , intent(in) , optional :: deliml, delimr
14904 : end subroutine
14905 : #endif
14906 :
14907 : #if CK1_ENABLED
14908 : module subroutine show_D0_PVCK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14909 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14910 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVCK1
14911 : #endif
14912 : use pm_kind, only: SKC => SK, CKC => CK1
14913 : use pm_container, only: cvc_pdt
14914 : class(display_type) , intent(inout) :: self
14915 : type(cvc_pdt(CKC)) , intent(in) :: object
14916 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14917 : character(*, SK) , intent(in) , optional :: format, advance
14918 : logical(LK) , intent(in) , optional :: sticky
14919 : character(*, SK) , intent(in) , optional :: deliml, delimr
14920 : end subroutine
14921 : #endif
14922 :
14923 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14924 :
14925 : #if RK5_ENABLED
14926 : module subroutine show_D0_PVRK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14927 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14928 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVRK5
14929 : #endif
14930 : use pm_kind, only: SKC => SK, RKC => RK5
14931 : use pm_container, only: cvr_pdt
14932 : class(display_type) , intent(inout) :: self
14933 : type(cvr_pdt(RKC)) , intent(in) :: object
14934 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14935 : character(*, SK) , intent(in) , optional :: format, advance
14936 : logical(LK) , intent(in) , optional :: sticky
14937 : character(*, SK) , intent(in) , optional :: deliml, delimr
14938 : end subroutine
14939 : #endif
14940 :
14941 : #if RK4_ENABLED
14942 : module subroutine show_D0_PVRK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14943 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14944 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVRK4
14945 : #endif
14946 : use pm_kind, only: SKC => SK, RKC => RK4
14947 : use pm_container, only: cvr_pdt
14948 : class(display_type) , intent(inout) :: self
14949 : type(cvr_pdt(RKC)) , intent(in) :: object
14950 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14951 : character(*, SK) , intent(in) , optional :: format, advance
14952 : logical(LK) , intent(in) , optional :: sticky
14953 : character(*, SK) , intent(in) , optional :: deliml, delimr
14954 : end subroutine
14955 : #endif
14956 :
14957 : #if RK3_ENABLED
14958 : module subroutine show_D0_PVRK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14959 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14960 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVRK3
14961 : #endif
14962 : use pm_kind, only: SKC => SK, RKC => RK3
14963 : use pm_container, only: cvr_pdt
14964 : class(display_type) , intent(inout) :: self
14965 : type(cvr_pdt(RKC)) , intent(in) :: object
14966 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14967 : character(*, SK) , intent(in) , optional :: format, advance
14968 : logical(LK) , intent(in) , optional :: sticky
14969 : character(*, SK) , intent(in) , optional :: deliml, delimr
14970 : end subroutine
14971 : #endif
14972 :
14973 : #if RK2_ENABLED
14974 : module subroutine show_D0_PVRK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14975 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14976 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVRK2
14977 : #endif
14978 : use pm_kind, only: SKC => SK, RKC => RK2
14979 : use pm_container, only: cvr_pdt
14980 : class(display_type) , intent(inout) :: self
14981 : type(cvr_pdt(RKC)) , intent(in) :: object
14982 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14983 : character(*, SK) , intent(in) , optional :: format, advance
14984 : logical(LK) , intent(in) , optional :: sticky
14985 : character(*, SK) , intent(in) , optional :: deliml, delimr
14986 : end subroutine
14987 : #endif
14988 :
14989 : #if RK1_ENABLED
14990 : module subroutine show_D0_PVRK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
14991 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
14992 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PVRK1
14993 : #endif
14994 : use pm_kind, only: SKC => SK, RKC => RK1
14995 : use pm_container, only: cvr_pdt
14996 : class(display_type) , intent(inout) :: self
14997 : type(cvr_pdt(RKC)) , intent(in) :: object
14998 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
14999 : character(*, SK) , intent(in) , optional :: format, advance
15000 : logical(LK) , intent(in) , optional :: sticky
15001 : character(*, SK) , intent(in) , optional :: deliml, delimr
15002 : end subroutine
15003 : #endif
15004 :
15005 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15006 :
15007 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15008 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15009 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15010 :
15011 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15012 :
15013 : #if SK5_ENABLED
15014 : module subroutine show_D1_PVSK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15015 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15016 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVSK5
15017 : #endif
15018 : use pm_kind, only: SKC => SK5
15019 : use pm_container, only: cvs_pdt
15020 : class(display_type) , intent(inout) :: self
15021 : type(cvs_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:)
15022 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15023 : character(*, SK) , intent(in) , optional :: format, advance
15024 : logical(LK) , intent(in) , optional :: sticky
15025 : character(*, SK) , intent(in) , optional :: deliml, delimr
15026 : end subroutine
15027 : #endif
15028 :
15029 : #if SK4_ENABLED
15030 : module subroutine show_D1_PVSK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15031 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15032 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVSK4
15033 : #endif
15034 : use pm_kind, only: SKC => SK4
15035 : use pm_container, only: cvs_pdt
15036 : class(display_type) , intent(inout) :: self
15037 : type(cvs_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:)
15038 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15039 : character(*, SK) , intent(in) , optional :: format, advance
15040 : logical(LK) , intent(in) , optional :: sticky
15041 : character(*, SK) , intent(in) , optional :: deliml, delimr
15042 : end subroutine
15043 : #endif
15044 :
15045 : #if SK3_ENABLED
15046 : module subroutine show_D1_PVSK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15047 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15048 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVSK3
15049 : #endif
15050 : use pm_kind, only: SKC => SK3
15051 : use pm_container, only: cvs_pdt
15052 : class(display_type) , intent(inout) :: self
15053 : type(cvs_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:)
15054 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15055 : character(*, SK) , intent(in) , optional :: format, advance
15056 : logical(LK) , intent(in) , optional :: sticky
15057 : character(*, SK) , intent(in) , optional :: deliml, delimr
15058 : end subroutine
15059 : #endif
15060 :
15061 : #if SK2_ENABLED
15062 : module subroutine show_D1_PVSK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15063 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15064 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVSK2
15065 : #endif
15066 : use pm_kind, only: SKC => SK2
15067 : use pm_container, only: cvs_pdt
15068 : class(display_type) , intent(inout) :: self
15069 : type(cvs_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:)
15070 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15071 : character(*, SK) , intent(in) , optional :: format, advance
15072 : logical(LK) , intent(in) , optional :: sticky
15073 : character(*, SK) , intent(in) , optional :: deliml, delimr
15074 : end subroutine
15075 : #endif
15076 :
15077 : #if SK1_ENABLED
15078 : module subroutine show_D1_PVSK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15079 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15080 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVSK1
15081 : #endif
15082 : use pm_kind, only: SKC => SK1
15083 : use pm_container, only: cvs_pdt
15084 : class(display_type) , intent(inout) :: self
15085 : type(cvs_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:)
15086 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15087 : character(*, SK) , intent(in) , optional :: format, advance
15088 : logical(LK) , intent(in) , optional :: sticky
15089 : character(*, SK) , intent(in) , optional :: deliml, delimr
15090 : end subroutine
15091 : #endif
15092 :
15093 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15094 :
15095 : #if IK5_ENABLED
15096 : module subroutine show_D1_PVIK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15097 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15098 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVIK5
15099 : #endif
15100 : use pm_kind, only: SKC => SK, IKC => IK5
15101 : use pm_container, only: cvi_pdt
15102 : class(display_type) , intent(inout) :: self
15103 : type(cvi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:)
15104 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15105 : character(*, SK) , intent(in) , optional :: format, advance
15106 : logical(LK) , intent(in) , optional :: sticky
15107 : character(*, SK) , intent(in) , optional :: deliml, delimr
15108 : end subroutine
15109 : #endif
15110 :
15111 : #if IK4_ENABLED
15112 : module subroutine show_D1_PVIK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15113 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15114 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVIK4
15115 : #endif
15116 : use pm_kind, only: SKC => SK, IKC => IK4
15117 : use pm_container, only: cvi_pdt
15118 : class(display_type) , intent(inout) :: self
15119 : type(cvi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:)
15120 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15121 : character(*, SK) , intent(in) , optional :: format, advance
15122 : logical(LK) , intent(in) , optional :: sticky
15123 : character(*, SK) , intent(in) , optional :: deliml, delimr
15124 : end subroutine
15125 : #endif
15126 :
15127 : #if IK3_ENABLED
15128 : module subroutine show_D1_PVIK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15129 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15130 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVIK3
15131 : #endif
15132 : use pm_kind, only: SKC => SK, IKC => IK3
15133 : use pm_container, only: cvi_pdt
15134 : class(display_type) , intent(inout) :: self
15135 : type(cvi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:)
15136 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15137 : character(*, SK) , intent(in) , optional :: format, advance
15138 : logical(LK) , intent(in) , optional :: sticky
15139 : character(*, SK) , intent(in) , optional :: deliml, delimr
15140 : end subroutine
15141 : #endif
15142 :
15143 : #if IK2_ENABLED
15144 : module subroutine show_D1_PVIK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15145 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15146 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVIK2
15147 : #endif
15148 : use pm_kind, only: SKC => SK, IKC => IK2
15149 : use pm_container, only: cvi_pdt
15150 : class(display_type) , intent(inout) :: self
15151 : type(cvi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:)
15152 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15153 : character(*, SK) , intent(in) , optional :: format, advance
15154 : logical(LK) , intent(in) , optional :: sticky
15155 : character(*, SK) , intent(in) , optional :: deliml, delimr
15156 : end subroutine
15157 : #endif
15158 :
15159 : #if IK1_ENABLED
15160 : module subroutine show_D1_PVIK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15161 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15162 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVIK1
15163 : #endif
15164 : use pm_kind, only: SKC => SK, IKC => IK1
15165 : use pm_container, only: cvi_pdt
15166 : class(display_type) , intent(inout) :: self
15167 : type(cvi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:)
15168 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15169 : character(*, SK) , intent(in) , optional :: format, advance
15170 : logical(LK) , intent(in) , optional :: sticky
15171 : character(*, SK) , intent(in) , optional :: deliml, delimr
15172 : end subroutine
15173 : #endif
15174 :
15175 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15176 :
15177 : #if LK5_ENABLED
15178 : module subroutine show_D1_PVLK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15179 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15180 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVLK5
15181 : #endif
15182 : use pm_kind, only: SKC => SK, LKC => LK5
15183 : use pm_container, only: cvl_pdt
15184 : class(display_type) , intent(inout) :: self
15185 : type(cvl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:)
15186 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15187 : character(*, SK) , intent(in) , optional :: format, advance
15188 : logical(LK) , intent(in) , optional :: sticky
15189 : character(*, SK) , intent(in) , optional :: deliml, delimr
15190 : end subroutine
15191 : #endif
15192 :
15193 : #if LK4_ENABLED
15194 : module subroutine show_D1_PVLK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15195 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15196 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVLK4
15197 : #endif
15198 : use pm_kind, only: SKC => SK, LKC => LK4
15199 : use pm_container, only: cvl_pdt
15200 : class(display_type) , intent(inout) :: self
15201 : type(cvl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:)
15202 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15203 : character(*, SK) , intent(in) , optional :: format, advance
15204 : logical(LK) , intent(in) , optional :: sticky
15205 : character(*, SK) , intent(in) , optional :: deliml, delimr
15206 : end subroutine
15207 : #endif
15208 :
15209 : #if LK3_ENABLED
15210 : module subroutine show_D1_PVLK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15211 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15212 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVLK3
15213 : #endif
15214 : use pm_kind, only: SKC => SK, LKC => LK3
15215 : use pm_container, only: cvl_pdt
15216 : class(display_type) , intent(inout) :: self
15217 : type(cvl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:)
15218 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15219 : character(*, SK) , intent(in) , optional :: format, advance
15220 : logical(LK) , intent(in) , optional :: sticky
15221 : character(*, SK) , intent(in) , optional :: deliml, delimr
15222 : end subroutine
15223 : #endif
15224 :
15225 : #if LK2_ENABLED
15226 : module subroutine show_D1_PVLK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15227 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15228 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVLK2
15229 : #endif
15230 : use pm_kind, only: SKC => SK, LKC => LK2
15231 : use pm_container, only: cvl_pdt
15232 : class(display_type) , intent(inout) :: self
15233 : type(cvl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:)
15234 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15235 : character(*, SK) , intent(in) , optional :: format, advance
15236 : logical(LK) , intent(in) , optional :: sticky
15237 : character(*, SK) , intent(in) , optional :: deliml, delimr
15238 : end subroutine
15239 : #endif
15240 :
15241 : #if LK1_ENABLED
15242 : module subroutine show_D1_PVLK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15243 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15244 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVLK1
15245 : #endif
15246 : use pm_kind, only: SKC => SK, LKC => LK1
15247 : use pm_container, only: cvl_pdt
15248 : class(display_type) , intent(inout) :: self
15249 : type(cvl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:)
15250 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15251 : character(*, SK) , intent(in) , optional :: format, advance
15252 : logical(LK) , intent(in) , optional :: sticky
15253 : character(*, SK) , intent(in) , optional :: deliml, delimr
15254 : end subroutine
15255 : #endif
15256 :
15257 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15258 :
15259 : #if CK5_ENABLED
15260 : module subroutine show_D1_PVCK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15261 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15262 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVCK5
15263 : #endif
15264 : use pm_kind, only: SKC => SK, CKC => CK5
15265 : use pm_container, only: cvc_pdt
15266 : class(display_type) , intent(inout) :: self
15267 : type(cvc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:)
15268 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15269 : character(*, SK) , intent(in) , optional :: format, advance
15270 : logical(LK) , intent(in) , optional :: sticky
15271 : character(*, SK) , intent(in) , optional :: deliml, delimr
15272 : end subroutine
15273 : #endif
15274 :
15275 : #if CK4_ENABLED
15276 : module subroutine show_D1_PVCK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15277 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15278 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVCK4
15279 : #endif
15280 : use pm_kind, only: SKC => SK, CKC => CK4
15281 : use pm_container, only: cvc_pdt
15282 : class(display_type) , intent(inout) :: self
15283 : type(cvc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:)
15284 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15285 : character(*, SK) , intent(in) , optional :: format, advance
15286 : logical(LK) , intent(in) , optional :: sticky
15287 : character(*, SK) , intent(in) , optional :: deliml, delimr
15288 : end subroutine
15289 : #endif
15290 :
15291 : #if CK3_ENABLED
15292 : module subroutine show_D1_PVCK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15293 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15294 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVCK3
15295 : #endif
15296 : use pm_kind, only: SKC => SK, CKC => CK3
15297 : use pm_container, only: cvc_pdt
15298 : class(display_type) , intent(inout) :: self
15299 : type(cvc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:)
15300 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15301 : character(*, SK) , intent(in) , optional :: format, advance
15302 : logical(LK) , intent(in) , optional :: sticky
15303 : character(*, SK) , intent(in) , optional :: deliml, delimr
15304 : end subroutine
15305 : #endif
15306 :
15307 : #if CK2_ENABLED
15308 : module subroutine show_D1_PVCK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15309 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15310 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVCK2
15311 : #endif
15312 : use pm_kind, only: SKC => SK, CKC => CK2
15313 : use pm_container, only: cvc_pdt
15314 : class(display_type) , intent(inout) :: self
15315 : type(cvc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:)
15316 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15317 : character(*, SK) , intent(in) , optional :: format, advance
15318 : logical(LK) , intent(in) , optional :: sticky
15319 : character(*, SK) , intent(in) , optional :: deliml, delimr
15320 : end subroutine
15321 : #endif
15322 :
15323 : #if CK1_ENABLED
15324 : module subroutine show_D1_PVCK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15325 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15326 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVCK1
15327 : #endif
15328 : use pm_kind, only: SKC => SK, CKC => CK1
15329 : use pm_container, only: cvc_pdt
15330 : class(display_type) , intent(inout) :: self
15331 : type(cvc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:)
15332 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15333 : character(*, SK) , intent(in) , optional :: format, advance
15334 : logical(LK) , intent(in) , optional :: sticky
15335 : character(*, SK) , intent(in) , optional :: deliml, delimr
15336 : end subroutine
15337 : #endif
15338 :
15339 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15340 :
15341 : #if RK5_ENABLED
15342 : module subroutine show_D1_PVRK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15343 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15344 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVRK5
15345 : #endif
15346 : use pm_kind, only: SKC => SK, RKC => RK5
15347 : use pm_container, only: cvr_pdt
15348 : class(display_type) , intent(inout) :: self
15349 : type(cvr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:)
15350 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15351 : character(*, SK) , intent(in) , optional :: format, advance
15352 : logical(LK) , intent(in) , optional :: sticky
15353 : character(*, SK) , intent(in) , optional :: deliml, delimr
15354 : end subroutine
15355 : #endif
15356 :
15357 : #if RK4_ENABLED
15358 : module subroutine show_D1_PVRK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15359 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15360 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVRK4
15361 : #endif
15362 : use pm_kind, only: SKC => SK, RKC => RK4
15363 : use pm_container, only: cvr_pdt
15364 : class(display_type) , intent(inout) :: self
15365 : type(cvr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:)
15366 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15367 : character(*, SK) , intent(in) , optional :: format, advance
15368 : logical(LK) , intent(in) , optional :: sticky
15369 : character(*, SK) , intent(in) , optional :: deliml, delimr
15370 : end subroutine
15371 : #endif
15372 :
15373 : #if RK3_ENABLED
15374 : module subroutine show_D1_PVRK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15375 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15376 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVRK3
15377 : #endif
15378 : use pm_kind, only: SKC => SK, RKC => RK3
15379 : use pm_container, only: cvr_pdt
15380 : class(display_type) , intent(inout) :: self
15381 : type(cvr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:)
15382 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15383 : character(*, SK) , intent(in) , optional :: format, advance
15384 : logical(LK) , intent(in) , optional :: sticky
15385 : character(*, SK) , intent(in) , optional :: deliml, delimr
15386 : end subroutine
15387 : #endif
15388 :
15389 : #if RK2_ENABLED
15390 : module subroutine show_D1_PVRK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15391 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15392 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVRK2
15393 : #endif
15394 : use pm_kind, only: SKC => SK, RKC => RK2
15395 : use pm_container, only: cvr_pdt
15396 : class(display_type) , intent(inout) :: self
15397 : type(cvr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:)
15398 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15399 : character(*, SK) , intent(in) , optional :: format, advance
15400 : logical(LK) , intent(in) , optional :: sticky
15401 : character(*, SK) , intent(in) , optional :: deliml, delimr
15402 : end subroutine
15403 : #endif
15404 :
15405 : #if RK1_ENABLED
15406 : module subroutine show_D1_PVRK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15407 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15408 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PVRK1
15409 : #endif
15410 : use pm_kind, only: SKC => SK, RKC => RK1
15411 : use pm_container, only: cvr_pdt
15412 : class(display_type) , intent(inout) :: self
15413 : type(cvr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:)
15414 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15415 : character(*, SK) , intent(in) , optional :: format, advance
15416 : logical(LK) , intent(in) , optional :: sticky
15417 : character(*, SK) , intent(in) , optional :: deliml, delimr
15418 : end subroutine
15419 : #endif
15420 :
15421 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15422 :
15423 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15424 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15425 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15426 :
15427 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15428 :
15429 : #if SK5_ENABLED
15430 : module subroutine show_D2_PVSK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15431 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15432 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVSK5
15433 : #endif
15434 : use pm_kind, only: SKC => SK5
15435 : use pm_container, only: cvs_pdt
15436 : class(display_type) , intent(inout) :: self
15437 : type(cvs_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15438 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15439 : character(*, SK) , intent(in) , optional :: format, advance
15440 : logical(LK) , intent(in) , optional :: sticky
15441 : character(*, SK) , intent(in) , optional :: deliml, delimr
15442 : end subroutine
15443 : #endif
15444 :
15445 : #if SK4_ENABLED
15446 : module subroutine show_D2_PVSK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15447 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15448 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVSK4
15449 : #endif
15450 : use pm_kind, only: SKC => SK4
15451 : use pm_container, only: cvs_pdt
15452 : class(display_type) , intent(inout) :: self
15453 : type(cvs_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15454 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15455 : character(*, SK) , intent(in) , optional :: format, advance
15456 : logical(LK) , intent(in) , optional :: sticky
15457 : character(*, SK) , intent(in) , optional :: deliml, delimr
15458 : end subroutine
15459 : #endif
15460 :
15461 : #if SK3_ENABLED
15462 : module subroutine show_D2_PVSK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15463 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15464 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVSK3
15465 : #endif
15466 : use pm_kind, only: SKC => SK3
15467 : use pm_container, only: cvs_pdt
15468 : class(display_type) , intent(inout) :: self
15469 : type(cvs_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15470 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15471 : character(*, SK) , intent(in) , optional :: format, advance
15472 : logical(LK) , intent(in) , optional :: sticky
15473 : character(*, SK) , intent(in) , optional :: deliml, delimr
15474 : end subroutine
15475 : #endif
15476 :
15477 : #if SK2_ENABLED
15478 : module subroutine show_D2_PVSK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15479 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15480 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVSK2
15481 : #endif
15482 : use pm_kind, only: SKC => SK2
15483 : use pm_container, only: cvs_pdt
15484 : class(display_type) , intent(inout) :: self
15485 : type(cvs_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15486 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15487 : character(*, SK) , intent(in) , optional :: format, advance
15488 : logical(LK) , intent(in) , optional :: sticky
15489 : character(*, SK) , intent(in) , optional :: deliml, delimr
15490 : end subroutine
15491 : #endif
15492 :
15493 : #if SK1_ENABLED
15494 : module subroutine show_D2_PVSK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15495 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15496 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVSK1
15497 : #endif
15498 : use pm_kind, only: SKC => SK1
15499 : use pm_container, only: cvs_pdt
15500 : class(display_type) , intent(inout) :: self
15501 : type(cvs_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15502 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15503 : character(*, SK) , intent(in) , optional :: format, advance
15504 : logical(LK) , intent(in) , optional :: sticky
15505 : character(*, SK) , intent(in) , optional :: deliml, delimr
15506 : end subroutine
15507 : #endif
15508 :
15509 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15510 :
15511 : #if IK5_ENABLED
15512 : module subroutine show_D2_PVIK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15513 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15514 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVIK5
15515 : #endif
15516 : use pm_kind, only: SKC => SK, IKC => IK5
15517 : use pm_container, only: cvi_pdt
15518 : class(display_type) , intent(inout) :: self
15519 : type(cvi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15520 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15521 : character(*, SK) , intent(in) , optional :: format, advance
15522 : logical(LK) , intent(in) , optional :: sticky
15523 : character(*, SK) , intent(in) , optional :: deliml, delimr
15524 : end subroutine
15525 : #endif
15526 :
15527 : #if IK4_ENABLED
15528 : module subroutine show_D2_PVIK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15529 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15530 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVIK4
15531 : #endif
15532 : use pm_kind, only: SKC => SK, IKC => IK4
15533 : use pm_container, only: cvi_pdt
15534 : class(display_type) , intent(inout) :: self
15535 : type(cvi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15536 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15537 : character(*, SK) , intent(in) , optional :: format, advance
15538 : logical(LK) , intent(in) , optional :: sticky
15539 : character(*, SK) , intent(in) , optional :: deliml, delimr
15540 : end subroutine
15541 : #endif
15542 :
15543 : #if IK3_ENABLED
15544 : module subroutine show_D2_PVIK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15545 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15546 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVIK3
15547 : #endif
15548 : use pm_kind, only: SKC => SK, IKC => IK3
15549 : use pm_container, only: cvi_pdt
15550 : class(display_type) , intent(inout) :: self
15551 : type(cvi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15552 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15553 : character(*, SK) , intent(in) , optional :: format, advance
15554 : logical(LK) , intent(in) , optional :: sticky
15555 : character(*, SK) , intent(in) , optional :: deliml, delimr
15556 : end subroutine
15557 : #endif
15558 :
15559 : #if IK2_ENABLED
15560 : module subroutine show_D2_PVIK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15561 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15562 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVIK2
15563 : #endif
15564 : use pm_kind, only: SKC => SK, IKC => IK2
15565 : use pm_container, only: cvi_pdt
15566 : class(display_type) , intent(inout) :: self
15567 : type(cvi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15568 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15569 : character(*, SK) , intent(in) , optional :: format, advance
15570 : logical(LK) , intent(in) , optional :: sticky
15571 : character(*, SK) , intent(in) , optional :: deliml, delimr
15572 : end subroutine
15573 : #endif
15574 :
15575 : #if IK1_ENABLED
15576 : module subroutine show_D2_PVIK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15577 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15578 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVIK1
15579 : #endif
15580 : use pm_kind, only: SKC => SK, IKC => IK1
15581 : use pm_container, only: cvi_pdt
15582 : class(display_type) , intent(inout) :: self
15583 : type(cvi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15584 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15585 : character(*, SK) , intent(in) , optional :: format, advance
15586 : logical(LK) , intent(in) , optional :: sticky
15587 : character(*, SK) , intent(in) , optional :: deliml, delimr
15588 : end subroutine
15589 : #endif
15590 :
15591 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15592 :
15593 : #if LK5_ENABLED
15594 : module subroutine show_D2_PVLK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15595 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15596 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVLK5
15597 : #endif
15598 : use pm_kind, only: SKC => SK, LKC => LK5
15599 : use pm_container, only: cvl_pdt
15600 : class(display_type) , intent(inout) :: self
15601 : type(cvl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15602 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15603 : character(*, SK) , intent(in) , optional :: format, advance
15604 : logical(LK) , intent(in) , optional :: sticky
15605 : character(*, SK) , intent(in) , optional :: deliml, delimr
15606 : end subroutine
15607 : #endif
15608 :
15609 : #if LK4_ENABLED
15610 : module subroutine show_D2_PVLK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15611 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15612 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVLK4
15613 : #endif
15614 : use pm_kind, only: SKC => SK, LKC => LK4
15615 : use pm_container, only: cvl_pdt
15616 : class(display_type) , intent(inout) :: self
15617 : type(cvl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15618 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15619 : character(*, SK) , intent(in) , optional :: format, advance
15620 : logical(LK) , intent(in) , optional :: sticky
15621 : character(*, SK) , intent(in) , optional :: deliml, delimr
15622 : end subroutine
15623 : #endif
15624 :
15625 : #if LK3_ENABLED
15626 : module subroutine show_D2_PVLK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15627 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15628 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVLK3
15629 : #endif
15630 : use pm_kind, only: SKC => SK, LKC => LK3
15631 : use pm_container, only: cvl_pdt
15632 : class(display_type) , intent(inout) :: self
15633 : type(cvl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15634 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15635 : character(*, SK) , intent(in) , optional :: format, advance
15636 : logical(LK) , intent(in) , optional :: sticky
15637 : character(*, SK) , intent(in) , optional :: deliml, delimr
15638 : end subroutine
15639 : #endif
15640 :
15641 : #if LK2_ENABLED
15642 : module subroutine show_D2_PVLK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15643 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15644 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVLK2
15645 : #endif
15646 : use pm_kind, only: SKC => SK, LKC => LK2
15647 : use pm_container, only: cvl_pdt
15648 : class(display_type) , intent(inout) :: self
15649 : type(cvl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15650 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15651 : character(*, SK) , intent(in) , optional :: format, advance
15652 : logical(LK) , intent(in) , optional :: sticky
15653 : character(*, SK) , intent(in) , optional :: deliml, delimr
15654 : end subroutine
15655 : #endif
15656 :
15657 : #if LK1_ENABLED
15658 : module subroutine show_D2_PVLK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15659 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15660 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVLK1
15661 : #endif
15662 : use pm_kind, only: SKC => SK, LKC => LK1
15663 : use pm_container, only: cvl_pdt
15664 : class(display_type) , intent(inout) :: self
15665 : type(cvl_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15666 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15667 : character(*, SK) , intent(in) , optional :: format, advance
15668 : logical(LK) , intent(in) , optional :: sticky
15669 : character(*, SK) , intent(in) , optional :: deliml, delimr
15670 : end subroutine
15671 : #endif
15672 :
15673 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15674 :
15675 : #if CK5_ENABLED
15676 : module subroutine show_D2_PVCK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15677 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15678 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVCK5
15679 : #endif
15680 : use pm_kind, only: SKC => SK, CKC => CK5
15681 : use pm_container, only: cvc_pdt
15682 : class(display_type) , intent(inout) :: self
15683 : type(cvc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15684 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15685 : character(*, SK) , intent(in) , optional :: format, advance
15686 : logical(LK) , intent(in) , optional :: sticky
15687 : character(*, SK) , intent(in) , optional :: deliml, delimr
15688 : end subroutine
15689 : #endif
15690 :
15691 : #if CK4_ENABLED
15692 : module subroutine show_D2_PVCK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15693 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15694 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVCK4
15695 : #endif
15696 : use pm_kind, only: SKC => SK, CKC => CK4
15697 : use pm_container, only: cvc_pdt
15698 : class(display_type) , intent(inout) :: self
15699 : type(cvc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15700 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15701 : character(*, SK) , intent(in) , optional :: format, advance
15702 : logical(LK) , intent(in) , optional :: sticky
15703 : character(*, SK) , intent(in) , optional :: deliml, delimr
15704 : end subroutine
15705 : #endif
15706 :
15707 : #if CK3_ENABLED
15708 : module subroutine show_D2_PVCK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15709 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15710 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVCK3
15711 : #endif
15712 : use pm_kind, only: SKC => SK, CKC => CK3
15713 : use pm_container, only: cvc_pdt
15714 : class(display_type) , intent(inout) :: self
15715 : type(cvc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15716 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15717 : character(*, SK) , intent(in) , optional :: format, advance
15718 : logical(LK) , intent(in) , optional :: sticky
15719 : character(*, SK) , intent(in) , optional :: deliml, delimr
15720 : end subroutine
15721 : #endif
15722 :
15723 : #if CK2_ENABLED
15724 : module subroutine show_D2_PVCK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15725 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15726 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVCK2
15727 : #endif
15728 : use pm_kind, only: SKC => SK, CKC => CK2
15729 : use pm_container, only: cvc_pdt
15730 : class(display_type) , intent(inout) :: self
15731 : type(cvc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15732 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15733 : character(*, SK) , intent(in) , optional :: format, advance
15734 : logical(LK) , intent(in) , optional :: sticky
15735 : character(*, SK) , intent(in) , optional :: deliml, delimr
15736 : end subroutine
15737 : #endif
15738 :
15739 : #if CK1_ENABLED
15740 : module subroutine show_D2_PVCK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15741 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15742 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVCK1
15743 : #endif
15744 : use pm_kind, only: SKC => SK, CKC => CK1
15745 : use pm_container, only: cvc_pdt
15746 : class(display_type) , intent(inout) :: self
15747 : type(cvc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15748 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15749 : character(*, SK) , intent(in) , optional :: format, advance
15750 : logical(LK) , intent(in) , optional :: sticky
15751 : character(*, SK) , intent(in) , optional :: deliml, delimr
15752 : end subroutine
15753 : #endif
15754 :
15755 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15756 :
15757 : #if RK5_ENABLED
15758 : module subroutine show_D2_PVRK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15759 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15760 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVRK5
15761 : #endif
15762 : use pm_kind, only: SKC => SK, RKC => RK5
15763 : use pm_container, only: cvr_pdt
15764 : class(display_type) , intent(inout) :: self
15765 : type(cvr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15766 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15767 : character(*, SK) , intent(in) , optional :: format, advance
15768 : logical(LK) , intent(in) , optional :: sticky
15769 : character(*, SK) , intent(in) , optional :: deliml, delimr
15770 : end subroutine
15771 : #endif
15772 :
15773 : #if RK4_ENABLED
15774 : module subroutine show_D2_PVRK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15775 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15776 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVRK4
15777 : #endif
15778 : use pm_kind, only: SKC => SK, RKC => RK4
15779 : use pm_container, only: cvr_pdt
15780 : class(display_type) , intent(inout) :: self
15781 : type(cvr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15782 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15783 : character(*, SK) , intent(in) , optional :: format, advance
15784 : logical(LK) , intent(in) , optional :: sticky
15785 : character(*, SK) , intent(in) , optional :: deliml, delimr
15786 : end subroutine
15787 : #endif
15788 :
15789 : #if RK3_ENABLED
15790 : module subroutine show_D2_PVRK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15791 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15792 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVRK3
15793 : #endif
15794 : use pm_kind, only: SKC => SK, RKC => RK3
15795 : use pm_container, only: cvr_pdt
15796 : class(display_type) , intent(inout) :: self
15797 : type(cvr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15798 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15799 : character(*, SK) , intent(in) , optional :: format, advance
15800 : logical(LK) , intent(in) , optional :: sticky
15801 : character(*, SK) , intent(in) , optional :: deliml, delimr
15802 : end subroutine
15803 : #endif
15804 :
15805 : #if RK2_ENABLED
15806 : module subroutine show_D2_PVRK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15807 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15808 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVRK2
15809 : #endif
15810 : use pm_kind, only: SKC => SK, RKC => RK2
15811 : use pm_container, only: cvr_pdt
15812 : class(display_type) , intent(inout) :: self
15813 : type(cvr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15814 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15815 : character(*, SK) , intent(in) , optional :: format, advance
15816 : logical(LK) , intent(in) , optional :: sticky
15817 : character(*, SK) , intent(in) , optional :: deliml, delimr
15818 : end subroutine
15819 : #endif
15820 :
15821 : #if RK1_ENABLED
15822 : module subroutine show_D2_PVRK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15823 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15824 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_PVRK1
15825 : #endif
15826 : use pm_kind, only: SKC => SK, RKC => RK1
15827 : use pm_container, only: cvr_pdt
15828 : class(display_type) , intent(inout) :: self
15829 : type(cvr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:,:)
15830 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15831 : character(*, SK) , intent(in) , optional :: format, advance
15832 : logical(LK) , intent(in) , optional :: sticky
15833 : character(*, SK) , intent(in) , optional :: deliml, delimr
15834 : end subroutine
15835 : #endif
15836 :
15837 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15838 :
15839 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15840 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15841 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15842 :
15843 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15844 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15845 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15846 :
15847 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15848 :
15849 : #if SK5_ENABLED
15850 : module subroutine show_D0_PMSK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15851 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15852 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMSK5
15853 : #endif
15854 : use pm_kind, only: SKC => SK5
15855 : use pm_container, only: cms_pdt
15856 : class(display_type) , intent(inout) :: self
15857 : type(cms_pdt(SKC)) , intent(in) :: object
15858 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15859 : character(*, SK) , intent(in) , optional :: format, advance
15860 : logical(LK) , intent(in) , optional :: sticky
15861 : character(*, SK) , intent(in) , optional :: deliml, delimr
15862 : end subroutine
15863 : #endif
15864 :
15865 : #if SK4_ENABLED
15866 : module subroutine show_D0_PMSK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15867 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15868 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMSK4
15869 : #endif
15870 : use pm_kind, only: SKC => SK4
15871 : use pm_container, only: cms_pdt
15872 : class(display_type) , intent(inout) :: self
15873 : type(cms_pdt(SKC)) , intent(in) :: object
15874 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15875 : character(*, SK) , intent(in) , optional :: format, advance
15876 : logical(LK) , intent(in) , optional :: sticky
15877 : character(*, SK) , intent(in) , optional :: deliml, delimr
15878 : end subroutine
15879 : #endif
15880 :
15881 : #if SK3_ENABLED
15882 : module subroutine show_D0_PMSK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15883 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15884 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMSK3
15885 : #endif
15886 : use pm_kind, only: SKC => SK3
15887 : use pm_container, only: cms_pdt
15888 : class(display_type) , intent(inout) :: self
15889 : type(cms_pdt(SKC)) , intent(in) :: object
15890 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15891 : character(*, SK) , intent(in) , optional :: format, advance
15892 : logical(LK) , intent(in) , optional :: sticky
15893 : character(*, SK) , intent(in) , optional :: deliml, delimr
15894 : end subroutine
15895 : #endif
15896 :
15897 : #if SK2_ENABLED
15898 : module subroutine show_D0_PMSK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15899 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15900 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMSK2
15901 : #endif
15902 : use pm_kind, only: SKC => SK2
15903 : use pm_container, only: cms_pdt
15904 : class(display_type) , intent(inout) :: self
15905 : type(cms_pdt(SKC)) , intent(in) :: object
15906 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15907 : character(*, SK) , intent(in) , optional :: format, advance
15908 : logical(LK) , intent(in) , optional :: sticky
15909 : character(*, SK) , intent(in) , optional :: deliml, delimr
15910 : end subroutine
15911 : #endif
15912 :
15913 : #if SK1_ENABLED
15914 : module subroutine show_D0_PMSK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15915 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15916 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMSK1
15917 : #endif
15918 : use pm_kind, only: SKC => SK1
15919 : use pm_container, only: cms_pdt
15920 : class(display_type) , intent(inout) :: self
15921 : type(cms_pdt(SKC)) , intent(in) :: object
15922 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15923 : character(*, SK) , intent(in) , optional :: format, advance
15924 : logical(LK) , intent(in) , optional :: sticky
15925 : character(*, SK) , intent(in) , optional :: deliml, delimr
15926 : end subroutine
15927 : #endif
15928 :
15929 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15930 :
15931 : #if IK5_ENABLED
15932 : module subroutine show_D0_PMIK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15933 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15934 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMIK5
15935 : #endif
15936 : use pm_kind, only: SKC => SK, IKC => IK5
15937 : use pm_container, only: cmi_pdt
15938 : class(display_type) , intent(inout) :: self
15939 : type(cmi_pdt(IKC)) , intent(in) :: object
15940 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15941 : character(*, SK) , intent(in) , optional :: format, advance
15942 : logical(LK) , intent(in) , optional :: sticky
15943 : character(*, SK) , intent(in) , optional :: deliml, delimr
15944 : end subroutine
15945 : #endif
15946 :
15947 : #if IK4_ENABLED
15948 : module subroutine show_D0_PMIK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15949 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15950 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMIK4
15951 : #endif
15952 : use pm_kind, only: SKC => SK, IKC => IK4
15953 : use pm_container, only: cmi_pdt
15954 : class(display_type) , intent(inout) :: self
15955 : type(cmi_pdt(IKC)) , intent(in) :: object
15956 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15957 : character(*, SK) , intent(in) , optional :: format, advance
15958 : logical(LK) , intent(in) , optional :: sticky
15959 : character(*, SK) , intent(in) , optional :: deliml, delimr
15960 : end subroutine
15961 : #endif
15962 :
15963 : #if IK3_ENABLED
15964 : module subroutine show_D0_PMIK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15965 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15966 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMIK3
15967 : #endif
15968 : use pm_kind, only: SKC => SK, IKC => IK3
15969 : use pm_container, only: cmi_pdt
15970 : class(display_type) , intent(inout) :: self
15971 : type(cmi_pdt(IKC)) , intent(in) :: object
15972 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15973 : character(*, SK) , intent(in) , optional :: format, advance
15974 : logical(LK) , intent(in) , optional :: sticky
15975 : character(*, SK) , intent(in) , optional :: deliml, delimr
15976 : end subroutine
15977 : #endif
15978 :
15979 : #if IK2_ENABLED
15980 : module subroutine show_D0_PMIK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15981 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15982 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMIK2
15983 : #endif
15984 : use pm_kind, only: SKC => SK, IKC => IK2
15985 : use pm_container, only: cmi_pdt
15986 : class(display_type) , intent(inout) :: self
15987 : type(cmi_pdt(IKC)) , intent(in) :: object
15988 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
15989 : character(*, SK) , intent(in) , optional :: format, advance
15990 : logical(LK) , intent(in) , optional :: sticky
15991 : character(*, SK) , intent(in) , optional :: deliml, delimr
15992 : end subroutine
15993 : #endif
15994 :
15995 : #if IK1_ENABLED
15996 : module subroutine show_D0_PMIK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
15997 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
15998 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMIK1
15999 : #endif
16000 : use pm_kind, only: SKC => SK, IKC => IK1
16001 : use pm_container, only: cmi_pdt
16002 : class(display_type) , intent(inout) :: self
16003 : type(cmi_pdt(IKC)) , intent(in) :: object
16004 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16005 : character(*, SK) , intent(in) , optional :: format, advance
16006 : logical(LK) , intent(in) , optional :: sticky
16007 : character(*, SK) , intent(in) , optional :: deliml, delimr
16008 : end subroutine
16009 : #endif
16010 :
16011 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16012 :
16013 : #if LK5_ENABLED
16014 : module subroutine show_D0_PMLK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16015 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16016 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMLK5
16017 : #endif
16018 : use pm_kind, only: SKC => SK, LKC => LK5
16019 : use pm_container, only: cml_pdt
16020 : class(display_type) , intent(inout) :: self
16021 : type(cml_pdt(LKC)) , intent(in) :: object
16022 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16023 : character(*, SK) , intent(in) , optional :: format, advance
16024 : logical(LK) , intent(in) , optional :: sticky
16025 : character(*, SK) , intent(in) , optional :: deliml, delimr
16026 : end subroutine
16027 : #endif
16028 :
16029 : #if LK4_ENABLED
16030 : module subroutine show_D0_PMLK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16031 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16032 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMLK4
16033 : #endif
16034 : use pm_kind, only: SKC => SK, LKC => LK4
16035 : use pm_container, only: cml_pdt
16036 : class(display_type) , intent(inout) :: self
16037 : type(cml_pdt(LKC)) , intent(in) :: object
16038 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16039 : character(*, SK) , intent(in) , optional :: format, advance
16040 : logical(LK) , intent(in) , optional :: sticky
16041 : character(*, SK) , intent(in) , optional :: deliml, delimr
16042 : end subroutine
16043 : #endif
16044 :
16045 : #if LK3_ENABLED
16046 : module subroutine show_D0_PMLK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16047 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16048 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMLK3
16049 : #endif
16050 : use pm_kind, only: SKC => SK, LKC => LK3
16051 : use pm_container, only: cml_pdt
16052 : class(display_type) , intent(inout) :: self
16053 : type(cml_pdt(LKC)) , intent(in) :: object
16054 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16055 : character(*, SK) , intent(in) , optional :: format, advance
16056 : logical(LK) , intent(in) , optional :: sticky
16057 : character(*, SK) , intent(in) , optional :: deliml, delimr
16058 : end subroutine
16059 : #endif
16060 :
16061 : #if LK2_ENABLED
16062 : module subroutine show_D0_PMLK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16063 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16064 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMLK2
16065 : #endif
16066 : use pm_kind, only: SKC => SK, LKC => LK2
16067 : use pm_container, only: cml_pdt
16068 : class(display_type) , intent(inout) :: self
16069 : type(cml_pdt(LKC)) , intent(in) :: object
16070 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16071 : character(*, SK) , intent(in) , optional :: format, advance
16072 : logical(LK) , intent(in) , optional :: sticky
16073 : character(*, SK) , intent(in) , optional :: deliml, delimr
16074 : end subroutine
16075 : #endif
16076 :
16077 : #if LK1_ENABLED
16078 : module subroutine show_D0_PMLK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16079 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16080 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMLK1
16081 : #endif
16082 : use pm_kind, only: SKC => SK, LKC => LK1
16083 : use pm_container, only: cml_pdt
16084 : class(display_type) , intent(inout) :: self
16085 : type(cml_pdt(LKC)) , intent(in) :: object
16086 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16087 : character(*, SK) , intent(in) , optional :: format, advance
16088 : logical(LK) , intent(in) , optional :: sticky
16089 : character(*, SK) , intent(in) , optional :: deliml, delimr
16090 : end subroutine
16091 : #endif
16092 :
16093 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16094 :
16095 : #if CK5_ENABLED
16096 : module subroutine show_D0_PMCK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16097 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16098 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMCK5
16099 : #endif
16100 : use pm_kind, only: SKC => SK, CKC => CK5
16101 : use pm_container, only: cmc_pdt
16102 : class(display_type) , intent(inout) :: self
16103 : type(cmc_pdt(CKC)) , intent(in) :: object
16104 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16105 : character(*, SK) , intent(in) , optional :: format, advance
16106 : logical(LK) , intent(in) , optional :: sticky
16107 : character(*, SK) , intent(in) , optional :: deliml, delimr
16108 : end subroutine
16109 : #endif
16110 :
16111 : #if CK4_ENABLED
16112 : module subroutine show_D0_PMCK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16113 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16114 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMCK4
16115 : #endif
16116 : use pm_kind, only: SKC => SK, CKC => CK4
16117 : use pm_container, only: cmc_pdt
16118 : class(display_type) , intent(inout) :: self
16119 : type(cmc_pdt(CKC)) , intent(in) :: object
16120 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16121 : character(*, SK) , intent(in) , optional :: format, advance
16122 : logical(LK) , intent(in) , optional :: sticky
16123 : character(*, SK) , intent(in) , optional :: deliml, delimr
16124 : end subroutine
16125 : #endif
16126 :
16127 : #if CK3_ENABLED
16128 : module subroutine show_D0_PMCK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16129 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16130 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMCK3
16131 : #endif
16132 : use pm_kind, only: SKC => SK, CKC => CK3
16133 : use pm_container, only: cmc_pdt
16134 : class(display_type) , intent(inout) :: self
16135 : type(cmc_pdt(CKC)) , intent(in) :: object
16136 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16137 : character(*, SK) , intent(in) , optional :: format, advance
16138 : logical(LK) , intent(in) , optional :: sticky
16139 : character(*, SK) , intent(in) , optional :: deliml, delimr
16140 : end subroutine
16141 : #endif
16142 :
16143 : #if CK2_ENABLED
16144 : module subroutine show_D0_PMCK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16145 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16146 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMCK2
16147 : #endif
16148 : use pm_kind, only: SKC => SK, CKC => CK2
16149 : use pm_container, only: cmc_pdt
16150 : class(display_type) , intent(inout) :: self
16151 : type(cmc_pdt(CKC)) , intent(in) :: object
16152 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16153 : character(*, SK) , intent(in) , optional :: format, advance
16154 : logical(LK) , intent(in) , optional :: sticky
16155 : character(*, SK) , intent(in) , optional :: deliml, delimr
16156 : end subroutine
16157 : #endif
16158 :
16159 : #if CK1_ENABLED
16160 : module subroutine show_D0_PMCK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16161 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16162 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMCK1
16163 : #endif
16164 : use pm_kind, only: SKC => SK, CKC => CK1
16165 : use pm_container, only: cmc_pdt
16166 : class(display_type) , intent(inout) :: self
16167 : type(cmc_pdt(CKC)) , intent(in) :: object
16168 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16169 : character(*, SK) , intent(in) , optional :: format, advance
16170 : logical(LK) , intent(in) , optional :: sticky
16171 : character(*, SK) , intent(in) , optional :: deliml, delimr
16172 : end subroutine
16173 : #endif
16174 :
16175 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16176 :
16177 : #if RK5_ENABLED
16178 : module subroutine show_D0_PMRK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16179 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16180 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMRK5
16181 : #endif
16182 : use pm_kind, only: SKC => SK, RKC => RK5
16183 : use pm_container, only: cmr_pdt
16184 : class(display_type) , intent(inout) :: self
16185 : type(cmr_pdt(RKC)) , intent(in) :: object
16186 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16187 : character(*, SK) , intent(in) , optional :: format, advance
16188 : logical(LK) , intent(in) , optional :: sticky
16189 : character(*, SK) , intent(in) , optional :: deliml, delimr
16190 : end subroutine
16191 : #endif
16192 :
16193 : #if RK4_ENABLED
16194 : module subroutine show_D0_PMRK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16195 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16196 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMRK4
16197 : #endif
16198 : use pm_kind, only: SKC => SK, RKC => RK4
16199 : use pm_container, only: cmr_pdt
16200 : class(display_type) , intent(inout) :: self
16201 : type(cmr_pdt(RKC)) , intent(in) :: object
16202 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16203 : character(*, SK) , intent(in) , optional :: format, advance
16204 : logical(LK) , intent(in) , optional :: sticky
16205 : character(*, SK) , intent(in) , optional :: deliml, delimr
16206 : end subroutine
16207 : #endif
16208 :
16209 : #if RK3_ENABLED
16210 : module subroutine show_D0_PMRK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16211 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16212 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMRK3
16213 : #endif
16214 : use pm_kind, only: SKC => SK, RKC => RK3
16215 : use pm_container, only: cmr_pdt
16216 : class(display_type) , intent(inout) :: self
16217 : type(cmr_pdt(RKC)) , intent(in) :: object
16218 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16219 : character(*, SK) , intent(in) , optional :: format, advance
16220 : logical(LK) , intent(in) , optional :: sticky
16221 : character(*, SK) , intent(in) , optional :: deliml, delimr
16222 : end subroutine
16223 : #endif
16224 :
16225 : #if RK2_ENABLED
16226 : module subroutine show_D0_PMRK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16227 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16228 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMRK2
16229 : #endif
16230 : use pm_kind, only: SKC => SK, RKC => RK2
16231 : use pm_container, only: cmr_pdt
16232 : class(display_type) , intent(inout) :: self
16233 : type(cmr_pdt(RKC)) , intent(in) :: object
16234 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16235 : character(*, SK) , intent(in) , optional :: format, advance
16236 : logical(LK) , intent(in) , optional :: sticky
16237 : character(*, SK) , intent(in) , optional :: deliml, delimr
16238 : end subroutine
16239 : #endif
16240 :
16241 : #if RK1_ENABLED
16242 : module subroutine show_D0_PMRK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16243 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16244 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PMRK1
16245 : #endif
16246 : use pm_kind, only: SKC => SK, RKC => RK1
16247 : use pm_container, only: cmr_pdt
16248 : class(display_type) , intent(inout) :: self
16249 : type(cmr_pdt(RKC)) , intent(in) :: object
16250 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16251 : character(*, SK) , intent(in) , optional :: format, advance
16252 : logical(LK) , intent(in) , optional :: sticky
16253 : character(*, SK) , intent(in) , optional :: deliml, delimr
16254 : end subroutine
16255 : #endif
16256 :
16257 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16258 :
16259 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16260 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16261 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16262 :
16263 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16264 :
16265 : #if SK5_ENABLED
16266 : module subroutine show_D1_PMSK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16267 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16268 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMSK5
16269 : #endif
16270 : use pm_kind, only: SKC => SK5
16271 : use pm_container, only: cms_pdt
16272 : class(display_type) , intent(inout) :: self
16273 : type(cms_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:)
16274 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16275 : character(*, SK) , intent(in) , optional :: format, advance
16276 : logical(LK) , intent(in) , optional :: sticky
16277 : character(*, SK) , intent(in) , optional :: deliml, delimr
16278 : end subroutine
16279 : #endif
16280 :
16281 : #if SK4_ENABLED
16282 : module subroutine show_D1_PMSK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16283 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16284 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMSK4
16285 : #endif
16286 : use pm_kind, only: SKC => SK4
16287 : use pm_container, only: cms_pdt
16288 : class(display_type) , intent(inout) :: self
16289 : type(cms_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:)
16290 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16291 : character(*, SK) , intent(in) , optional :: format, advance
16292 : logical(LK) , intent(in) , optional :: sticky
16293 : character(*, SK) , intent(in) , optional :: deliml, delimr
16294 : end subroutine
16295 : #endif
16296 :
16297 : #if SK3_ENABLED
16298 : module subroutine show_D1_PMSK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16299 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16300 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMSK3
16301 : #endif
16302 : use pm_kind, only: SKC => SK3
16303 : use pm_container, only: cms_pdt
16304 : class(display_type) , intent(inout) :: self
16305 : type(cms_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:)
16306 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16307 : character(*, SK) , intent(in) , optional :: format, advance
16308 : logical(LK) , intent(in) , optional :: sticky
16309 : character(*, SK) , intent(in) , optional :: deliml, delimr
16310 : end subroutine
16311 : #endif
16312 :
16313 : #if SK2_ENABLED
16314 : module subroutine show_D1_PMSK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16315 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16316 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMSK2
16317 : #endif
16318 : use pm_kind, only: SKC => SK2
16319 : use pm_container, only: cms_pdt
16320 : class(display_type) , intent(inout) :: self
16321 : type(cms_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:)
16322 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16323 : character(*, SK) , intent(in) , optional :: format, advance
16324 : logical(LK) , intent(in) , optional :: sticky
16325 : character(*, SK) , intent(in) , optional :: deliml, delimr
16326 : end subroutine
16327 : #endif
16328 :
16329 : #if SK1_ENABLED
16330 : module subroutine show_D1_PMSK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16331 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16332 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMSK1
16333 : #endif
16334 : use pm_kind, only: SKC => SK1
16335 : use pm_container, only: cms_pdt
16336 : class(display_type) , intent(inout) :: self
16337 : type(cms_pdt(SKC)) , intent(in) __CONTIGUOUS :: object(:)
16338 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16339 : character(*, SK) , intent(in) , optional :: format, advance
16340 : logical(LK) , intent(in) , optional :: sticky
16341 : character(*, SK) , intent(in) , optional :: deliml, delimr
16342 : end subroutine
16343 : #endif
16344 :
16345 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16346 :
16347 : #if IK5_ENABLED
16348 : module subroutine show_D1_PMIK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16349 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16350 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMIK5
16351 : #endif
16352 : use pm_kind, only: SKC => SK, IKC => IK5
16353 : use pm_container, only: cmi_pdt
16354 : class(display_type) , intent(inout) :: self
16355 : type(cmi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:)
16356 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16357 : character(*, SK) , intent(in) , optional :: format, advance
16358 : logical(LK) , intent(in) , optional :: sticky
16359 : character(*, SK) , intent(in) , optional :: deliml, delimr
16360 : end subroutine
16361 : #endif
16362 :
16363 : #if IK4_ENABLED
16364 : module subroutine show_D1_PMIK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16365 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16366 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMIK4
16367 : #endif
16368 : use pm_kind, only: SKC => SK, IKC => IK4
16369 : use pm_container, only: cmi_pdt
16370 : class(display_type) , intent(inout) :: self
16371 : type(cmi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:)
16372 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16373 : character(*, SK) , intent(in) , optional :: format, advance
16374 : logical(LK) , intent(in) , optional :: sticky
16375 : character(*, SK) , intent(in) , optional :: deliml, delimr
16376 : end subroutine
16377 : #endif
16378 :
16379 : #if IK3_ENABLED
16380 : module subroutine show_D1_PMIK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16381 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16382 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMIK3
16383 : #endif
16384 : use pm_kind, only: SKC => SK, IKC => IK3
16385 : use pm_container, only: cmi_pdt
16386 : class(display_type) , intent(inout) :: self
16387 : type(cmi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:)
16388 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16389 : character(*, SK) , intent(in) , optional :: format, advance
16390 : logical(LK) , intent(in) , optional :: sticky
16391 : character(*, SK) , intent(in) , optional :: deliml, delimr
16392 : end subroutine
16393 : #endif
16394 :
16395 : #if IK2_ENABLED
16396 : module subroutine show_D1_PMIK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16397 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16398 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMIK2
16399 : #endif
16400 : use pm_kind, only: SKC => SK, IKC => IK2
16401 : use pm_container, only: cmi_pdt
16402 : class(display_type) , intent(inout) :: self
16403 : type(cmi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:)
16404 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16405 : character(*, SK) , intent(in) , optional :: format, advance
16406 : logical(LK) , intent(in) , optional :: sticky
16407 : character(*, SK) , intent(in) , optional :: deliml, delimr
16408 : end subroutine
16409 : #endif
16410 :
16411 : #if IK1_ENABLED
16412 : module subroutine show_D1_PMIK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16413 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16414 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMIK1
16415 : #endif
16416 : use pm_kind, only: SKC => SK, IKC => IK1
16417 : use pm_container, only: cmi_pdt
16418 : class(display_type) , intent(inout) :: self
16419 : type(cmi_pdt(IKC)) , intent(in) __CONTIGUOUS :: object(:)
16420 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16421 : character(*, SK) , intent(in) , optional :: format, advance
16422 : logical(LK) , intent(in) , optional :: sticky
16423 : character(*, SK) , intent(in) , optional :: deliml, delimr
16424 : end subroutine
16425 : #endif
16426 :
16427 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16428 :
16429 : #if LK5_ENABLED
16430 : module subroutine show_D1_PMLK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16431 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16432 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMLK5
16433 : #endif
16434 : use pm_kind, only: SKC => SK, LKC => LK5
16435 : use pm_container, only: cml_pdt
16436 : class(display_type) , intent(inout) :: self
16437 : type(cml_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:)
16438 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16439 : character(*, SK) , intent(in) , optional :: format, advance
16440 : logical(LK) , intent(in) , optional :: sticky
16441 : character(*, SK) , intent(in) , optional :: deliml, delimr
16442 : end subroutine
16443 : #endif
16444 :
16445 : #if LK4_ENABLED
16446 : module subroutine show_D1_PMLK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16447 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16448 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMLK4
16449 : #endif
16450 : use pm_kind, only: SKC => SK, LKC => LK4
16451 : use pm_container, only: cml_pdt
16452 : class(display_type) , intent(inout) :: self
16453 : type(cml_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:)
16454 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16455 : character(*, SK) , intent(in) , optional :: format, advance
16456 : logical(LK) , intent(in) , optional :: sticky
16457 : character(*, SK) , intent(in) , optional :: deliml, delimr
16458 : end subroutine
16459 : #endif
16460 :
16461 : #if LK3_ENABLED
16462 : module subroutine show_D1_PMLK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16463 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16464 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMLK3
16465 : #endif
16466 : use pm_kind, only: SKC => SK, LKC => LK3
16467 : use pm_container, only: cml_pdt
16468 : class(display_type) , intent(inout) :: self
16469 : type(cml_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:)
16470 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16471 : character(*, SK) , intent(in) , optional :: format, advance
16472 : logical(LK) , intent(in) , optional :: sticky
16473 : character(*, SK) , intent(in) , optional :: deliml, delimr
16474 : end subroutine
16475 : #endif
16476 :
16477 : #if LK2_ENABLED
16478 : module subroutine show_D1_PMLK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16479 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16480 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMLK2
16481 : #endif
16482 : use pm_kind, only: SKC => SK, LKC => LK2
16483 : use pm_container, only: cml_pdt
16484 : class(display_type) , intent(inout) :: self
16485 : type(cml_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:)
16486 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16487 : character(*, SK) , intent(in) , optional :: format, advance
16488 : logical(LK) , intent(in) , optional :: sticky
16489 : character(*, SK) , intent(in) , optional :: deliml, delimr
16490 : end subroutine
16491 : #endif
16492 :
16493 : #if LK1_ENABLED
16494 : module subroutine show_D1_PMLK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16495 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16496 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMLK1
16497 : #endif
16498 : use pm_kind, only: SKC => SK, LKC => LK1
16499 : use pm_container, only: cml_pdt
16500 : class(display_type) , intent(inout) :: self
16501 : type(cml_pdt(LKC)) , intent(in) __CONTIGUOUS :: object(:)
16502 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16503 : character(*, SK) , intent(in) , optional :: format, advance
16504 : logical(LK) , intent(in) , optional :: sticky
16505 : character(*, SK) , intent(in) , optional :: deliml, delimr
16506 : end subroutine
16507 : #endif
16508 :
16509 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16510 :
16511 : #if CK5_ENABLED
16512 : module subroutine show_D1_PMCK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16513 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16514 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMCK5
16515 : #endif
16516 : use pm_kind, only: SKC => SK, CKC => CK5
16517 : use pm_container, only: cmc_pdt
16518 : class(display_type) , intent(inout) :: self
16519 : type(cmc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:)
16520 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16521 : character(*, SK) , intent(in) , optional :: format, advance
16522 : logical(LK) , intent(in) , optional :: sticky
16523 : character(*, SK) , intent(in) , optional :: deliml, delimr
16524 : end subroutine
16525 : #endif
16526 :
16527 : #if CK4_ENABLED
16528 : module subroutine show_D1_PMCK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16529 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16530 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMCK4
16531 : #endif
16532 : use pm_kind, only: SKC => SK, CKC => CK4
16533 : use pm_container, only: cmc_pdt
16534 : class(display_type) , intent(inout) :: self
16535 : type(cmc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:)
16536 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16537 : character(*, SK) , intent(in) , optional :: format, advance
16538 : logical(LK) , intent(in) , optional :: sticky
16539 : character(*, SK) , intent(in) , optional :: deliml, delimr
16540 : end subroutine
16541 : #endif
16542 :
16543 : #if CK3_ENABLED
16544 : module subroutine show_D1_PMCK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16545 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16546 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMCK3
16547 : #endif
16548 : use pm_kind, only: SKC => SK, CKC => CK3
16549 : use pm_container, only: cmc_pdt
16550 : class(display_type) , intent(inout) :: self
16551 : type(cmc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:)
16552 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16553 : character(*, SK) , intent(in) , optional :: format, advance
16554 : logical(LK) , intent(in) , optional :: sticky
16555 : character(*, SK) , intent(in) , optional :: deliml, delimr
16556 : end subroutine
16557 : #endif
16558 :
16559 : #if CK2_ENABLED
16560 : module subroutine show_D1_PMCK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16561 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16562 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMCK2
16563 : #endif
16564 : use pm_kind, only: SKC => SK, CKC => CK2
16565 : use pm_container, only: cmc_pdt
16566 : class(display_type) , intent(inout) :: self
16567 : type(cmc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:)
16568 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16569 : character(*, SK) , intent(in) , optional :: format, advance
16570 : logical(LK) , intent(in) , optional :: sticky
16571 : character(*, SK) , intent(in) , optional :: deliml, delimr
16572 : end subroutine
16573 : #endif
16574 :
16575 : #if CK1_ENABLED
16576 : module subroutine show_D1_PMCK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16577 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16578 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMCK1
16579 : #endif
16580 : use pm_kind, only: SKC => SK, CKC => CK1
16581 : use pm_container, only: cmc_pdt
16582 : class(display_type) , intent(inout) :: self
16583 : type(cmc_pdt(CKC)) , intent(in) __CONTIGUOUS :: object(:)
16584 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16585 : character(*, SK) , intent(in) , optional :: format, advance
16586 : logical(LK) , intent(in) , optional :: sticky
16587 : character(*, SK) , intent(in) , optional :: deliml, delimr
16588 : end subroutine
16589 : #endif
16590 :
16591 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16592 :
16593 : #if RK5_ENABLED
16594 : module subroutine show_D1_PMRK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16595 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16596 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMRK5
16597 : #endif
16598 : use pm_kind, only: SKC => SK, RKC => RK5
16599 : use pm_container, only: cmr_pdt
16600 : class(display_type) , intent(inout) :: self
16601 : type(cmr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:)
16602 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16603 : character(*, SK) , intent(in) , optional :: format, advance
16604 : logical(LK) , intent(in) , optional :: sticky
16605 : character(*, SK) , intent(in) , optional :: deliml, delimr
16606 : end subroutine
16607 : #endif
16608 :
16609 : #if RK4_ENABLED
16610 : module subroutine show_D1_PMRK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16611 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16612 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMRK4
16613 : #endif
16614 : use pm_kind, only: SKC => SK, RKC => RK4
16615 : use pm_container, only: cmr_pdt
16616 : class(display_type) , intent(inout) :: self
16617 : type(cmr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:)
16618 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16619 : character(*, SK) , intent(in) , optional :: format, advance
16620 : logical(LK) , intent(in) , optional :: sticky
16621 : character(*, SK) , intent(in) , optional :: deliml, delimr
16622 : end subroutine
16623 : #endif
16624 :
16625 : #if RK3_ENABLED
16626 : module subroutine show_D1_PMRK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16627 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16628 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMRK3
16629 : #endif
16630 : use pm_kind, only: SKC => SK, RKC => RK3
16631 : use pm_container, only: cmr_pdt
16632 : class(display_type) , intent(inout) :: self
16633 : type(cmr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:)
16634 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16635 : character(*, SK) , intent(in) , optional :: format, advance
16636 : logical(LK) , intent(in) , optional :: sticky
16637 : character(*, SK) , intent(in) , optional :: deliml, delimr
16638 : end subroutine
16639 : #endif
16640 :
16641 : #if RK2_ENABLED
16642 : module subroutine show_D1_PMRK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16643 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16644 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMRK2
16645 : #endif
16646 : use pm_kind, only: SKC => SK, RKC => RK2
16647 : use pm_container, only: cmr_pdt
16648 : class(display_type) , intent(inout) :: self
16649 : type(cmr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:)
16650 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16651 : character(*, SK) , intent(in) , optional :: format, advance
16652 : logical(LK) , intent(in) , optional :: sticky
16653 : character(*, SK) , intent(in) , optional :: deliml, delimr
16654 : end subroutine
16655 : #endif
16656 :
16657 : #if RK1_ENABLED
16658 : module subroutine show_D1_PMRK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16659 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16660 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_PMRK1
16661 : #endif
16662 : use pm_kind, only: SKC => SK, RKC => RK1
16663 : use pm_container, only: cmr_pdt
16664 : class(display_type) , intent(inout) :: self
16665 : type(cmr_pdt(RKC)) , intent(in) __CONTIGUOUS :: object(:)
16666 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16667 : character(*, SK) , intent(in) , optional :: format, advance
16668 : logical(LK) , intent(in) , optional :: sticky
16669 : character(*, SK) , intent(in) , optional :: deliml, delimr
16670 : end subroutine
16671 : #endif
16672 :
16673 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16674 :
16675 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16676 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16677 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16678 :
16679 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16680 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16681 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16682 :
16683 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16684 :
16685 : #if SK5_ENABLED
16686 : module subroutine show_D0_PCSK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16687 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16688 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCSK5
16689 : #endif
16690 : use pm_kind, only: SKC => SK5
16691 : use pm_container, only: ccs_pdt
16692 : class(display_type) , intent(inout) :: self
16693 : type(ccs_pdt(SKC)) , intent(in) :: object
16694 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16695 : character(*, SK) , intent(in) , optional :: format, advance
16696 : logical(LK) , intent(in) , optional :: sticky
16697 : character(*, SK) , intent(in) , optional :: deliml, delimr
16698 : end subroutine
16699 : #endif
16700 :
16701 : #if SK4_ENABLED
16702 : module subroutine show_D0_PCSK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16703 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16704 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCSK4
16705 : #endif
16706 : use pm_kind, only: SKC => SK4
16707 : use pm_container, only: ccs_pdt
16708 : class(display_type) , intent(inout) :: self
16709 : type(ccs_pdt(SKC)) , intent(in) :: object
16710 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16711 : character(*, SK) , intent(in) , optional :: format, advance
16712 : logical(LK) , intent(in) , optional :: sticky
16713 : character(*, SK) , intent(in) , optional :: deliml, delimr
16714 : end subroutine
16715 : #endif
16716 :
16717 : #if SK3_ENABLED
16718 : module subroutine show_D0_PCSK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16719 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16720 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCSK3
16721 : #endif
16722 : use pm_kind, only: SKC => SK3
16723 : use pm_container, only: ccs_pdt
16724 : class(display_type) , intent(inout) :: self
16725 : type(ccs_pdt(SKC)) , intent(in) :: object
16726 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16727 : character(*, SK) , intent(in) , optional :: format, advance
16728 : logical(LK) , intent(in) , optional :: sticky
16729 : character(*, SK) , intent(in) , optional :: deliml, delimr
16730 : end subroutine
16731 : #endif
16732 :
16733 : #if SK2_ENABLED
16734 : module subroutine show_D0_PCSK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16735 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16736 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCSK2
16737 : #endif
16738 : use pm_kind, only: SKC => SK2
16739 : use pm_container, only: ccs_pdt
16740 : class(display_type) , intent(inout) :: self
16741 : type(ccs_pdt(SKC)) , intent(in) :: object
16742 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16743 : character(*, SK) , intent(in) , optional :: format, advance
16744 : logical(LK) , intent(in) , optional :: sticky
16745 : character(*, SK) , intent(in) , optional :: deliml, delimr
16746 : end subroutine
16747 : #endif
16748 :
16749 : #if SK1_ENABLED
16750 : module subroutine show_D0_PCSK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16751 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16752 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCSK1
16753 : #endif
16754 : use pm_kind, only: SKC => SK1
16755 : use pm_container, only: ccs_pdt
16756 : class(display_type) , intent(inout) :: self
16757 : type(ccs_pdt(SKC)) , intent(in) :: object
16758 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16759 : character(*, SK) , intent(in) , optional :: format, advance
16760 : logical(LK) , intent(in) , optional :: sticky
16761 : character(*, SK) , intent(in) , optional :: deliml, delimr
16762 : end subroutine
16763 : #endif
16764 :
16765 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16766 :
16767 : #if IK5_ENABLED
16768 : module subroutine show_D0_PCIK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16769 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16770 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCIK5
16771 : #endif
16772 : use pm_kind, only: SKC => SK, IKC => IK5
16773 : use pm_container, only: cci_pdt
16774 : class(display_type) , intent(inout) :: self
16775 : type(cci_pdt(IKC)) , intent(in) :: object
16776 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16777 : character(*, SK) , intent(in) , optional :: format, advance
16778 : logical(LK) , intent(in) , optional :: sticky
16779 : character(*, SK) , intent(in) , optional :: deliml, delimr
16780 : end subroutine
16781 : #endif
16782 :
16783 : #if IK4_ENABLED
16784 : module subroutine show_D0_PCIK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16785 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16786 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCIK4
16787 : #endif
16788 : use pm_kind, only: SKC => SK, IKC => IK4
16789 : use pm_container, only: cci_pdt
16790 : class(display_type) , intent(inout) :: self
16791 : type(cci_pdt(IKC)) , intent(in) :: object
16792 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16793 : character(*, SK) , intent(in) , optional :: format, advance
16794 : logical(LK) , intent(in) , optional :: sticky
16795 : character(*, SK) , intent(in) , optional :: deliml, delimr
16796 : end subroutine
16797 : #endif
16798 :
16799 : #if IK3_ENABLED
16800 : module subroutine show_D0_PCIK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16801 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16802 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCIK3
16803 : #endif
16804 : use pm_kind, only: SKC => SK, IKC => IK3
16805 : use pm_container, only: cci_pdt
16806 : class(display_type) , intent(inout) :: self
16807 : type(cci_pdt(IKC)) , intent(in) :: object
16808 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16809 : character(*, SK) , intent(in) , optional :: format, advance
16810 : logical(LK) , intent(in) , optional :: sticky
16811 : character(*, SK) , intent(in) , optional :: deliml, delimr
16812 : end subroutine
16813 : #endif
16814 :
16815 : #if IK2_ENABLED
16816 : module subroutine show_D0_PCIK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16817 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16818 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCIK2
16819 : #endif
16820 : use pm_kind, only: SKC => SK, IKC => IK2
16821 : use pm_container, only: cci_pdt
16822 : class(display_type) , intent(inout) :: self
16823 : type(cci_pdt(IKC)) , intent(in) :: object
16824 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16825 : character(*, SK) , intent(in) , optional :: format, advance
16826 : logical(LK) , intent(in) , optional :: sticky
16827 : character(*, SK) , intent(in) , optional :: deliml, delimr
16828 : end subroutine
16829 : #endif
16830 :
16831 : #if IK1_ENABLED
16832 : module subroutine show_D0_PCIK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16833 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16834 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCIK1
16835 : #endif
16836 : use pm_kind, only: SKC => SK, IKC => IK1
16837 : use pm_container, only: cci_pdt
16838 : class(display_type) , intent(inout) :: self
16839 : type(cci_pdt(IKC)) , intent(in) :: object
16840 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16841 : character(*, SK) , intent(in) , optional :: format, advance
16842 : logical(LK) , intent(in) , optional :: sticky
16843 : character(*, SK) , intent(in) , optional :: deliml, delimr
16844 : end subroutine
16845 : #endif
16846 :
16847 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16848 :
16849 : #if LK5_ENABLED
16850 : module subroutine show_D0_PCLK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16851 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16852 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCLK5
16853 : #endif
16854 : use pm_kind, only: SKC => SK, LKC => LK5
16855 : use pm_container, only: ccl_pdt
16856 : class(display_type) , intent(inout) :: self
16857 : type(ccl_pdt(LKC)) , intent(in) :: object
16858 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16859 : character(*, SK) , intent(in) , optional :: format, advance
16860 : logical(LK) , intent(in) , optional :: sticky
16861 : character(*, SK) , intent(in) , optional :: deliml, delimr
16862 : end subroutine
16863 : #endif
16864 :
16865 : #if LK4_ENABLED
16866 : module subroutine show_D0_PCLK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16867 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16868 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCLK4
16869 : #endif
16870 : use pm_kind, only: SKC => SK, LKC => LK4
16871 : use pm_container, only: ccl_pdt
16872 : class(display_type) , intent(inout) :: self
16873 : type(ccl_pdt(LKC)) , intent(in) :: object
16874 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16875 : character(*, SK) , intent(in) , optional :: format, advance
16876 : logical(LK) , intent(in) , optional :: sticky
16877 : character(*, SK) , intent(in) , optional :: deliml, delimr
16878 : end subroutine
16879 : #endif
16880 :
16881 : #if LK3_ENABLED
16882 : module subroutine show_D0_PCLK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16883 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16884 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCLK3
16885 : #endif
16886 : use pm_kind, only: SKC => SK, LKC => LK3
16887 : use pm_container, only: ccl_pdt
16888 : class(display_type) , intent(inout) :: self
16889 : type(ccl_pdt(LKC)) , intent(in) :: object
16890 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16891 : character(*, SK) , intent(in) , optional :: format, advance
16892 : logical(LK) , intent(in) , optional :: sticky
16893 : character(*, SK) , intent(in) , optional :: deliml, delimr
16894 : end subroutine
16895 : #endif
16896 :
16897 : #if LK2_ENABLED
16898 : module subroutine show_D0_PCLK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16899 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16900 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCLK2
16901 : #endif
16902 : use pm_kind, only: SKC => SK, LKC => LK2
16903 : use pm_container, only: ccl_pdt
16904 : class(display_type) , intent(inout) :: self
16905 : type(ccl_pdt(LKC)) , intent(in) :: object
16906 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16907 : character(*, SK) , intent(in) , optional :: format, advance
16908 : logical(LK) , intent(in) , optional :: sticky
16909 : character(*, SK) , intent(in) , optional :: deliml, delimr
16910 : end subroutine
16911 : #endif
16912 :
16913 : #if LK1_ENABLED
16914 : module subroutine show_D0_PCLK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16915 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16916 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCLK1
16917 : #endif
16918 : use pm_kind, only: SKC => SK, LKC => LK1
16919 : use pm_container, only: ccl_pdt
16920 : class(display_type) , intent(inout) :: self
16921 : type(ccl_pdt(LKC)) , intent(in) :: object
16922 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16923 : character(*, SK) , intent(in) , optional :: format, advance
16924 : logical(LK) , intent(in) , optional :: sticky
16925 : character(*, SK) , intent(in) , optional :: deliml, delimr
16926 : end subroutine
16927 : #endif
16928 :
16929 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16930 :
16931 : #if CK5_ENABLED
16932 : module subroutine show_D0_PCCK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16933 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16934 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCCK5
16935 : #endif
16936 : use pm_kind, only: SKC => SK, CKC => CK5
16937 : use pm_container, only: ccc_pdt
16938 : class(display_type) , intent(inout) :: self
16939 : type(ccc_pdt(CKC)) , intent(in) :: object
16940 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16941 : character(*, SK) , intent(in) , optional :: format, advance
16942 : logical(LK) , intent(in) , optional :: sticky
16943 : character(*, SK) , intent(in) , optional :: deliml, delimr
16944 : end subroutine
16945 : #endif
16946 :
16947 : #if CK4_ENABLED
16948 : module subroutine show_D0_PCCK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16949 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16950 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCCK4
16951 : #endif
16952 : use pm_kind, only: SKC => SK, CKC => CK4
16953 : use pm_container, only: ccc_pdt
16954 : class(display_type) , intent(inout) :: self
16955 : type(ccc_pdt(CKC)) , intent(in) :: object
16956 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16957 : character(*, SK) , intent(in) , optional :: format, advance
16958 : logical(LK) , intent(in) , optional :: sticky
16959 : character(*, SK) , intent(in) , optional :: deliml, delimr
16960 : end subroutine
16961 : #endif
16962 :
16963 : #if CK3_ENABLED
16964 : module subroutine show_D0_PCCK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16965 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16966 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCCK3
16967 : #endif
16968 : use pm_kind, only: SKC => SK, CKC => CK3
16969 : use pm_container, only: ccc_pdt
16970 : class(display_type) , intent(inout) :: self
16971 : type(ccc_pdt(CKC)) , intent(in) :: object
16972 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16973 : character(*, SK) , intent(in) , optional :: format, advance
16974 : logical(LK) , intent(in) , optional :: sticky
16975 : character(*, SK) , intent(in) , optional :: deliml, delimr
16976 : end subroutine
16977 : #endif
16978 :
16979 : #if CK2_ENABLED
16980 : module subroutine show_D0_PCCK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16981 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16982 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCCK2
16983 : #endif
16984 : use pm_kind, only: SKC => SK, CKC => CK2
16985 : use pm_container, only: ccc_pdt
16986 : class(display_type) , intent(inout) :: self
16987 : type(ccc_pdt(CKC)) , intent(in) :: object
16988 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
16989 : character(*, SK) , intent(in) , optional :: format, advance
16990 : logical(LK) , intent(in) , optional :: sticky
16991 : character(*, SK) , intent(in) , optional :: deliml, delimr
16992 : end subroutine
16993 : #endif
16994 :
16995 : #if CK1_ENABLED
16996 : module subroutine show_D0_PCCK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
16997 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
16998 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCCK1
16999 : #endif
17000 : use pm_kind, only: SKC => SK, CKC => CK1
17001 : use pm_container, only: ccc_pdt
17002 : class(display_type) , intent(inout) :: self
17003 : type(ccc_pdt(CKC)) , intent(in) :: object
17004 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17005 : character(*, SK) , intent(in) , optional :: format, advance
17006 : logical(LK) , intent(in) , optional :: sticky
17007 : character(*, SK) , intent(in) , optional :: deliml, delimr
17008 : end subroutine
17009 : #endif
17010 :
17011 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17012 :
17013 : #if RK5_ENABLED
17014 : module subroutine show_D0_PCRK5(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17015 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17016 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCRK5
17017 : #endif
17018 : use pm_kind, only: SKC => SK, RKC => RK5
17019 : use pm_container, only: ccr_pdt
17020 : class(display_type) , intent(inout) :: self
17021 : type(ccr_pdt(RKC)) , intent(in) :: object
17022 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17023 : character(*, SK) , intent(in) , optional :: format, advance
17024 : logical(LK) , intent(in) , optional :: sticky
17025 : character(*, SK) , intent(in) , optional :: deliml, delimr
17026 : end subroutine
17027 : #endif
17028 :
17029 : #if RK4_ENABLED
17030 : module subroutine show_D0_PCRK4(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17031 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17032 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCRK4
17033 : #endif
17034 : use pm_kind, only: SKC => SK, RKC => RK4
17035 : use pm_container, only: ccr_pdt
17036 : class(display_type) , intent(inout) :: self
17037 : type(ccr_pdt(RKC)) , intent(in) :: object
17038 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17039 : character(*, SK) , intent(in) , optional :: format, advance
17040 : logical(LK) , intent(in) , optional :: sticky
17041 : character(*, SK) , intent(in) , optional :: deliml, delimr
17042 : end subroutine
17043 : #endif
17044 :
17045 : #if RK3_ENABLED
17046 : module subroutine show_D0_PCRK3(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17047 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17048 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCRK3
17049 : #endif
17050 : use pm_kind, only: SKC => SK, RKC => RK3
17051 : use pm_container, only: ccr_pdt
17052 : class(display_type) , intent(inout) :: self
17053 : type(ccr_pdt(RKC)) , intent(in) :: object
17054 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17055 : character(*, SK) , intent(in) , optional :: format, advance
17056 : logical(LK) , intent(in) , optional :: sticky
17057 : character(*, SK) , intent(in) , optional :: deliml, delimr
17058 : end subroutine
17059 : #endif
17060 :
17061 : #if RK2_ENABLED
17062 : module subroutine show_D0_PCRK2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17063 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17064 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCRK2
17065 : #endif
17066 : use pm_kind, only: SKC => SK, RKC => RK2
17067 : use pm_container, only: ccr_pdt
17068 : class(display_type) , intent(inout) :: self
17069 : type(ccr_pdt(RKC)) , intent(in) :: object
17070 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17071 : character(*, SK) , intent(in) , optional :: format, advance
17072 : logical(LK) , intent(in) , optional :: sticky
17073 : character(*, SK) , intent(in) , optional :: deliml, delimr
17074 : end subroutine
17075 : #endif
17076 :
17077 : #if RK1_ENABLED
17078 : module subroutine show_D0_PCRK1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17079 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17080 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_PCRK1
17081 : #endif
17082 : use pm_kind, only: SKC => SK, RKC => RK1
17083 : use pm_container, only: ccr_pdt
17084 : class(display_type) , intent(inout) :: self
17085 : type(ccr_pdt(RKC)) , intent(in) :: object
17086 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17087 : character(*, SK) , intent(in) , optional :: format, advance
17088 : logical(LK) , intent(in) , optional :: sticky
17089 : character(*, SK) , intent(in) , optional :: deliml, delimr
17090 : end subroutine
17091 : #endif
17092 :
17093 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17094 :
17095 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17096 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17097 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17098 :
17099 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17100 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17101 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17102 :
17103 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17104 :
17105 : module subroutine show_D0_BSSK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17106 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17107 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BSSK
17108 : #endif
17109 : use pm_kind, only: SKC => SK
17110 : use pm_container, only: css_type
17111 : class(display_type) , intent(inout) :: self
17112 : type(css_type) , intent(in) :: object
17113 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17114 : character(*, SK) , intent(in) , optional :: format, advance
17115 : logical(LK) , intent(in) , optional :: sticky
17116 : character(*, SK) , intent(in) , optional :: deliml, delimr
17117 : end subroutine
17118 :
17119 : module subroutine show_D0_BSIK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17120 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17121 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BSIK
17122 : #endif
17123 : use pm_kind, only: SKC => SK
17124 : use pm_container, only: csi_type
17125 : class(display_type) , intent(inout) :: self
17126 : type(csi_type) , intent(in) :: object
17127 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17128 : character(*, SK) , intent(in) , optional :: format, advance
17129 : logical(LK) , intent(in) , optional :: sticky
17130 : character(*, SK) , intent(in) , optional :: deliml, delimr
17131 : end subroutine
17132 :
17133 : module subroutine show_D0_BSLK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17134 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17135 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BSLK
17136 : #endif
17137 : use pm_kind, only: SKC => SK
17138 : use pm_container, only: csl_type
17139 : class(display_type) , intent(inout) :: self
17140 : type(csl_type) , intent(in) :: object
17141 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17142 : character(*, SK) , intent(in) , optional :: format, advance
17143 : logical(LK) , intent(in) , optional :: sticky
17144 : character(*, SK) , intent(in) , optional :: deliml, delimr
17145 : end subroutine
17146 :
17147 : module subroutine show_D0_BSCK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17148 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17149 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BSCK
17150 : #endif
17151 : use pm_kind, only: SKC => SK
17152 : use pm_container, only: csc_type
17153 : class(display_type) , intent(inout) :: self
17154 : type(csc_type) , intent(in) :: object
17155 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17156 : character(*, SK) , intent(in) , optional :: format, advance
17157 : logical(LK) , intent(in) , optional :: sticky
17158 : character(*, SK) , intent(in) , optional :: deliml, delimr
17159 : end subroutine
17160 :
17161 : module subroutine show_D0_BSRK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17162 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17163 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BSRK
17164 : #endif
17165 : use pm_kind, only: SKC => SK
17166 : use pm_container, only: csr_type
17167 : class(display_type) , intent(inout) :: self
17168 : type(csr_type) , intent(in) :: object
17169 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17170 : character(*, SK) , intent(in) , optional :: format, advance
17171 : logical(LK) , intent(in) , optional :: sticky
17172 : character(*, SK) , intent(in) , optional :: deliml, delimr
17173 : end subroutine
17174 :
17175 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17176 :
17177 : module subroutine show_D1_BSSK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17178 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17179 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_BSSK
17180 : #endif
17181 : use pm_kind, only: SKC => SK
17182 : use pm_container, only: css_type
17183 : class(display_type) , intent(inout) :: self
17184 : type(css_type) , intent(in) __CONTIGUOUS :: object(:)
17185 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17186 : character(*, SK) , intent(in) , optional :: format, advance
17187 : logical(LK) , intent(in) , optional :: sticky
17188 : character(*, SK) , intent(in) , optional :: deliml, delimr
17189 : end subroutine
17190 :
17191 : module subroutine show_D1_BSIK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17192 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17193 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_BSIK
17194 : #endif
17195 : use pm_kind, only: SKC => SK
17196 : use pm_container, only: csi_type
17197 : class(display_type) , intent(inout) :: self
17198 : type(csi_type) , intent(in) __CONTIGUOUS :: object(:)
17199 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17200 : character(*, SK) , intent(in) , optional :: format, advance
17201 : logical(LK) , intent(in) , optional :: sticky
17202 : character(*, SK) , intent(in) , optional :: deliml, delimr
17203 : end subroutine
17204 :
17205 : module subroutine show_D1_BSLK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17206 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17207 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_BSLK
17208 : #endif
17209 : use pm_kind, only: SKC => SK
17210 : use pm_container, only: csl_type
17211 : class(display_type) , intent(inout) :: self
17212 : type(csl_type) , intent(in) __CONTIGUOUS :: object(:)
17213 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17214 : character(*, SK) , intent(in) , optional :: format, advance
17215 : logical(LK) , intent(in) , optional :: sticky
17216 : character(*, SK) , intent(in) , optional :: deliml, delimr
17217 : end subroutine
17218 :
17219 : module subroutine show_D1_BSCK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17220 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17221 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_BSCK
17222 : #endif
17223 : use pm_kind, only: SKC => SK
17224 : use pm_container, only: csc_type
17225 : class(display_type) , intent(inout) :: self
17226 : type(csc_type) , intent(in) __CONTIGUOUS :: object(:)
17227 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17228 : character(*, SK) , intent(in) , optional :: format, advance
17229 : logical(LK) , intent(in) , optional :: sticky
17230 : character(*, SK) , intent(in) , optional :: deliml, delimr
17231 : end subroutine
17232 :
17233 : module subroutine show_D1_BSRK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17234 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17235 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_BSRK
17236 : #endif
17237 : use pm_kind, only: SKC => SK
17238 : use pm_container, only: csr_type
17239 : class(display_type) , intent(inout) :: self
17240 : type(csr_type) , intent(in) __CONTIGUOUS :: object(:)
17241 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17242 : character(*, SK) , intent(in) , optional :: format, advance
17243 : logical(LK) , intent(in) , optional :: sticky
17244 : character(*, SK) , intent(in) , optional :: deliml, delimr
17245 : end subroutine
17246 :
17247 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17248 :
17249 : module subroutine show_D2_BSSK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17250 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17251 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_BSSK
17252 : #endif
17253 : use pm_kind, only: SKC => SK
17254 : use pm_container, only: css_type
17255 : class(display_type) , intent(inout) :: self
17256 : type(css_type) , intent(in) __CONTIGUOUS :: object(:,:)
17257 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17258 : character(*, SK) , intent(in) , optional :: format, advance
17259 : logical(LK) , intent(in) , optional :: sticky
17260 : character(*, SK) , intent(in) , optional :: deliml, delimr
17261 : end subroutine
17262 :
17263 : module subroutine show_D2_BSIK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17264 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17265 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_BSIK
17266 : #endif
17267 : use pm_kind, only: SKC => SK
17268 : use pm_container, only: csi_type
17269 : class(display_type) , intent(inout) :: self
17270 : type(csi_type) , intent(in) __CONTIGUOUS :: object(:,:)
17271 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17272 : character(*, SK) , intent(in) , optional :: format, advance
17273 : logical(LK) , intent(in) , optional :: sticky
17274 : character(*, SK) , intent(in) , optional :: deliml, delimr
17275 : end subroutine
17276 :
17277 : module subroutine show_D2_BSLK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17278 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17279 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_BSLK
17280 : #endif
17281 : use pm_kind, only: SKC => SK
17282 : use pm_container, only: csl_type
17283 : class(display_type) , intent(inout) :: self
17284 : type(csl_type) , intent(in) __CONTIGUOUS :: object(:,:)
17285 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17286 : character(*, SK) , intent(in) , optional :: format, advance
17287 : logical(LK) , intent(in) , optional :: sticky
17288 : character(*, SK) , intent(in) , optional :: deliml, delimr
17289 : end subroutine
17290 :
17291 : module subroutine show_D2_BSCK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17292 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17293 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_BSCK
17294 : #endif
17295 : use pm_kind, only: SKC => SK
17296 : use pm_container, only: csc_type
17297 : class(display_type) , intent(inout) :: self
17298 : type(csc_type) , intent(in) __CONTIGUOUS :: object(:,:)
17299 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17300 : character(*, SK) , intent(in) , optional :: format, advance
17301 : logical(LK) , intent(in) , optional :: sticky
17302 : character(*, SK) , intent(in) , optional :: deliml, delimr
17303 : end subroutine
17304 :
17305 : module subroutine show_D2_BSRK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17306 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17307 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_BSRK
17308 : #endif
17309 : use pm_kind, only: SKC => SK
17310 : use pm_container, only: csr_type
17311 : class(display_type) , intent(inout) :: self
17312 : type(csr_type) , intent(in) __CONTIGUOUS :: object(:,:)
17313 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17314 : character(*, SK) , intent(in) , optional :: format, advance
17315 : logical(LK) , intent(in) , optional :: sticky
17316 : character(*, SK) , intent(in) , optional :: deliml, delimr
17317 : end subroutine
17318 :
17319 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17320 :
17321 : module subroutine show_D3_BSSK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17322 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17323 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_BSSK
17324 : #endif
17325 : use pm_kind, only: SKC => SK
17326 : use pm_container, only: css_type
17327 : class(display_type) , intent(inout) :: self
17328 : type(css_type) , intent(in) __CONTIGUOUS :: object(:,:,:)
17329 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17330 : character(*, SK) , intent(in) , optional :: format, advance
17331 : logical(LK) , intent(in) , optional :: sticky
17332 : character(*, SK) , intent(in) , optional :: deliml, delimr
17333 : end subroutine
17334 :
17335 : module subroutine show_D3_BSIK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17336 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17337 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_BSIK
17338 : #endif
17339 : use pm_kind, only: SKC => SK
17340 : use pm_container, only: csi_type
17341 : class(display_type) , intent(inout) :: self
17342 : type(csi_type) , intent(in) __CONTIGUOUS :: object(:,:,:)
17343 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17344 : character(*, SK) , intent(in) , optional :: format, advance
17345 : logical(LK) , intent(in) , optional :: sticky
17346 : character(*, SK) , intent(in) , optional :: deliml, delimr
17347 : end subroutine
17348 :
17349 : module subroutine show_D3_BSLK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17350 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17351 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_BSLK
17352 : #endif
17353 : use pm_kind, only: SKC => SK
17354 : use pm_container, only: csl_type
17355 : class(display_type) , intent(inout) :: self
17356 : type(csl_type) , intent(in) __CONTIGUOUS :: object(:,:,:)
17357 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17358 : character(*, SK) , intent(in) , optional :: format, advance
17359 : logical(LK) , intent(in) , optional :: sticky
17360 : character(*, SK) , intent(in) , optional :: deliml, delimr
17361 : end subroutine
17362 :
17363 : module subroutine show_D3_BSCK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17364 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17365 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_BSCK
17366 : #endif
17367 : use pm_kind, only: SKC => SK
17368 : use pm_container, only: csc_type
17369 : class(display_type) , intent(inout) :: self
17370 : type(csc_type) , intent(in) __CONTIGUOUS :: object(:,:,:)
17371 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17372 : character(*, SK) , intent(in) , optional :: format, advance
17373 : logical(LK) , intent(in) , optional :: sticky
17374 : character(*, SK) , intent(in) , optional :: deliml, delimr
17375 : end subroutine
17376 :
17377 : module subroutine show_D3_BSRK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17378 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17379 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D3_BSRK
17380 : #endif
17381 : use pm_kind, only: SKC => SK
17382 : use pm_container, only: csr_type
17383 : class(display_type) , intent(inout) :: self
17384 : type(csr_type) , intent(in) __CONTIGUOUS :: object(:,:,:)
17385 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17386 : character(*, SK) , intent(in) , optional :: format, advance
17387 : logical(LK) , intent(in) , optional :: sticky
17388 : character(*, SK) , intent(in) , optional :: deliml, delimr
17389 : end subroutine
17390 :
17391 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17392 :
17393 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17394 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17395 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17396 :
17397 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17398 :
17399 : module subroutine show_D0_BVSK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17400 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17401 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BVSK
17402 : #endif
17403 : use pm_kind, only: SKC => SK
17404 : use pm_container, only: cvs_type
17405 : class(display_type) , intent(inout) :: self
17406 : type(cvs_type) , intent(in) :: object
17407 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17408 : character(*, SK) , intent(in) , optional :: format, advance
17409 : logical(LK) , intent(in) , optional :: sticky
17410 : character(*, SK) , intent(in) , optional :: deliml, delimr
17411 : end subroutine
17412 :
17413 : module subroutine show_D0_BVIK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17414 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17415 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BVIK
17416 : #endif
17417 : use pm_kind, only: SKC => SK
17418 : use pm_container, only: cvi_type
17419 : class(display_type) , intent(inout) :: self
17420 : type(cvi_type) , intent(in) :: object
17421 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17422 : character(*, SK) , intent(in) , optional :: format, advance
17423 : logical(LK) , intent(in) , optional :: sticky
17424 : character(*, SK) , intent(in) , optional :: deliml, delimr
17425 : end subroutine
17426 :
17427 : module subroutine show_D0_BVLK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17428 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17429 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BVLK
17430 : #endif
17431 : use pm_kind, only: SKC => SK
17432 : use pm_container, only: cvl_type
17433 : class(display_type) , intent(inout) :: self
17434 : type(cvl_type) , intent(in) :: object
17435 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17436 : character(*, SK) , intent(in) , optional :: format, advance
17437 : logical(LK) , intent(in) , optional :: sticky
17438 : character(*, SK) , intent(in) , optional :: deliml, delimr
17439 : end subroutine
17440 :
17441 : module subroutine show_D0_BVCK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17442 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17443 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BVCK
17444 : #endif
17445 : use pm_kind, only: SKC => SK
17446 : use pm_container, only: cvc_type
17447 : class(display_type) , intent(inout) :: self
17448 : type(cvc_type) , intent(in) :: object
17449 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17450 : character(*, SK) , intent(in) , optional :: format, advance
17451 : logical(LK) , intent(in) , optional :: sticky
17452 : character(*, SK) , intent(in) , optional :: deliml, delimr
17453 : end subroutine
17454 :
17455 : module subroutine show_D0_BVRK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17456 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17457 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BVRK
17458 : #endif
17459 : use pm_kind, only: SKC => SK
17460 : use pm_container, only: cvr_type
17461 : class(display_type) , intent(inout) :: self
17462 : type(cvr_type) , intent(in) :: object
17463 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17464 : character(*, SK) , intent(in) , optional :: format, advance
17465 : logical(LK) , intent(in) , optional :: sticky
17466 : character(*, SK) , intent(in) , optional :: deliml, delimr
17467 : end subroutine
17468 :
17469 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17470 :
17471 : module subroutine show_D1_BVSK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17472 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17473 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_BVSK
17474 : #endif
17475 : use pm_kind, only: SKC => SK
17476 : use pm_container, only: cvs_type
17477 : class(display_type) , intent(inout) :: self
17478 : type(cvs_type) , intent(in) __CONTIGUOUS :: object(:)
17479 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17480 : character(*, SK) , intent(in) , optional :: format, advance
17481 : logical(LK) , intent(in) , optional :: sticky
17482 : character(*, SK) , intent(in) , optional :: deliml, delimr
17483 : end subroutine
17484 :
17485 : module subroutine show_D1_BVIK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17486 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17487 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_BVIK
17488 : #endif
17489 : use pm_kind, only: SKC => SK
17490 : use pm_container, only: cvi_type
17491 : class(display_type) , intent(inout) :: self
17492 : type(cvi_type) , intent(in) __CONTIGUOUS :: object(:)
17493 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17494 : character(*, SK) , intent(in) , optional :: format, advance
17495 : logical(LK) , intent(in) , optional :: sticky
17496 : character(*, SK) , intent(in) , optional :: deliml, delimr
17497 : end subroutine
17498 :
17499 : module subroutine show_D1_BVLK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17500 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17501 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_BVLK
17502 : #endif
17503 : use pm_kind, only: SKC => SK
17504 : use pm_container, only: cvl_type
17505 : class(display_type) , intent(inout) :: self
17506 : type(cvl_type) , intent(in) __CONTIGUOUS :: object(:)
17507 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17508 : character(*, SK) , intent(in) , optional :: format, advance
17509 : logical(LK) , intent(in) , optional :: sticky
17510 : character(*, SK) , intent(in) , optional :: deliml, delimr
17511 : end subroutine
17512 :
17513 : module subroutine show_D1_BVCK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17514 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17515 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_BVCK
17516 : #endif
17517 : use pm_kind, only: SKC => SK
17518 : use pm_container, only: cvc_type
17519 : class(display_type) , intent(inout) :: self
17520 : type(cvc_type) , intent(in) __CONTIGUOUS :: object(:)
17521 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17522 : character(*, SK) , intent(in) , optional :: format, advance
17523 : logical(LK) , intent(in) , optional :: sticky
17524 : character(*, SK) , intent(in) , optional :: deliml, delimr
17525 : end subroutine
17526 :
17527 : module subroutine show_D1_BVRK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17528 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17529 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_BVRK
17530 : #endif
17531 : use pm_kind, only: SKC => SK
17532 : use pm_container, only: cvr_type
17533 : class(display_type) , intent(inout) :: self
17534 : type(cvr_type) , intent(in) __CONTIGUOUS :: object(:)
17535 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17536 : character(*, SK) , intent(in) , optional :: format, advance
17537 : logical(LK) , intent(in) , optional :: sticky
17538 : character(*, SK) , intent(in) , optional :: deliml, delimr
17539 : end subroutine
17540 :
17541 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17542 :
17543 : module subroutine show_D2_BVSK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17544 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17545 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_BVSK
17546 : #endif
17547 : use pm_kind, only: SKC => SK
17548 : use pm_container, only: cvs_type
17549 : class(display_type) , intent(inout) :: self
17550 : type(cvs_type) , intent(in) __CONTIGUOUS :: object(:,:)
17551 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17552 : character(*, SK) , intent(in) , optional :: format, advance
17553 : logical(LK) , intent(in) , optional :: sticky
17554 : character(*, SK) , intent(in) , optional :: deliml, delimr
17555 : end subroutine
17556 :
17557 : module subroutine show_D2_BVIK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17558 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17559 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_BVIK
17560 : #endif
17561 : use pm_kind, only: SKC => SK
17562 : use pm_container, only: cvi_type
17563 : class(display_type) , intent(inout) :: self
17564 : type(cvi_type) , intent(in) __CONTIGUOUS :: object(:,:)
17565 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17566 : character(*, SK) , intent(in) , optional :: format, advance
17567 : logical(LK) , intent(in) , optional :: sticky
17568 : character(*, SK) , intent(in) , optional :: deliml, delimr
17569 : end subroutine
17570 :
17571 : module subroutine show_D2_BVLK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17572 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17573 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_BVLK
17574 : #endif
17575 : use pm_kind, only: SKC => SK
17576 : use pm_container, only: cvl_type
17577 : class(display_type) , intent(inout) :: self
17578 : type(cvl_type) , intent(in) __CONTIGUOUS :: object(:,:)
17579 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17580 : character(*, SK) , intent(in) , optional :: format, advance
17581 : logical(LK) , intent(in) , optional :: sticky
17582 : character(*, SK) , intent(in) , optional :: deliml, delimr
17583 : end subroutine
17584 :
17585 : module subroutine show_D2_BVCK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17586 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17587 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_BVCK
17588 : #endif
17589 : use pm_kind, only: SKC => SK
17590 : use pm_container, only: cvc_type
17591 : class(display_type) , intent(inout) :: self
17592 : type(cvc_type) , intent(in) __CONTIGUOUS :: object(:,:)
17593 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17594 : character(*, SK) , intent(in) , optional :: format, advance
17595 : logical(LK) , intent(in) , optional :: sticky
17596 : character(*, SK) , intent(in) , optional :: deliml, delimr
17597 : end subroutine
17598 :
17599 : module subroutine show_D2_BVRK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17600 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17601 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D2_BVRK
17602 : #endif
17603 : use pm_kind, only: SKC => SK
17604 : use pm_container, only: cvr_type
17605 : class(display_type) , intent(inout) :: self
17606 : type(cvr_type) , intent(in) __CONTIGUOUS :: object(:,:)
17607 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17608 : character(*, SK) , intent(in) , optional :: format, advance
17609 : logical(LK) , intent(in) , optional :: sticky
17610 : character(*, SK) , intent(in) , optional :: deliml, delimr
17611 : end subroutine
17612 :
17613 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17614 :
17615 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17616 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17617 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17618 :
17619 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17620 :
17621 : module subroutine show_D0_BMSK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17622 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17623 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BMSK
17624 : #endif
17625 : use pm_kind, only: SKC => SK
17626 : use pm_container, only: cms_type
17627 : class(display_type) , intent(inout) :: self
17628 : type(cms_type) , intent(in) :: object
17629 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17630 : character(*, SK) , intent(in) , optional :: format, advance
17631 : logical(LK) , intent(in) , optional :: sticky
17632 : character(*, SK) , intent(in) , optional :: deliml, delimr
17633 : end subroutine
17634 :
17635 : module subroutine show_D0_BMIK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17636 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17637 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BMIK
17638 : #endif
17639 : use pm_kind, only: SKC => SK
17640 : use pm_container, only: cmi_type
17641 : class(display_type) , intent(inout) :: self
17642 : type(cmi_type) , intent(in) :: object
17643 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17644 : character(*, SK) , intent(in) , optional :: format, advance
17645 : logical(LK) , intent(in) , optional :: sticky
17646 : character(*, SK) , intent(in) , optional :: deliml, delimr
17647 : end subroutine
17648 :
17649 : module subroutine show_D0_BMLK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17650 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17651 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BMLK
17652 : #endif
17653 : use pm_kind, only: SKC => SK
17654 : use pm_container, only: cml_type
17655 : class(display_type) , intent(inout) :: self
17656 : type(cml_type) , intent(in) :: object
17657 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17658 : character(*, SK) , intent(in) , optional :: format, advance
17659 : logical(LK) , intent(in) , optional :: sticky
17660 : character(*, SK) , intent(in) , optional :: deliml, delimr
17661 : end subroutine
17662 :
17663 : module subroutine show_D0_BMCK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17664 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17665 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BMCK
17666 : #endif
17667 : use pm_kind, only: SKC => SK
17668 : use pm_container, only: cmc_type
17669 : class(display_type) , intent(inout) :: self
17670 : type(cmc_type) , intent(in) :: object
17671 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17672 : character(*, SK) , intent(in) , optional :: format, advance
17673 : logical(LK) , intent(in) , optional :: sticky
17674 : character(*, SK) , intent(in) , optional :: deliml, delimr
17675 : end subroutine
17676 :
17677 : module subroutine show_D0_BMRK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17678 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17679 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BMRK
17680 : #endif
17681 : use pm_kind, only: SKC => SK
17682 : use pm_container, only: cmr_type
17683 : class(display_type) , intent(inout) :: self
17684 : type(cmr_type) , intent(in) :: object
17685 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17686 : character(*, SK) , intent(in) , optional :: format, advance
17687 : logical(LK) , intent(in) , optional :: sticky
17688 : character(*, SK) , intent(in) , optional :: deliml, delimr
17689 : end subroutine
17690 :
17691 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17692 :
17693 : module subroutine show_D1_BMSK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17694 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17695 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_BMSK
17696 : #endif
17697 : use pm_kind, only: SKC => SK
17698 : use pm_container, only: cms_type
17699 : class(display_type) , intent(inout) :: self
17700 : type(cms_type) , intent(in) __CONTIGUOUS :: object(:)
17701 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17702 : character(*, SK) , intent(in) , optional :: format, advance
17703 : logical(LK) , intent(in) , optional :: sticky
17704 : character(*, SK) , intent(in) , optional :: deliml, delimr
17705 : end subroutine
17706 :
17707 : module subroutine show_D1_BMIK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17708 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17709 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_BMIK
17710 : #endif
17711 : use pm_kind, only: SKC => SK
17712 : use pm_container, only: cmi_type
17713 : class(display_type) , intent(inout) :: self
17714 : type(cmi_type) , intent(in) __CONTIGUOUS :: object(:)
17715 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17716 : character(*, SK) , intent(in) , optional :: format, advance
17717 : logical(LK) , intent(in) , optional :: sticky
17718 : character(*, SK) , intent(in) , optional :: deliml, delimr
17719 : end subroutine
17720 :
17721 : module subroutine show_D1_BMLK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17722 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17723 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_BMLK
17724 : #endif
17725 : use pm_kind, only: SKC => SK
17726 : use pm_container, only: cml_type
17727 : class(display_type) , intent(inout) :: self
17728 : type(cml_type) , intent(in) __CONTIGUOUS :: object(:)
17729 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17730 : character(*, SK) , intent(in) , optional :: format, advance
17731 : logical(LK) , intent(in) , optional :: sticky
17732 : character(*, SK) , intent(in) , optional :: deliml, delimr
17733 : end subroutine
17734 :
17735 : module subroutine show_D1_BMCK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17736 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17737 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_BMCK
17738 : #endif
17739 : use pm_kind, only: SKC => SK
17740 : use pm_container, only: cmc_type
17741 : class(display_type) , intent(inout) :: self
17742 : type(cmc_type) , intent(in) __CONTIGUOUS :: object(:)
17743 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17744 : character(*, SK) , intent(in) , optional :: format, advance
17745 : logical(LK) , intent(in) , optional :: sticky
17746 : character(*, SK) , intent(in) , optional :: deliml, delimr
17747 : end subroutine
17748 :
17749 : module subroutine show_D1_BMRK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17750 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17751 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D1_BMRK
17752 : #endif
17753 : use pm_kind, only: SKC => SK
17754 : use pm_container, only: cmr_type
17755 : class(display_type) , intent(inout) :: self
17756 : type(cmr_type) , intent(in) __CONTIGUOUS :: object(:)
17757 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17758 : character(*, SK) , intent(in) , optional :: format, advance
17759 : logical(LK) , intent(in) , optional :: sticky
17760 : character(*, SK) , intent(in) , optional :: deliml, delimr
17761 : end subroutine
17762 :
17763 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17764 :
17765 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17766 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17767 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17768 :
17769 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17770 :
17771 : module subroutine show_D0_BCSK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17772 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17773 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BCSK
17774 : #endif
17775 : use pm_kind, only: SKC => SK
17776 : use pm_container, only: ccs_type
17777 : class(display_type) , intent(inout) :: self
17778 : type(ccs_type) , intent(in) :: object
17779 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17780 : character(*, SK) , intent(in) , optional :: format, advance
17781 : logical(LK) , intent(in) , optional :: sticky
17782 : character(*, SK) , intent(in) , optional :: deliml, delimr
17783 : end subroutine
17784 :
17785 : module subroutine show_D0_BCIK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17786 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17787 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BCIK
17788 : #endif
17789 : use pm_kind, only: SKC => SK
17790 : use pm_container, only: cci_type
17791 : class(display_type) , intent(inout) :: self
17792 : type(cci_type) , intent(in) :: object
17793 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17794 : character(*, SK) , intent(in) , optional :: format, advance
17795 : logical(LK) , intent(in) , optional :: sticky
17796 : character(*, SK) , intent(in) , optional :: deliml, delimr
17797 : end subroutine
17798 :
17799 : module subroutine show_D0_BCLK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17800 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17801 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BCLK
17802 : #endif
17803 : use pm_kind, only: SKC => SK
17804 : use pm_container, only: ccl_type
17805 : class(display_type) , intent(inout) :: self
17806 : type(ccl_type) , intent(in) :: object
17807 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17808 : character(*, SK) , intent(in) , optional :: format, advance
17809 : logical(LK) , intent(in) , optional :: sticky
17810 : character(*, SK) , intent(in) , optional :: deliml, delimr
17811 : end subroutine
17812 :
17813 : module subroutine show_D0_BCCK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17814 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17815 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BCCK
17816 : #endif
17817 : use pm_kind, only: SKC => SK
17818 : use pm_container, only: ccc_type
17819 : class(display_type) , intent(inout) :: self
17820 : type(ccc_type) , intent(in) :: object
17821 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17822 : character(*, SK) , intent(in) , optional :: format, advance
17823 : logical(LK) , intent(in) , optional :: sticky
17824 : character(*, SK) , intent(in) , optional :: deliml, delimr
17825 : end subroutine
17826 :
17827 : module subroutine show_D0_BCRK(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17828 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17829 : !DEC$ ATTRIBUTES DLLEXPORT :: show_D0_BCRK
17830 : #endif
17831 : use pm_kind, only: SKC => SK
17832 : use pm_container, only: ccr_type
17833 : class(display_type) , intent(inout) :: self
17834 : type(ccr_type) , intent(in) :: object
17835 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17836 : character(*, SK) , intent(in) , optional :: format, advance
17837 : logical(LK) , intent(in) , optional :: sticky
17838 : character(*, SK) , intent(in) , optional :: deliml, delimr
17839 : end subroutine
17840 :
17841 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17842 :
17843 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17844 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17845 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17846 :
17847 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17848 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17849 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17850 :
17851 : end interface
17852 :
17853 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17854 :
17855 : !> \cond excluded
17856 : interface dump
17857 :
17858 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17859 :
17860 : module subroutine dump_D0(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17861 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17862 : !DEC$ ATTRIBUTES DLLEXPORT :: dump_D0
17863 : #endif
17864 : use pm_kind, only: SKC => SK
17865 : class(display_type) , intent(inout) :: self
17866 : class(*) , intent(in) :: object
17867 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17868 : character(*, SK) , intent(in) , optional :: format, advance
17869 : logical(LK) , intent(in) , optional :: sticky
17870 : character(*, SK) , intent(in) , optional :: deliml, delimr
17871 : end subroutine
17872 :
17873 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17874 :
17875 : module subroutine dump_D1(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17876 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17877 : !DEC$ ATTRIBUTES DLLEXPORT :: dump_D1
17878 : #endif
17879 : use pm_kind, only: SKC => SK
17880 : class(display_type) , intent(inout) :: self
17881 : class(*) , intent(in) __CONTIGUOUS :: object(:)
17882 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17883 : character(*, SK) , intent(in) , optional :: format, advance
17884 : logical(LK) , intent(in) , optional :: sticky
17885 : character(*, SK) , intent(in) , optional :: deliml, delimr
17886 : end subroutine
17887 :
17888 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17889 :
17890 : module subroutine dump_D2(self, object, tmsize, bmsize, count, unit, advance, format, deliml, delimr, sticky)
17891 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
17892 : !DEC$ ATTRIBUTES DLLEXPORT :: dump_D2
17893 : #endif
17894 : use pm_kind, only: SKC => SK
17895 : class(display_type) , intent(inout) :: self
17896 : class(*) , intent(in) __CONTIGUOUS :: object(:,:)
17897 : integer(IK) , intent(in) , optional :: tmsize, bmsize, count, unit
17898 : character(*, SK) , intent(in) , optional :: format, advance
17899 : logical(LK) , intent(in) , optional :: sticky
17900 : character(*, SK) , intent(in) , optional :: deliml, delimr
17901 : end subroutine
17902 :
17903 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17904 :
17905 : end interface
17906 : !> \endcond excluded
17907 :
17908 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
17909 :
17910 : !> \brief
17911 : !> Generate and return a generic or type/kind-specific IO format with the requested
17912 : !> specifications that can be use to read or write individual records in IO actions.
17913 : !>
17914 : !> \param[in] mold : The input vector of arbitrary size `(:)` of,<br>
17915 : !> <ol>
17916 : !> <li> type `character` of kind \SKALL,
17917 : !> <li> type `integer` of kind \IKALL,
17918 : !> <li> type `logical` of kind \LKALL,
17919 : !> <li> type `complex` of kind \CKALL,
17920 : !> <li> type `real` of kind \RKALL,
17921 : !> </ol>
17922 : !> whose kind type parameter determines the characteristics of the record fields for which the format is being constructed.<br>
17923 : !> This argument offers an easy way of defining `format` for fields of specific intrinsic type in a record, particularly, fields of type `character` or `complex`.<br>
17924 : !> For example, specifying a `complex` scalar for `mold` will automatically use the default left/right Fortran delimiters `()` for `complex` fields in the output `format`.<br>
17925 : !> If any other input argument is also present, its value will override the default behavior dictated by the presence of the input argument `mold`.<br>
17926 : !> The specific value and size of `mold` is completely ignored within the procedure.<br>
17927 : !> For more possibilities, see the examples below.<br>
17928 : !> (**optional**. If missing, the output `format` will be constructed for as generic as possible field records.)
17929 : !> \param[in] prefix : The input scalar of type `character` of default kind \SK,
17930 : !> containing the prefix to be added to the output `format`.<br>
17931 : !> The prefix appears at the beginning of the record to be written via the output `format`.<br>
17932 : !> (**optional**, default = `""`)
17933 : !> \param[in] ed : The input scalar of type `character` of default kind \SK,
17934 : !> containing the edit descriptor to be used for formatting each (sub)field.<br>
17935 : !> Possible values include but are not limited to `A`, `I`, `E`, `EN`, `ES`, `F`, `G`.<br>
17936 : !> (**optional**, default = `G`)
17937 : !> \param[in] sep : The input scalar of type `character` of default kind \SK,
17938 : !> containing the *repeat* field separator to be used in the output `format`.<br>
17939 : !> (**optional**, default = `", "`)
17940 : !> \param[in] deliml : The input scalar of type `character` of default kind \SK,
17941 : !> containing the set of characters that serve as the **left-delimiter** for a group of subfields (for example, the real and imaginary components of fields of type `complex`).<br>
17942 : !> For example,
17943 : !> <ol>
17944 : !> <li> The input arguments `deliml = "(", subsep = ",", delimr = ")"` corresponds to the common Fortran format for displaying complex values with \f$\ms{x}\f$ and \f$\ms{y}\f$ components: \f$(\ms{x}, \ms{y})\f$.
17945 : !> <li> The input arguments `deliml = "", subsep = "", delimr = "i", signed = .true._LK` corresponds to the common mathematical format for displaying complex values with \f$\ms{x}\f$ and \f$\ms{y}\f$ components: \f$\ms{x} + \ms{y}i\f$.
17946 : !> </ol>
17947 : !> (**optional**, default = `"("` if `mold` is of type `complex`, \f$\ms{"}\f$ if `mold` is of type `character`, and nothing otherwise.)
17948 : !> \param[in] subsep : The input scalar of type `character` of default kind \SK,
17949 : !> containing the <i>sub</i>-field separator to be used in the output `format`.<br>
17950 : !> An example of subfields are the two real and imaginary components of `complex` fields.<br>
17951 : !> For example,
17952 : !> <ol>
17953 : !> <li> The input arguments `deliml = "(", subsep = ",", delimr = ")"` corresponds to the common Fortran format for displaying complex values with \f$\ms{x}\f$ and \f$\ms{y}\f$ components: \f$(\ms{x}, \ms{y})\f$.
17954 : !> <li> The input arguments `deliml = "", subsep = "", delimr = "i", signed = .true._LK` corresponds to the common mathematical format for displaying complex values with \f$\ms{x}\f$ and \f$\ms{y}\f$ components: \f$\ms{x} + \ms{y}i\f$.
17955 : !> </ol>
17956 : !> However, the use of subfields is not necessarily limited to `complex` values and can be applied to any fixed-size group of fields in a record.<br>
17957 : !> It is however, important to specify the number of subfields within a field of a record by setting the value of the input argument `subcount`.<br>
17958 : !> (**optional**, default = the value of the input argument `sep`.)
17959 : !> \param[in] delimr : The input scalar of type `character` of default kind \SK,
17960 : !> containing the set of characters that serve as the **right-delimiter** for a group of subfields (for example, the real and imaginary components of fields of type `complex`).<br>
17961 : !> For example,
17962 : !> <ol>
17963 : !> <li> The input arguments `deliml = "(", subsep = ",", delimr = ")"` corresponds to the common Fortran format for displaying complex values with \f$\ms{x}\f$ and \f$\ms{y}\f$ components: \f$(\ms{x}, \ms{y})\f$.
17964 : !> <li> The input arguments `deliml = "", subsep = "", delimr = "i", signed = .true._LK` corresponds to the common mathematical format for displaying complex values with \f$\ms{x}\f$ and \f$\ms{y}\f$ components: \f$\ms{x} + \ms{y}i\f$.
17965 : !> </ol>
17966 : !> (**optional**, default = `")"` if `mold` is of type `complex`, \f$\ms{"}\f$ if `mold` is of type `character`, and nothing otherwise.)
17967 : !> \param[in] count : The input scalar positive `integer` of default kind \IK containing the **repeat count** of groups of subfields in the record.<br>
17968 : !> For example,
17969 : !> <ol>
17970 : !> <li> If the goal is to print `7` scalar `integer` numbers on screen, `count` can be set to `7`.<br>
17971 : !> <li> If the goal is to print `7` scalar `complex` numbers on screen, `count` can be set to `7` if `subcount` is set to `2`, or to `14` if `subcount` is missing.<br>
17972 : !> </ol>
17973 : !> See the Fortran standard for the definition of and more information about *repeat count*.<br>
17974 : !> If the number of entries is larger than the specified *repeat count*, the rest of entries will be
17975 : !> transferred to the next record when performing IO via the output `format` from this generic interface.<br>
17976 : !> (**optional**, default = `*`, that is, as many as needed.)
17977 : !> \param[in] subcount : The input scalar positive `integer` of default kind \IK containing the **subfield count** within a single field of the record.<br>
17978 : !> The input `subcount` is essentially the number of times the input `subsep` appears between subfields plus `1`.<br>
17979 : !> For example, if the `format` is to be used for `complex` values, `subcount` can be set to `2` along with other appropriate arguments to construct Fortran-style `complex` formats.<br>
17980 : !> (**optional**, default = `2` if `mold` is of type `complex` and `0` otherwise.)
17981 : !> \param[in] width : The input scalar positive `integer` of default kind \IK containing the width of each each subfield (or if none exists, each field) in the record formatted via the output `format`.<br>
17982 : !> (**optional**. The default value is computed based on the input arguments such that any field value can be read or written with a fixed field length. Use `0` to request dynamic minimum width for each (sub)field that is automatically specified by the processor.)
17983 : !> \param[in] ndigit : The input scalar positive `integer` of default kind \IK containing the precision of the subfields or fields.<br>
17984 : !> <ol>
17985 : !> <li> If the (sub)field is of type `real` or `complex`, then `ndigit` represents the number of **digits after the decimal point**.<br>
17986 : !> <li> If the (sub)field is of type `integer`, then `ndigit` represents the minimum number of digits to display.<br>
17987 : !> This means that if an `integer` value has fewer digits than `ndigit`, the left side of the value will be padded with **leading zeros**.<br>
17988 : !> This form of padding with *leading zeros* is particularly useful for creating a numbered list of file names.<br>
17989 : !> Beware that `ndigit` can be zero, in which case, if the field value is `0`, it will not be displayed on screen and blank will be printed.<br>
17990 : !> Note that `ndigit` takes effect only when the input argument `mold` is of type `integer` or if the edit descriptor argument `ed` is set to `I` or `i`.<br>
17991 : !> Set `ndigit = range(int(1, kind(mold)))` to create an output `format` that pads `integer` fields with
17992 : !> maximum possible number of *leading zeros* for the specified `integer` kind `mold`.<br>
17993 : !> <li> For all other field types (e.g., `character`, `logical`, etc) the value of this argument is irrelevant and is ignored.<br>
17994 : !> </ol>
17995 : !> (**optional**, default is `precision(mold)` for `real` and `complex` and `1` for `integer`. In all other cases or if `mold` is missing, the default is processor dependent.)
17996 : !> \param[in] lenexp : The input scalar `integer` of default kind \IK containing the *minimum* width of the exponent for real-valued entries in the records formatted via the output `format`.<br>
17997 : !> Note that when the input argument `ndigit` is specified, the Fortran default exponent field length becomes `3`.<br>
17998 : !> As such, if `ndigit` is present, then it is recommended to also explicitly specify `lenexp` must be explicitly set for output formats that are supposed to handle
17999 : !> numbers with kind type parameter numbers that have exponent range that occupies more than 3 digits, e.g., \RK128, \CK128.<br>
18000 : !> (**optional**, default = `0` corresponding to the minimum number of digits required to represent the exponent value, that is, without leading zeros. If present, `ndigit` must be also present.)
18001 : !> \param[in] signed : The input scalar `logical` of default kind \LK.<br>
18002 : !> <ol>
18003 : !> <li> If `.true.`, then the output `format` will print all positive numeric values with their signs.
18004 : !> <li> If `.false.`, then the output `format` will not print all positive numeric values with their signs.
18005 : !> </ol>
18006 : !> (**optional**, default = `.false.`)
18007 : !>
18008 : !> \return
18009 : !> `format` : The output scalar `allocatable` of type `character` of default kind \SK containing the requested IO format.
18010 : !>
18011 : !> \interface{getFormat}
18012 : !> \code{.F90}
18013 : !>
18014 : !> use pm_io, only: getFormat
18015 : !> character(:), allocatable :: format
18016 : !>
18017 : !> ! generic fields format.
18018 : !>
18019 : !> format = getFormat ( prefix = prefix &
18020 : !> , ed = ed &
18021 : !> , sep = sep &
18022 : !> , deliml = deliml &
18023 : !> , subsep = subsep &
18024 : !> , delimr = delimr &
18025 : !> , count = count &
18026 : !> , subcount = subcount &
18027 : !> , width = width &
18028 : !> , ndigit = ndigit &
18029 : !> , lenexp = lenexp &
18030 : !> , signed = signed &
18031 : !> )
18032 : !>
18033 : !> ! type-specific fields format.
18034 : !>
18035 : !> format = getFormat ( mold(:) &
18036 : !> , prefix = prefix &
18037 : !> , ed = ed &
18038 : !> , sep = sep &
18039 : !> , deliml = deliml &
18040 : !> , subsep = subsep &
18041 : !> , delimr = delimr &
18042 : !> , count = count &
18043 : !> , subcount = subcount &
18044 : !> , width = width &
18045 : !> , ndigit = ndigit &
18046 : !> , lenexp = lenexp &
18047 : !> , signed = signed &
18048 : !> )
18049 : !>
18050 : !> \endcode
18051 : !>
18052 : !> \warning
18053 : !> The condition `present(lenexp) .and. present(ndigit) .or. .not. present(lenexp)` must hold for the corresponding input argument.<br>
18054 : !> The Fortran standard requires the precision field to be present when the exponent field is present.<br>
18055 : !> The condition `present(lenexp) .and. width /= 0 .or. .not. present(lenexp)` must hold for the corresponding input argument.<br>
18056 : !> The Fortran standard requires the specified width be non-zero in the presence of the lenexp field.<br>
18057 : !> The condition `ed == "g" .or. ed == "G" .or. width > 0` must hold for the corresponding input arguments.<br>
18058 : !> The Fortran standard requires a non-zero width (preferably, `width >= 5 + ndigit + lenexp`).<br>
18059 : !> The condition `(ed /= SKC_"f" .and. ed /= SKC_"F") .or. .not.present(lenexp)` must hold for the corresponding input arguments.<br>
18060 : !> \vericons
18061 : !>
18062 : !> \pure
18063 : !>
18064 : !> \see
18065 : !> [display_type](@ref pm_io::display_type)<br>
18066 : !>
18067 : !> \example{getFormat}
18068 : !> \include{lineno} example/pm_io/getFormat/main.F90
18069 : !> \compilef{getFormat}
18070 : !> \output{getFormat}
18071 : !> \include{lineno} example/pm_io/getFormat/main.out.F90
18072 : !>
18073 : !> \test
18074 : !> [test_pm_io](@ref test_pm_io)
18075 : !>
18076 : !> \bug
18077 : !> \status \unresolved
18078 : !> \source \ifort{2021.8.0 20221119}
18079 : !> \desc
18080 : !> The \ifort{2021.8.0 20221119} cannot run the following function call within the implementation of the procedures,
18081 : !> \code{.F90}
18082 : !> getCountDigit(range(mold))
18083 : !> \endcode
18084 : !> yielding the following error,<br>
18085 : !> \code{.sh}
18086 : !> forrtl: severe (174): SIGSEGV, segmentation fault occurred
18087 : !> image PC Routine Line Source
18088 : !> libpthread-2.33.s 00001550E3A9C1F0 Unknown Unknown Unknown
18089 : !> libparamonte_fort 00001550E810D8B4 pm_mathnumsys_MP_ 137 pm_mathNumSys@routines.inc.F90
18090 : !> libparamonte_fort 00001550E764778D pm_io_MP_get 83 pm_io@routines.inc.F90
18091 : !> main.exe 000000000040CBE9 MAIN__ 83 main.F90
18092 : !> main.exe 000000000040938D Unknown Unknown Unknown
18093 : !> libc-2.33.so 00001550E38BD565 __libc_start_main Unknown Unknown
18094 : !> main.exe 00000000004092AE Unknown Unknown Unknown
18095 : !> \endcode
18096 : !> \remedy
18097 : !> For now, the `value` attribute of the input argument of function [getCountDigit](@ref pm_mathNumSys::getCountDigit) was converted to `intent(in)`.<br>
18098 : !>
18099 : !> \finmain{getFormat}
18100 : !>
18101 : !> \author
18102 : !> \AmirShahmoradi, Oct 16, 2009, 2:47 AM, Michigan
18103 : interface getFormat
18104 :
18105 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18106 :
18107 : PURE module function getFormat_D0_Def(prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18108 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18109 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D0_Def
18110 : #endif
18111 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18112 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18113 : logical(LK) , intent(in) , optional :: signed
18114 : character(:, SK) , allocatable :: format
18115 : end function
18116 :
18117 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18118 :
18119 : #if SK5_ENABLED
18120 : PURE module function getFormat_D1_SK5(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18121 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18122 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_SK5
18123 : #endif
18124 : use pm_kind, only: SKC => SK5
18125 : character(*,SKC) , intent(in) :: mold(:)
18126 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18127 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18128 : logical(LK) , intent(in) , optional :: signed
18129 : character(:, SK) , allocatable :: format
18130 : end function
18131 : #endif
18132 :
18133 : #if SK4_ENABLED
18134 : PURE module function getFormat_D1_SK4(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18135 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18136 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_SK4
18137 : #endif
18138 : use pm_kind, only: SKC => SK4
18139 : character(*,SKC) , intent(in) :: mold(:)
18140 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18141 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18142 : logical(LK) , intent(in) , optional :: signed
18143 : character(:, SK) , allocatable :: format
18144 : end function
18145 : #endif
18146 :
18147 : #if SK3_ENABLED
18148 : PURE module function getFormat_D1_SK3(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18149 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18150 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_SK3
18151 : #endif
18152 : use pm_kind, only: SKC => SK3
18153 : character(*,SKC) , intent(in) :: mold(:)
18154 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18155 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18156 : logical(LK) , intent(in) , optional :: signed
18157 : character(:, SK) , allocatable :: format
18158 : end function
18159 : #endif
18160 :
18161 : #if SK2_ENABLED
18162 : PURE module function getFormat_D1_SK2(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18163 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18164 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_SK2
18165 : #endif
18166 : use pm_kind, only: SKC => SK2
18167 : character(*,SKC) , intent(in) :: mold(:)
18168 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18169 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18170 : logical(LK) , intent(in) , optional :: signed
18171 : character(:, SK) , allocatable :: format
18172 : end function
18173 : #endif
18174 :
18175 : #if SK1_ENABLED
18176 : PURE module function getFormat_D1_SK1(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18177 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18178 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_SK1
18179 : #endif
18180 : use pm_kind, only: SKC => SK1
18181 : character(*,SKC) , intent(in) :: mold(:)
18182 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18183 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18184 : logical(LK) , intent(in) , optional :: signed
18185 : character(:, SK) , allocatable :: format
18186 : end function
18187 : #endif
18188 :
18189 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18190 :
18191 : #if IK5_ENABLED
18192 : PURE module function getFormat_D1_IK5(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18193 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18194 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_IK5
18195 : #endif
18196 : use pm_kind, only: IKC => IK5
18197 : integer(IKC) , intent(in) :: mold(:)
18198 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18199 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18200 : logical(LK) , intent(in) , optional :: signed
18201 : character(:, SK) , allocatable :: format
18202 : end function
18203 : #endif
18204 :
18205 : #if IK4_ENABLED
18206 : PURE module function getFormat_D1_IK4(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18207 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18208 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_IK4
18209 : #endif
18210 : use pm_kind, only: IKC => IK4
18211 : integer(IKC) , intent(in) :: mold(:)
18212 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18213 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18214 : logical(LK) , intent(in) , optional :: signed
18215 : character(:, SK) , allocatable :: format
18216 : end function
18217 : #endif
18218 :
18219 : #if IK3_ENABLED
18220 : PURE module function getFormat_D1_IK3(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18221 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18222 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_IK3
18223 : #endif
18224 : use pm_kind, only: IKC => IK3
18225 : integer(IKC) , intent(in) :: mold(:)
18226 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18227 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18228 : logical(LK) , intent(in) , optional :: signed
18229 : character(:, SK) , allocatable :: format
18230 : end function
18231 : #endif
18232 :
18233 : #if IK2_ENABLED
18234 : PURE module function getFormat_D1_IK2(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18235 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18236 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_IK2
18237 : #endif
18238 : use pm_kind, only: IKC => IK2
18239 : integer(IKC) , intent(in) :: mold(:)
18240 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18241 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18242 : logical(LK) , intent(in) , optional :: signed
18243 : character(:, SK) , allocatable :: format
18244 : end function
18245 : #endif
18246 :
18247 : #if IK1_ENABLED
18248 : PURE module function getFormat_D1_IK1(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18249 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18250 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_IK1
18251 : #endif
18252 : use pm_kind, only: IKC => IK1
18253 : integer(IKC) , intent(in) :: mold(:)
18254 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18255 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18256 : logical(LK) , intent(in) , optional :: signed
18257 : character(:, SK) , allocatable :: format
18258 : end function
18259 : #endif
18260 :
18261 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18262 :
18263 : #if LK5_ENABLED
18264 : PURE module function getFormat_D1_LK5(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18265 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18266 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_LK5
18267 : #endif
18268 : use pm_kind, only: LKC => LK5
18269 : logical(LKC) , intent(in) :: mold(:)
18270 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18271 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18272 : logical(LK) , intent(in) , optional :: signed
18273 : character(:, SK) , allocatable :: format
18274 : end function
18275 : #endif
18276 :
18277 : #if LK4_ENABLED
18278 : PURE module function getFormat_D1_LK4(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18279 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18280 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_LK4
18281 : #endif
18282 : use pm_kind, only: LKC => LK4
18283 : logical(LKC) , intent(in) :: mold(:)
18284 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18285 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18286 : logical(LK) , intent(in) , optional :: signed
18287 : character(:, SK) , allocatable :: format
18288 : end function
18289 : #endif
18290 :
18291 : #if LK3_ENABLED
18292 : PURE module function getFormat_D1_LK3(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18293 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18294 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_LK3
18295 : #endif
18296 : use pm_kind, only: LKC => LK3
18297 : logical(LKC) , intent(in) :: mold(:)
18298 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18299 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18300 : logical(LK) , intent(in) , optional :: signed
18301 : character(:, SK) , allocatable :: format
18302 : end function
18303 : #endif
18304 :
18305 : #if LK2_ENABLED
18306 : PURE module function getFormat_D1_LK2(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18307 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18308 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_LK2
18309 : #endif
18310 : use pm_kind, only: LKC => LK2
18311 : logical(LKC) , intent(in) :: mold(:)
18312 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18313 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18314 : logical(LK) , intent(in) , optional :: signed
18315 : character(:, SK) , allocatable :: format
18316 : end function
18317 : #endif
18318 :
18319 : #if LK1_ENABLED
18320 : PURE module function getFormat_D1_LK1(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18321 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18322 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_LK1
18323 : #endif
18324 : use pm_kind, only: LKC => LK1
18325 : logical(LKC) , intent(in) :: mold(:)
18326 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18327 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18328 : logical(LK) , intent(in) , optional :: signed
18329 : character(:, SK) , allocatable :: format
18330 : end function
18331 : #endif
18332 :
18333 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18334 :
18335 : #if CK5_ENABLED
18336 : PURE module function getFormat_D1_CK5(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18337 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18338 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_CK5
18339 : #endif
18340 : use pm_kind, only: CKC => CK5
18341 : complex(CKC) , intent(in) :: mold(:)
18342 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18343 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18344 : logical(LK) , intent(in) , optional :: signed
18345 : character(:, SK) , allocatable :: format
18346 : end function
18347 : #endif
18348 :
18349 : #if CK4_ENABLED
18350 : PURE module function getFormat_D1_CK4(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18351 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18352 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_CK4
18353 : #endif
18354 : use pm_kind, only: CKC => CK4
18355 : complex(CKC) , intent(in) :: mold(:)
18356 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18357 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18358 : logical(LK) , intent(in) , optional :: signed
18359 : character(:, SK) , allocatable :: format
18360 : end function
18361 : #endif
18362 :
18363 : #if CK3_ENABLED
18364 : PURE module function getFormat_D1_CK3(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18365 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18366 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_CK3
18367 : #endif
18368 : use pm_kind, only: CKC => CK3
18369 : complex(CKC) , intent(in) :: mold(:)
18370 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18371 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18372 : logical(LK) , intent(in) , optional :: signed
18373 : character(:, SK) , allocatable :: format
18374 : end function
18375 : #endif
18376 :
18377 : #if CK2_ENABLED
18378 : PURE module function getFormat_D1_CK2(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18379 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18380 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_CK2
18381 : #endif
18382 : use pm_kind, only: CKC => CK2
18383 : complex(CKC) , intent(in) :: mold(:)
18384 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18385 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18386 : logical(LK) , intent(in) , optional :: signed
18387 : character(:, SK) , allocatable :: format
18388 : end function
18389 : #endif
18390 :
18391 : #if CK1_ENABLED
18392 : PURE module function getFormat_D1_CK1(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18393 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18394 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_CK1
18395 : #endif
18396 : use pm_kind, only: CKC => CK1
18397 : complex(CKC) , intent(in) :: mold(:)
18398 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18399 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18400 : logical(LK) , intent(in) , optional :: signed
18401 : character(:, SK) , allocatable :: format
18402 : end function
18403 : #endif
18404 :
18405 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18406 :
18407 : #if RK5_ENABLED
18408 : PURE module function getFormat_D1_RK5(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18409 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18410 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_RK5
18411 : #endif
18412 : use pm_kind, only: RKC => RK5
18413 : real(RKC) , intent(in) :: mold(:)
18414 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18415 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18416 : logical(LK) , intent(in) , optional :: signed
18417 : character(:, SK) , allocatable :: format
18418 : end function
18419 : #endif
18420 :
18421 : #if RK4_ENABLED
18422 : PURE module function getFormat_D1_RK4(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18423 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18424 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_RK4
18425 : #endif
18426 : use pm_kind, only: RKC => RK4
18427 : real(RKC) , intent(in) :: mold(:)
18428 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18429 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18430 : logical(LK) , intent(in) , optional :: signed
18431 : character(:, SK) , allocatable :: format
18432 : end function
18433 : #endif
18434 :
18435 : #if RK3_ENABLED
18436 : PURE module function getFormat_D1_RK3(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18437 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18438 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_RK3
18439 : #endif
18440 : use pm_kind, only: RKC => RK3
18441 : real(RKC) , intent(in) :: mold(:)
18442 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18443 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18444 : logical(LK) , intent(in) , optional :: signed
18445 : character(:, SK) , allocatable :: format
18446 : end function
18447 : #endif
18448 :
18449 : #if RK2_ENABLED
18450 : PURE module function getFormat_D1_RK2(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18451 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18452 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_RK2
18453 : #endif
18454 : use pm_kind, only: RKC => RK2
18455 : real(RKC) , intent(in) :: mold(:)
18456 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18457 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18458 : logical(LK) , intent(in) , optional :: signed
18459 : character(:, SK) , allocatable :: format
18460 : end function
18461 : #endif
18462 :
18463 : #if RK1_ENABLED
18464 : PURE module function getFormat_D1_RK1(mold, prefix, ed, sep, deliml, subsep, delimr, count, subcount, width, ndigit, lenexp, signed) result(format)
18465 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18466 : !DEC$ ATTRIBUTES DLLEXPORT :: getFormat_D1_RK1
18467 : #endif
18468 : use pm_kind, only: RKC => RK1
18469 : real(RKC) , intent(in) :: mold(:)
18470 : character(*, SK) , intent(in) , optional :: prefix, ed, sep, deliml, subsep, delimr
18471 : integer(IK) , intent(in) , optional :: count, subcount, width, ndigit, lenexp
18472 : logical(LK) , intent(in) , optional :: signed
18473 : character(:, SK) , allocatable :: format
18474 : end function
18475 : #endif
18476 :
18477 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18478 :
18479 : end interface
18480 :
18481 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18482 :
18483 : ! !> \brief
18484 : ! !> Generate and return the minimum required IO field width for a single value of the same type and kind as the input `mold`,
18485 : ! !> such that IO with the output field length does not overflow.
18486 : ! !>
18487 : ! !> \details
18488 : ! !> The primary usage of the procedures of this generic interface is
18489 : ! !> to use the output of these procedures as the `width` argument of
18490 : ! !> [getFormat](@ref pm_io::getFormat).<br>
18491 : ! !>
18492 : ! !> \param[in] mold : The input scalar of
18493 : ! !> <ul>
18494 : ! !> <li> type `integer` of kind \IKALL,
18495 : ! !> <li> type `complex` of kind \CKALL,
18496 : ! !> <li> type `real` of kind \RKALL,
18497 : ! !> </ul>
18498 : ! !> whose kind type parameter is used to infer the minimum IO field length required without the possibility of overflow.
18499 : ! !>
18500 : ! !> \return
18501 : ! !> `lenField` : The output scalar of type `integer` of default kind \IK containing the minimum IO field length.
18502 : ! !>
18503 : ! !> \interface{getLenFieldMin}
18504 : ! !> \code{.F90}
18505 : ! !>
18506 : ! !> use pm_kind, only: IK
18507 : ! !> use pm_io, only: getLenFieldMin
18508 : ! !> integer(IK) :: lenField
18509 : ! !>
18510 : ! !> lenField = getLenFieldMin(mold)
18511 : ! !>
18512 : ! !> \endcode
18513 : ! !>
18514 : ! !> \note
18515 : ! !> For `complex` values, the output `lenField` is the minimum required
18516 : ! !> field length for **each (real or imaginary) component** of the complex value.<br>
18517 : ! !>
18518 : ! !> \pure
18519 : ! !>
18520 : ! !> \elemental
18521 : ! !>
18522 : ! !> \see
18523 : ! !> [display_type](@ref pm_io::display_type)<br>
18524 : ! !> [getFormat](@ref pm_io::getFormat)<br>
18525 : ! !> [getFormat](@ref pm_io::getFormat)<br>
18526 : ! !>
18527 : ! !> \example{getLenFieldMin}
18528 : ! !> \include{lineno} example/pm_io/getLenFieldMin/main.F90
18529 : ! !> \compilef{getLenFieldMin}
18530 : ! !> \output{getLenFieldMin}
18531 : ! !> \include{lineno} example/pm_io/getLenFieldMin/main.out.F90
18532 : ! !>
18533 : ! !> \test
18534 : ! !> [test_pm_io](@ref test_pm_io)
18535 : ! !>
18536 : ! !> \bug
18537 : ! !> \status \unresolved
18538 : ! !> \source \ifort{2021.8.0 20221119}
18539 : ! !> \desc
18540 : ! !> The \ifort{2021.8.0 20221119} cannot run the following function call within the implementation of the procedures,
18541 : ! !> \code{.F90}
18542 : ! !> getCountDigit(range(mold))
18543 : ! !> \endcode
18544 : ! !> yielding the following error,<br>
18545 : ! !> \code{.sh}
18546 : ! !> forrtl: severe (174): SIGSEGV, segmentation fault occurred
18547 : ! !> image PC Routine Line Source
18548 : ! !> libpthread-2.33.s 00001550E3A9C1F0 Unknown Unknown Unknown
18549 : ! !> libparamonte_fort 00001550E810D8B4 pm_mathnumsys_MP_ 137 pm_mathNumSys@routines.inc.F90
18550 : ! !> libparamonte_fort 00001550E764778D pm_io_MP_get 83 pm_io@routines.inc.F90
18551 : ! !> main.exe 000000000040CBE9 MAIN__ 83 main.F90
18552 : ! !> main.exe 000000000040938D Unknown Unknown Unknown
18553 : ! !> libc-2.33.so 00001550E38BD565 __libc_start_main Unknown Unknown
18554 : ! !> main.exe 00000000004092AE Unknown Unknown Unknown
18555 : ! !> \endcode
18556 : ! !> \remedy
18557 : ! !> For now, `range(mold)` is saved in a variable and then passed to the function `getCountDigit()`.<br>
18558 : ! !>
18559 : ! !> \todo
18560 : ! !> \pmed
18561 : ! !> A new interface for computing the maximum field length without redundant blanks for a specific given input **value** or collection of values should be added.<br>
18562 : ! !>
18563 : ! !> \finmain{getLenFieldMin}
18564 : ! !>
18565 : ! !> \author
18566 : ! !> \AmirShahmoradi, Oct 16, 2009, 2:47 AM, Michigan
18567 : ! interface getLenFieldMin
18568 : !
18569 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18570 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18571 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18572 : !
18573 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18574 : !
18575 : !
18576 : !#if IK5_ENABLED
18577 : ! pure elemental module function getLenFieldMin_D0_IK5(mold) result(lenField)
18578 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18579 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getLenFieldMin_D0_IK5
18580 : !#endif
18581 : ! use pm_kind, only: IKC => IK5
18582 : ! integer(IKC) , intent(in) :: mold
18583 : ! integer(IK) :: lenField
18584 : ! end function
18585 : !#endif
18586 : !
18587 : !#if IK4_ENABLED
18588 : ! pure elemental module function getLenFieldMin_D0_IK4(mold) result(lenField)
18589 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18590 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getLenFieldMin_D0_IK4
18591 : !#endif
18592 : ! use pm_kind, only: IKC => IK4
18593 : ! integer(IKC) , intent(in) :: mold
18594 : ! integer(IK) :: lenField
18595 : ! end function
18596 : !#endif
18597 : !
18598 : !#if IK3_ENABLED
18599 : ! pure elemental module function getLenFieldMin_D0_IK3(mold) result(lenField)
18600 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18601 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getLenFieldMin_D0_IK3
18602 : !#endif
18603 : ! use pm_kind, only: IKC => IK3
18604 : ! integer(IKC) , intent(in) :: mold
18605 : ! integer(IK) :: lenField
18606 : ! end function
18607 : !#endif
18608 : !
18609 : !#if IK2_ENABLED
18610 : ! pure elemental module function getLenFieldMin_D0_IK2(mold) result(lenField)
18611 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18612 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getLenFieldMin_D0_IK2
18613 : !#endif
18614 : ! use pm_kind, only: IKC => IK2
18615 : ! integer(IKC) , intent(in) :: mold
18616 : ! integer(IK) :: lenField
18617 : ! end function
18618 : !#endif
18619 : !
18620 : !#if IK1_ENABLED
18621 : ! pure elemental module function getLenFieldMin_D0_IK1(mold) result(lenField)
18622 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18623 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getLenFieldMin_D0_IK1
18624 : !#endif
18625 : ! use pm_kind, only: IKC => IK1
18626 : ! integer(IKC) , intent(in) :: mold
18627 : ! integer(IK) :: lenField
18628 : ! end function
18629 : !#endif
18630 : !
18631 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18632 : !
18633 : !#if CK5_ENABLED
18634 : ! pure elemental module function getLenFieldMin_D0_CK5(mold) result(lenField)
18635 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18636 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getLenFieldMin_D0_CK5
18637 : !#endif
18638 : ! use pm_kind, only: CKC => CK5
18639 : ! complex(CKC) , intent(in) :: mold
18640 : ! integer(IK) :: lenField
18641 : ! end function
18642 : !#endif
18643 : !
18644 : !#if CK4_ENABLED
18645 : ! pure elemental module function getLenFieldMin_D0_CK4(mold) result(lenField)
18646 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18647 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getLenFieldMin_D0_CK4
18648 : !#endif
18649 : ! use pm_kind, only: CKC => CK4
18650 : ! complex(CKC) , intent(in) :: mold
18651 : ! integer(IK) :: lenField
18652 : ! end function
18653 : !#endif
18654 : !
18655 : !#if CK3_ENABLED
18656 : ! pure elemental module function getLenFieldMin_D0_CK3(mold) result(lenField)
18657 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18658 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getLenFieldMin_D0_CK3
18659 : !#endif
18660 : ! use pm_kind, only: CKC => CK3
18661 : ! complex(CKC) , intent(in) :: mold
18662 : ! integer(IK) :: lenField
18663 : ! end function
18664 : !#endif
18665 : !
18666 : !#if CK2_ENABLED
18667 : ! pure elemental module function getLenFieldMin_D0_CK2(mold) result(lenField)
18668 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18669 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getLenFieldMin_D0_CK2
18670 : !#endif
18671 : ! use pm_kind, only: CKC => CK2
18672 : ! complex(CKC) , intent(in) :: mold
18673 : ! integer(IK) :: lenField
18674 : ! end function
18675 : !#endif
18676 : !
18677 : !#if CK1_ENABLED
18678 : ! pure elemental module function getLenFieldMin_D0_CK1(mold) result(lenField)
18679 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18680 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getLenFieldMin_D0_CK1
18681 : !#endif
18682 : ! use pm_kind, only: CKC => CK1
18683 : ! complex(CKC) , intent(in) :: mold
18684 : ! integer(IK) :: lenField
18685 : ! end function
18686 : !#endif
18687 : !
18688 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18689 : !
18690 : !#if RK5_ENABLED
18691 : ! pure elemental module function getLenFieldMin_D0_RK5(mold) result(lenField)
18692 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18693 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getLenFieldMin_D0_RK5
18694 : !#endif
18695 : ! use pm_kind, only: RKC => RK5
18696 : ! real(RKC) , intent(in) :: mold
18697 : ! integer(IK) :: lenField
18698 : ! end function
18699 : !#endif
18700 : !
18701 : !#if RK4_ENABLED
18702 : ! pure elemental module function getLenFieldMin_D0_RK4(mold) result(lenField)
18703 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18704 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getLenFieldMin_D0_RK4
18705 : !#endif
18706 : ! use pm_kind, only: RKC => RK4
18707 : ! real(RKC) , intent(in) :: mold
18708 : ! integer(IK) :: lenField
18709 : ! end function
18710 : !#endif
18711 : !
18712 : !#if RK3_ENABLED
18713 : ! pure elemental module function getLenFieldMin_D0_RK3(mold) result(lenField)
18714 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18715 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getLenFieldMin_D0_RK3
18716 : !#endif
18717 : ! use pm_kind, only: RKC => RK3
18718 : ! real(RKC) , intent(in) :: mold
18719 : ! integer(IK) :: lenField
18720 : ! end function
18721 : !#endif
18722 : !
18723 : !#if RK2_ENABLED
18724 : ! pure elemental module function getLenFieldMin_D0_RK2(mold) result(lenField)
18725 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18726 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getLenFieldMin_D0_RK2
18727 : !#endif
18728 : ! use pm_kind, only: RKC => RK2
18729 : ! real(RKC) , intent(in) :: mold
18730 : ! integer(IK) :: lenField
18731 : ! end function
18732 : !#endif
18733 : !
18734 : !#if RK1_ENABLED
18735 : ! pure elemental module function getLenFieldMin_D0_RK1(mold) result(lenField)
18736 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18737 : ! !DEC$ ATTRIBUTES DLLEXPORT :: getLenFieldMin_D0_RK1
18738 : !#endif
18739 : ! use pm_kind, only: RKC => RK1
18740 : ! real(RKC) , intent(in) :: mold
18741 : ! integer(IK) :: lenField
18742 : ! end function
18743 : !#endif
18744 : !
18745 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18746 : !
18747 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18748 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18749 : ! !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18750 : !
18751 : ! end interface
18752 : !
18753 : !!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18754 :
18755 : contains
18756 :
18757 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18758 :
18759 : ! !> \brief
18760 : ! !> Set the output optional arguments `iostat, iomsg` (if present) to their corresponding input values `stat, msg`,
18761 : ! !> or if `iostat` is missing, call the `error stop msg` statement.
18762 : ! !>
18763 : ! !> \param[in] stat : The input scalar `integer` of default kind \IK.<br>
18764 : ! !> A non-zero value implies the occurrence of an error.<br>
18765 : ! !> Non-zero values are returned by all intrinsic Fortran IO statements (`open()`, `close()`, `inquire()`, `read()`, `write()`) if an IO error occurs.
18766 : ! !> \param[in] msg : The input scalar `character` of default kind \SK representing the contents of the output argument `iomsg`.<br>
18767 : ! !> If the output argument `iostat` is missing and `stat` is non-zero, then `msg` will be passed to the `error stop` statement.
18768 : ! !> \param[out] iostat : The output scalar `integer` of default kind \IK that, if present, is set to the input `stat`.<br>
18769 : ! !> (**optional**. If missing and `stat` is non-zero, then the program halts by calling `error stop msg`.)
18770 : ! !> \param[inout] iomsg : The input/output scalar `character` of default kind \SK.<br>
18771 : ! !> <ol>
18772 : ! !> <li> If `iomsg` is present and `stat` is non-zero, it is set to the input `msg` on return.<br>
18773 : ! !> <li> If `iomsg` is present and `stat` is zero, the input contents of `iomsg` will not change on return.<br>
18774 : ! !> </ol>
18775 : ! !> (**optional**. The presence of the output `iomsg` is relevant only if `iostat` is also present.)
18776 : ! !>
18777 : ! !> \interface{setStatIO}
18778 : ! !> \code{.F90}
18779 : ! !>
18780 : ! !> use pm_io, only: setStatIO
18781 : ! !>
18782 : ! !> ioFailed = setStatIO(stat, msg, iostat = iostat, iomsg = iomsg)
18783 : ! !>
18784 : ! !> \endcode
18785 : ! !>
18786 : ! !> \note
18787 : ! !> This procedure is primarily intended for handling of IO errors within the parent module ([pm_io](@ref pm_io)).
18788 : ! !>
18789 : ! !> \see
18790 : ! !> [setFileClosed](@ref setFileClosed)<br>
18791 : ! !> [getCountRecord](@ref getCountRecord)<br>
18792 : ! !> [getCountRecordLeft](@ref getCountRecordLeft)<br>
18793 : ! !> [setRecordFrom](@ref setRecordFrom)<br>
18794 : ! !> [setContentsFrom](@ref setContentsFrom)
18795 : ! !>
18796 : ! !> \test
18797 : ! !> [test_pm_io](@ref test_pm_io)
18798 : ! !>
18799 : ! !> \finmain{setStatIO}
18800 : ! !>
18801 : ! !> \author
18802 : ! !> \AmirShahmoradi, Tuesday March 7, 2017, 2:22 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
18803 : ! pure subroutine setStatIO(stat, msg, iostat, iomsg)
18804 : !#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18805 : ! !DEC$ ATTRIBUTES DLLEXPORT :: setStatIO
18806 : !#endif
18807 : ! integer(IK) , intent(in) :: stat
18808 : ! character(*, SK), intent(in) :: msg
18809 : ! integer(IK) , intent(out) , optional :: iostat
18810 : ! character(*, SK), intent(inout) , optional :: iomsg
18811 : ! if (present(iostat)) then
18812 : ! iostat = stat
18813 : ! if (present(iomsg)) iomsg = msg
18814 : ! else
18815 : ! if (stat /= 0_IK) error stop SK_"FATAL RUNTIME ERROR: " // trim(adjustl(msg))
18816 : ! end if
18817 : ! end subroutine
18818 :
18819 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18820 :
18821 0 : pure function isValidAccess(value) result(isValid)
18822 : character(*, SK) , intent(in) :: value
18823 : logical(LK) :: isValid
18824 0 : isValid = logical(value == SK_"sequential" .or. value == SK_"direct" .or. value == SK_"stream", LK)
18825 0 : end function
18826 :
18827 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18828 :
18829 0 : pure function isValidAction(value) result(isValid)
18830 : character(*, SK) , intent(in) :: value
18831 : logical(LK) :: isValid
18832 0 : isValid = logical(value == SK_"readwrite" .or. value == SK_"read" .or. value == SK_"write", LK)
18833 0 : end function
18834 :
18835 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18836 :
18837 0 : pure function isValidAsynchronous(value) result(isValid)
18838 : character(*, SK) , intent(in) :: value
18839 : logical(LK) :: isValid
18840 0 : isValid = logical(value == SK_"no" .or. value == SK_"yes", LK)
18841 0 : end function
18842 :
18843 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18844 :
18845 0 : pure function isValidBlank(value) result(isValid)
18846 : character(*, SK) , intent(in) :: value
18847 : logical(LK) :: isValid
18848 0 : isValid = logical(value == SK_"null" .or. value == SK_"zero", LK)
18849 0 : end function
18850 :
18851 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18852 :
18853 0 : pure function isValidDecimal(value) result(isValid)
18854 : character(*, SK) , intent(in) :: value
18855 : logical(LK) :: isValid
18856 0 : isValid = logical(value == SK_"point" .or. value == SK_"comma", LK)
18857 0 : end function
18858 :
18859 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18860 :
18861 0 : pure function isValidDelim(value) result(isValid)
18862 : character(*, SK) , intent(in) :: value
18863 : logical(LK) :: isValid
18864 0 : isValid = logical(value == SK_"none" .or. value == SK_"apostrophe" .or. value == SK_"quote", LK)
18865 0 : end function
18866 :
18867 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18868 :
18869 0 : pure function isValidEncoding(value) result(isValid)
18870 : character(*, SK) , intent(in) :: value
18871 : logical(LK) :: isValid
18872 0 : isValid = logical(value == SK_"default" .or. value == SK_"utf-8", LK)
18873 0 : end function
18874 :
18875 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18876 :
18877 0 : pure function isValidForm(value) result(isValid)
18878 : character(*, SK) , intent(in) :: value
18879 : logical(LK) :: isValid
18880 0 : isValid = logical(value == SK_"formatted" .or. value == SK_"unformatted", LK)
18881 0 : end function
18882 :
18883 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18884 :
18885 0 : pure function isValidPad(value) result(isValid)
18886 : character(*, SK) , intent(in) :: value
18887 : logical(LK) :: isValid
18888 0 : isValid = logical(value == SK_"yes" .or. value == SK_"no", LK)
18889 0 : end function
18890 :
18891 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18892 :
18893 0 : pure function isValidPosition(value) result(isValid)
18894 : character(*, SK) , intent(in) :: value
18895 : logical(LK) :: isValid
18896 0 : isValid = logical(value == SK_"asis" .or. value == SK_"rewind" .or. value == SK_"append", LK)
18897 0 : end function
18898 :
18899 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18900 :
18901 0 : pure function isValidRecl(value) result(isValid)
18902 : integer(IK) , intent(in) :: value
18903 : logical(LK) :: isValid
18904 0 : isValid = logical(value > 0_IK, LK)
18905 0 : end function
18906 :
18907 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18908 :
18909 0 : pure function isValidRound(value) result(isValid)
18910 : character(*, SK) , intent(in) :: value
18911 : logical(LK) :: isValid
18912 0 : isValid = logical(value == SK_"processor_defined" .or. value == SK_"compatible" .or. value == SK_"nearest" .or. value == SK_"zero" .or. value == SK_"down" .or. value == SK_"up", LK)
18913 0 : end function
18914 :
18915 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18916 :
18917 0 : pure function isValidSign(value) result(isValid)
18918 : character(*, SK) , intent(in) :: value
18919 : logical(LK) :: isValid
18920 0 : isValid = logical(value == SK_"processor_defined" .or. value == SK_"suppress" .or. value == SK_"plus", LK)
18921 0 : end function
18922 :
18923 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18924 :
18925 67 : pure function isValidStatus(value) result(isValid)
18926 : character(*, SK) , intent(in) :: value
18927 : logical(LK) :: isValid
18928 67 : isValid = logical(value == SK_"unknown" .or. value == SK_"scratch" .or. value == SK_"replace" .or. value == SK_"new" .or. value == SK_"old", LK)
18929 67 : end function
18930 :
18931 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18932 :
18933 : !> \brief
18934 : !> Generate and return `.true.` if the input unit corresponds to one of the processor
18935 : !> preconnected units: `output_unit`, `input_unit`, `error_unit`, otherwise return `.false.`.
18936 : !>
18937 : !> \param[in] unit : The input scalar of type `integer` of default kind \IK representing the unit number to be tested.
18938 : !>
18939 : !> \return
18940 : !> `preconnected` : The output scalar of type `logical` of default kind \LK representing that is `.true.` if and only if
18941 : !> the input unit corresponds to one of the preconnected units by the processor.
18942 : !>
18943 : !> \interface{isPreconnected}
18944 : !> \code{.F90}
18945 : !>
18946 : !> use pm_kind, only: IK
18947 : !> use pm_io, only: isPreconnected
18948 : !> logical(LK) :: preconnected
18949 : !> integer(IK) :: unit
18950 : !>
18951 : !> preconnected = isPreconnected(unit)
18952 : !>
18953 : !> \endcode
18954 : !>
18955 : !> \pure
18956 : !>
18957 : !> \elemental
18958 : !>
18959 : !> \remark
18960 : !> If no unit is connected to the input `file`, a value of `-1` will be returned.
18961 : !>
18962 : !> \remark
18963 : !> This procedure is primarily useful for bypassing the existing bug in
18964 : !> Intel Fortran compiler with the `newunit` specifier of the `open` statement.
18965 : !>
18966 : !> \see
18967 : !> [getFileUnit](@ref pm_io::getFileUnit)<br>
18968 : !>
18969 : !> \example{isPreconnected}
18970 : !> \include{lineno} example/pm_io/isPreconnected/main.F90
18971 : !> \compilef{isPreconnected}
18972 : !> \output{isPreconnected}
18973 : !> \include{lineno} example/pm_io/isPreconnected/main.out.F90
18974 : !>
18975 : !> \test
18976 : !> [test_pm_io](@ref test_pm_io)
18977 : !>
18978 : !> \finmain{isPreconnected}
18979 : !>
18980 : !> \author
18981 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
18982 4 : pure elemental function isPreconnected(unit) result(preconnected)
18983 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
18984 : !DEC$ ATTRIBUTES DLLEXPORT :: isPreconnected
18985 : #endif
18986 : use iso_fortran_env, only: output_unit, input_unit, error_unit
18987 : integer(IK) , intent(in) :: unit
18988 : logical(LK) :: preconnected
18989 4 : preconnected = logical(unit == int(output_unit, IK) .or. unit == int(input_unit, IK) .or. unit == int(error_unit, IK), LK)
18990 4 : end function isPreconnected
18991 :
18992 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18993 :
18994 : !> \brief
18995 : !> Generate and return a random new unconnected file unit number that could be assigned to the `unit` specifier of
18996 : !> the Fortran intrinsic `open` statement. Optionally, return the unit number of a file whose path is given by the
18997 : !> input argument `file`.
18998 : !>
18999 : !> \details
19000 : !> The behavior of this generic interface is fully dictated by the Fortran intrinsic `inquire()` when the optional argument `file` is present.<br>
19001 : !> For example, if the optional argument is present but no unit is connected to the file or the file does not exists, the `unit` returned is `-1`.<br>
19002 : !>
19003 : !> \param[in] file : The input scalar of type `character` of default kind \SK representing the path of the
19004 : !> file whose unit is to be returned, if it is already opened.<br>
19005 : !> (**optional**, if missing, a new unit number, that is not connected to any file, will be returned.)
19006 : !>
19007 : !> \return
19008 : !> `unit` : The output scalar of type `integer` of default kind \IK containing<br>
19009 : !> <ol>
19010 : !> <li> the unit number of the input `file` if it exists and is already connected.<br>
19011 : !> <li> the value `-1` if the input argument `file` is present but does not exist or is not already connected.<br>
19012 : !> <li> a valid random unit number that is not connected to any existing file, if the input argument `file` is missing.<br>
19013 : !> </ol>
19014 : !>
19015 : !> \interface{getFileUnit}
19016 : !> \code{.F90}
19017 : !>
19018 : !> use pm_io, only: getFileUnit
19019 : !>
19020 : !> unit = getFileUnit()
19021 : !> unit = getFileUnit(file)
19022 : !>
19023 : !> \endcode
19024 : !>
19025 : !> \warning
19026 : !> As per the Fortran standard, if no unit is connected to the input `file`, a value of `-1` will be returned.<br>
19027 : !>
19028 : !> \impure
19029 : !>
19030 : !> \elemental
19031 : !>
19032 : !> \remark
19033 : !> This procedure is primarily useful for bypassing the existing bug in the
19034 : !> Intel Fortran compiler with the `newunit` specifier of the `open` statement.<br>
19035 : !>
19036 : !> \see
19037 : !> [isPreconnected](@ref pm_io::isPreconnected)<br>
19038 : !>
19039 : !> \example{getFileUnit}
19040 : !> \include{lineno} example/pm_io/getFileUnit/main.F90
19041 : !> \compilef{getFileUnit}
19042 : !> \output{getFileUnit}
19043 : !> \include{lineno} example/pm_io/getFileUnit/main.out.F90
19044 : !>
19045 : !> \test
19046 : !> [test_pm_io](@ref test_pm_io)
19047 : !>
19048 : !> \finmain{getFileUnit}
19049 : !>
19050 : !> \author
19051 : !> \AmirShahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
19052 84 : impure elemental function getFileUnit(file) result(unit)
19053 : #if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
19054 : !DEC$ ATTRIBUTES DLLEXPORT :: getFileUnit
19055 : #endif
19056 : character(*, SK), intent(in), optional :: file
19057 : integer(IK) :: unit
19058 : logical(LK) :: opened
19059 84 : if (present(file)) then
19060 4 : inquire(file = file, number = unit)
19061 : else
19062 80 : unit = 100_IK
19063 0 : do
19064 80 : inquire(unit = unit, opened = opened)
19065 80 : if (.not. opened) return
19066 0 : unit = unit + 1_IK
19067 : end do
19068 : end if
19069 4 : end function
19070 :
19071 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
19072 :
19073 : end module pm_io ! LCOV_EXCL_LINE
|