goto


Home

Free Source Code

Portability Project

Fact Sheet

Email us


Purple Sage Computing Solutions, Inc.

Module processor_dependencies

Home --> Fact Sheet --> Free Source Code --> Portability Project --> processor_dependencies

About the Module processor_dependencies

Go directly to Inquiry Constants

Go directly to Downloads

The module processor_dependencies exists to give a single definition to as many processor dependencies as possible, but especially processor supported kinds. It also gives names to Fortran standard specified conditions.

To make a processor_dependencies module and a processor_model program for the compiler you're using, download the make_processor_model program, read how to set up its input file, compile the program using the compiler you're using, and execute it using the hardware you're using.

Back to the Top

A list of (most) types, constants and procedures defined follows.

Constants
Hardware
The sizes (in bits) of a numeric storage unit, character storage unit and file storage unit are described in the integers numeric_storage_size, character_storage_size and file_storage_size. The logicals is_byte_addressable and is_word_addressable describe the addressing mode.
Flags describing processor arithmetic are the values of logicals is_ieee_fp and is_2s_comp.
The logicals is_big_endian and is_little_endian specify processor endian.
Software
Characters compiler_version, compiler_serial, os_version identify the processor.
The size of the random number seed array is defined as integer random_seed_size.
Flags describing whether the processor supports ISO_VARYING_STRINGS is logical iso_varying_string_t.
Kinds, etc.
Integers byte_k, short_k, int_k, long_k are (possible) integer kinds.
Integers single_k, double_k, quad_k are (possible) real kinds (and therefore also possible complex kinds).
Integers l_byte_k, l_short_k, l_int_k, l_long_k are (possible) logical kinds
Integers ascii_k, ebcdic_k and iso_10646_k are (possible) character kinds.
Input/Output
Logical opt_plus_sign describes whether the processor writes the optional leading plus sign when using a numeric format.
Logicals leading_zero_f and leading_zero_e describe whether the processor writes the optional leading zero when using f or e format.
Integers ld_fmt_fmax and ld_fmt_fmin describe the largest and smallest decimal exponent written by list-directed format using f format before switching to e format.
Logical ld_fmt_comma is true if the processor places a separator (a comma) between output items when using list directed format.
The maximum record length is specified by integer max_recl.
The form of a filename when a unit is opened without a file is specified in character default_filename.
The units preconnected for input, output and possibly error messages are the values of integers input_unit, output_unit and error_unit.
The IOSTAT= value returned when trying to read an undefined record via a direct access read is the value of integer read_undefined_record.

Back to the Top

Library
The bit_size() intrinsic is extended to all intrinsic types and kinds.
The int() intrinsic is extended to logical kinds. It returns 1 if its argument is true and 0 if its argument is false.
The logical() intrinsic is extended to integer kinds. It returns true if its argument is not 0 and false otherwise.
The huge() and tiny() intrinsics are extended to complex and character entities.
The epsilon() intrinsic is extended to complex entities.
The function max_exact_int() determines the largest integer value in which the one's bit is represented exactly by any kind of real.

Back to the Top

Downloads

The source code for both processor_dependencies and processor_model may be generated (almost) automatically by using the make_processor_model program. For more information about the make_processor_model program, click here.

A discussion of the make_processor_model namelist input file is available here.

Back to the Top

To make comments or suggestions regarding processor_dependencies, or any of our software, please E-mail us. We're always happy to share the experiences others have using our software.


Home - Fact Sheet - Free Source Code - Fortran Links - Email us

Back to the Top