critical impact:
cabs, cabsf, cabsl - incompatible parameters; jackets temporarily available; use complex data type (CrCh88)
Problem description
The parameters used by the cabs, cabsf, and cabsl functions on Tru64 UNIX are incompatible with the parameters on HP-UX. Alternate function declarations are available on a temporary basis in the Tru64 UNIX Migration Environment for HP-UX.
The following example shows the Tru64 UNIX function prototypes:
double cabs(double x, double y );
float cabsf(float x, float y );
long double cabsl(long double x, long double y );
The following example shows the HP-UX function prototypes:
double cabs(double complex z);
float cabsf(float complex z);
long double cabsl(long double complex z);
The Migration Environment contains Tru64 UNIX APIs, development tools, and commands and utilities to assist customers in migrating their applications from Tru64 UNIX to HP-UX. Identifiers
See also
Solution description
Review the applicable manpages and code. The alternate cabs, cabsf, and cabsl function declarations are available in the Tru64 UNIX Migration Environment for HP-UX.
The Tru64 UNIX and HP-UX parameter types for these routines are incompatible. Applications will be able to use the function declarations from the Migration Environment. Please note that the Migration Environment is temporary.
HP-UX has a built-in complex data type similar to the Fortran type in three precisions: float _Complex, double _Complex, and long double _Complex. It also has an associated header file, <complex.h>. The <complex.h> header file defines a complex macro, and is the preferred way to refer to the types. A complex type has the same representation and alignment requirements as an array type containing exactly two elements of the corresponding real type: the first element is equal to the real part and the second element to the imaginary part of the complex number. Note: If you use the cabs, cabsf, and cabsl function declarations in the Tru64 UNIX Migration Environment, do not include the <complex.h> header file in your application; this header file does not exist in Tru64 UNIX so use the <math.h> header instead.
See also
Problem summary
| classifications |
source types |
OS release |
severity |
type |
| LIB, ME |
C, C++ |
any HP-UX 11i version |
critical |
changed |
|