| Skip Navigation Links | |
| Exit Print View | |
![]() | man pages section 3: Library Interfaces and Headers Oracle Solaris 11 Information Library |
Library Interfaces and Headers
SMHBA_GetAdapterAttributes(3LIB)
SMHBA_GetAdapterPortAttributes(3LIB)
SMHBA_GetBindingCapability(3LIB)
SMHBA_GetDiscoveredPortAttributes(3LIB)
SMHBA_GetFCPhyAttributes(3LIB)
SMHBA_GetPersistentBinding(3LIB)
SMHBA_GetPortAttributesByWWN(3LIB)
SMHBA_GetProtocolStatistics(3LIB)
SMHBA_GetSASPhyAttributes(3LIB)
SMHBA_GetVendorLibraryAttributes(3LIB)
SMHBA_GetWrapperLibraryAttributes(3LIB)
SMHBA_RegisterForAdapterAddEvents(3LIB)
SMHBA_RegisterForAdapterEvents(3LIB)
SMHBA_RegisterForAdapterPhyStatEvents(3LIB)
SMHBA_RegisterForAdapterPortEvents(3LIB)
SMHBA_RegisterForAdapterPortStatEvents(3LIB)
SMHBA_RegisterForTargetEvents(3LIB)
SMHBA_RemoveAllPersistentBindings(3LIB)
SMHBA_RemovePersistentBinding(3LIB)
- complex arithmetic
#include <complex.h>
The <complex.h> header defines the following macros:
Expands to_Complex.
Expands to a constant expression of type const float_Complex, with the value of the imaginary unit (that is, a number i such that i2=-1).
Expands to_Imaginary.
Expands to a constant expression of typeconst float _Imaginary with the value of the imaginary unit.
Expands to either_Imaginary_I or_Complex_I. If_Imaginary_I is not defined,I expands to_Complex_I.
An application can undefine and then, if appropriate, redefine thecomplex,imaginary,andI macros.
Values are interpreted as radians, not degrees.
Seeattributes(5) for descriptions of the following attributes:
|
cabs(3M),cacos(3M),cacosh(3M),carg(3M),casin(3M),casinh(3M),catan(3M),catanh(3M),ccos(3M),ccosh(3M),cexp(3M),cimag(3M),clog(3M),conj(3M),cpow(3M),cproj(3M),creal(3M),csin(3M),csinh(3M),csqrt(3M),ctan(3M),ctanh(3M),attributes(5),standards(5)
The choice ofI instead ofi for the imaginary unit concedesto the widespread use of the identifieri for other purposes. Theapplication can use a different identifier, sayj, for the imaginary unitby following the inclusion of the <complex.h> header with:
#undef I#define j _Imaginary_I
AnI suffix to designate imaginary constants is not required, as multiplicationbyI provides a sufficiently convenient and more generally useful notation forimaginary terms. The corresponding real type for the imaginary unit isfloat,so that use ofI for algorithmic or notational convenience does not resultin widening types.
On systems with imaginary types, the application has the ability to controlwhether use of the macroI introduces an imaginary type, by explicitlydefiningI to be_Imaginary_I or_Complex_I.
Disallowing imaginary types is useful for some applications intended to run onimplementations without support for such types.
The macro_Imaginary_I provides a test for whether imaginary types are supported.Thecis() function(cos(x) + I*sin(x)) was considered but rejected because its implementation iseasy and straightforward, even though some implementations could compute sine and cosine moreefficiently in tandem.
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices | ![]() ![]() |