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
Numerics and its children
were not predefined in Ada 83.
Extensions to Ada 95
5.c/2
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe