Ada Resource Association
News and resources for the Ada programming language
Annotated Ada Reference ManualLegal Information
Contents   Index   References   Search   Previous   Next 

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. 

Contents   Index   References   Search   Previous   Next 
Ada-Europe Sponsored by Ada-Europe