|DATAPOOL is a COMMON block which can be shared
by any process running on the machine. The addresses of the variables are
pre-defined. Each subroutine or function declares only the variables it
uses, not the entire COMMON block. The MPX operating system contains tools
to examine and change DATAPOOL variables at run-time, without the loss of
run-time performance which would occur with a debugger.
FPT translates DATAPOOL into standard Fortran. Tools are available to
access the DATAPOOL at run-time, and to edit and manipulate the DATAPOOL
address database in a Unix, NT or VMS environment.
Colon Characters in Variable Names
|Gould-SEL allows variable names to contain
colon characters, for example: |
W:SAMP:T'. FPT has a language-sensitive editor
which can replace the colons. It checks that the conversion does not cause
name collisions with variables already present.
Silent Truncation of Names
|Variable names in Gould-SEL Fortran can be of
any length. However, the compiler only uses the first 8 characters to
identify the variable. The names |
T_FFT_RESULTS are exactly equivalent. When the
code is migrated, the new compiler treats the names as different
FPT identifies that the variables are equivalent, and uses the first
spelling encountered for all of them.
|The Gould-SEL real number format is constructed
so that a REAL*4 and REAL*8 at the same address have the same value except
for precision. REAL*8 values passed to routines which expect REAL*4 and
vice-versa are common. FPT finds and corrects all occurrences.
Unusual Control Constructs
|FPT can convert Gould-SEL constructs such as DO
- UNTIL to DO - WHILE, and SELECT CASE to IF-THEN-ELSE.
Hex Number Formats
|Gould-SEL uses formats of the form |
FPT converts these to standard Fortran 90 format, or to the formats for
most other targets.
Division by Zero
|Real-time programs should not crash. Halting
hardware and man-in-the-loop simulations damages equipment and hurts
people. Gould-SEL run-time systems are therefore tolerant of division by
zero (It is assumed that the result can be ignored).
FPT can replace all vulnerable divisions by function calls which trap
division by zero and discard the result.
|Gould-SEL simulations usually have real-time
interactive control software. FPT fully automates the creation of an
interactive environment for program control, written in standard Fortran.