A.5 The Numerics Packages
1
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
2/1
This paragraph was
deleted.
3/2
{
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;
4
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
5
The implementation may specify the values of Pi and
e to a larger number of significant digits.
5.a
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
5.b
{
extensions to Ada 83}
Numerics
and its children were not predefined in Ada 83.
Extensions to Ada 95
5.c/2
{
AI95-00388-01}
{extensions to Ada 95} The
alternative declaration of π is new.