Table of contents


NAME

dtos - convert Fortran program from double-precision to single-precision

SYNOPSIS

dtos < infile >outfile

dtos copies its standard input to standard output, converting Fortran double-precision constants, built-in functions, and type declarations to single precision.

Floating-point FORMAT specifications are left intact; on some ancient systems, they may require modifications. They do not under the rules of Fortran 77.

Leading tabs are correctly interpreted according to common extended Fortran rules.

dtos's other purpose is to demonstrate a modest lex(1) program.


BUGS

Undeclared variables are not type-converted. To find such instances, use the Extended PFORT Verifier, pfort(1), or the Fortran checker, forchek(1).

The input files should not contain any text past column 72; if they do, that text may be incorrectly wrapped onto continuation lines.

dtos does not understand Fortran string constants, and may incorrectly do substitutions inside them. It is always a good idea to use diff(1) on the input and output files before accepting the conversion as correct.

dtos does not handle embedded ASCII tab characters correctly when long lines are to be broken. A Fortran-sensitive detabbing utility should be applied first if the input file possibly contains embedded tabs. Note that expand(1) cannot be used to do this job correctly!

Similarly, multi-line strings may be disturbed if the processing changes their length, necessitating generation of an intermediate continuation line. Such instances are usually rare, and can be patched by hand.


SEE ALSO

forchek(1), lex(1), pfort(1), stod(1).

AUTHOR

Nelson H. F. Beebe, Ph.D.

Center for Scientific Computing

Department of Mathematics

South Physics Building

University of Utah

Salt Lake City, UT 84112

Tel: (801) 581-5254

FAX: (801) 581-4148

Email: <beebe@science.utah.edu>