[Contents] [Previous Section] [Next Section] [Index]


1.1 Overview

Developing software within the confines of high-level languages like Fortran and C greatly increases the portability and maintainability of your source code. Many high-level languages support mathematical function evaluation. DPML was developed to provide a common set of routines that support many of the common mathematical functions across a wide variety of operating systems, hardware architectures, and languages.

In most cases, the common mathematical functions behave the same way for all languages and platforms. Occasionally, however, high- level language definitions of the same mathematical function will differ for specific input values. For example, in Fortran, log(- 1.0) causes a program abort, while in C, log(-1.0) quietly returns a system-defined value.

This document uses the term exceptional arguments to refer to values in the following situations:

See Section 1.3 for more detail on exceptional arguments.

To provide uniform quality of mathematical functions for all languages on your system, DPML traps exceptional arguments and invokes a system-specific routine called the DPML exception handler. The exception handler is designed to work in conjunction with high- level language compilers and run-time libraries (RTLs) to provide specific language semantics for exceptional arguments. This means that the user-visible behavior of a given function called from a given language is not necessarily determined by the routines in the DPML library but rather by a combination of several entities acting in concert.


Note
Digital strongly recommends that you limit your access to the DPML routines documented in this manual to the high-level language syntax of your choice, thereby guaranteeing the behavior of the routines across platforms. Because of the complex relationship between high-level languages and DPML routines, the behavior of direct calls to DPML routines may change from release to release.

[Contents] [Previous Section] [Next Section] [Index]