A.5 The Numerics Packages
The library package Numerics is the parent of several
child units that provide facilities for mathematical computation. One
child, the generic package Generic_Elementary_Functions, is defined in
A.5.1, together with nongeneric equivalents;
two others, the package Float_Random and the generic package Discrete_Random,
are defined in
A.5.2. Additional (optional)
children are defined in
Annex G, “
Numerics”.
Static Semantics
This paragraph was
deleted.
{
AI95-00388-01}
package Ada.Numerics
is
pragma Pure(Numerics);
Argument_Error :
exception;
Pi :
constant :=
3.14159_26535_89793_23846_26433_83279_50288_41971_69399_37511;
π :
constant := Pi;
e :
constant :=
2.71828_18284_59045_23536_02874_71352_66249_77572_47093_69996;
end Ada.Numerics;
The Argument_Error exception is raised by a subprogram
in a child unit of Numerics to signal that one or more of the actual
subprogram parameters are outside the domain of the corresponding mathematical
function.
Implementation Permissions
The implementation may specify the values of Pi and
e to a larger number of significant digits.
Reason: 51 digits seem more than adequate
for all present computers; converted to binary, the values given above
are accurate to more than 160 bits. Nevertheless, the permission allows
implementations to accommodate unforeseen hardware advances.
Extensions to Ada 83
{
extensions to Ada 83}
Numerics
and its children were not predefined in Ada 83.
Extensions to Ada 95
{
AI95-00388-01}
{
extensions to Ada 95}
The alternative declaration
of π is new.