-- TEST_GENERIC_PRESCRIBED_ELEMENTARY.ADA part 1 of multiple part test -- This part tests exceptions and prescribed values. -- Additional parts test accuracy based on Peter Tang's techniques. -- This is version 1.0, 24 September 1996 of a specification compliance -- test suite for the Generic Elementary Functions as specified in -- ISO/IEC 11430:1994, Information Technology - Programming Languages - -- Generic package of elementary functions for Ada. -- The ACVC Ada Compiler Validation Capability philosophy is intended to -- be used. e.g. This is a test against a specification on a specific -- implementation. A specific implementation means the combination of three -- items : 1) a specific Ada compilation system, 2) a specific hardware -- configuration and 3) a specific Generic Elementary Functions -- implementation. The specification is interpreted by the NRG -- the same way ISO/IEC 8652 is interpreted by the ARG. -- Note to implementors: Once an initial release of this test suite is -- released, there may be periodic updates. There is no guarantee that -- passing any particular version implies passing another version. -- This is the same philosophy as for ACVC. -- When the specification says the domain is unbounded, then the test -- suite checks for no exceptions being raised for FLOAT_TYPE'SAFE_LARGE, -- 'SAFE_SMALL their negatives, and possibly other values. Similarly for a -- domain of X>0 or X>=0 'SAFE_LARGE and 'SAFE_SMALL are used. When there is -- a note about "restricted domain" then the check for no exceptions is made by -- replacing 'SAFE_LARGE reduced by enough to be within the relative -- error. -- The functions are tested in the order the functions appear -- in the specification. Required exceptions are tested first. -- A few tests where exceptions should not occur are tested next. -- Finally, prescribed values required by the specification are tested. -- This part of the test is itself generic. There are two instantiations -- at the end. Only some instantiations may compile on any given compiler. -- All instantiations that compile must pass the test in order to -- achieve compliance. The instantiations are for FLOAT_TYPE being: -- FLOAT and LONG_FLOAT. -- The corresponding procedures that must be linked and executed are: -- TEST_PRESCRIBED_ELEMENTART -- TEST_LONG_PRESCRIBED_ELEMENTARY -- The compliance test must be compiled from this file, unmodified with -- the following exclusions: If a compiler has not yet implemented -- AI 387, then a global edit may be made to change CONSTRAINT_ERROR -- to CONSTRAINT_ERROR | NUMERIC_ERROR . -- Please report problems or suggested additions to Jon Squire -- Net mail squire@cs.umbc.edu , phone (410)765-3748 generic type FLOAT_TYPE is digits <>; procedure TEST_GENERIC_PRESCRIBED_ELEMENTARY;