Types and arithmetic operations for complex arithmetic 
are provided in Generic_Complex_Types, which is defined in 
G.1.1. 
Implementation-defined approximations to the complex analogs of the mathematical 
functions known as the “elementary functions” are provided 
by the subprograms in Generic_Complex_Elementary_Functions, which is 
defined in 
G.1.2. Both of these library units 
are generic children of the predefined package Numerics (see 
A.5). 
Nongeneric equivalents of these generic packages for each of the predefined 
floating point types are also provided as children of Numerics.