You can use the _IEEE_SOURCE
preprocessor define to specify whether the original library functions (/390 functions) for floating-point arithmetic are mapped to the associated IEEE variants. The prototypes of the IEEE functions are always generated.
_IEEE_SOURCE
can take on the following values:
_IEEE_SOURCE == 0
The /390 functions are not mapped to the corresponding IEEE variants. /390 and IEEE functions can thus be used in parallel. This setting applies regardless of the settings of the compiler (see the _IEEE
define on "Generating IEEE floating-point numbers by means of a compiler option").
_IEEE_SOURCE == 1
The /390 functions are mapped to the corresponding IEEE variants. It is thus not possible to use /390 and IEEE functions in parallel. This setting applies regardless of the settings of the compiler (see the _IEEE
define on "Generating IEEE floating-point numbers by means of a compiler option").
The _MAP_NAME
preprocessor define allows you to specify whether the /390 functions are to be mapped to the IEEE functions by means of the name define method or the macro define method.
_IEEE_SOURCE is not defined
In this case, the following takes place, depending on the compiler option (see the _IEEE
define on "Generating IEEE floating-point numbers by means of a compiler option"):
_IEEE == 0 or _IEEE not defined
The /390 functions are not mapped to the corresponding IEEE variants.
_IEEE == 1
The /390 functions are mapped to the corresponding IEEE variants.
MODIFY-MODULE-PROPERTIES - ... LOWER-CASE-NAMES=*YES, - SPECIAL-CHARACTERS=*KEEP, - ...
This prevents:
the names of the IEEE functions (see "C library functions that support IEEE floating-point numbers") from being truncated to eight characters
lowercase letters from being converted to uppercase and the character “_” from being replaced with “$” in the function names
In POSIX, you specify the following to achieve this:
-K llm_keep
-K llm_case_lower