---------------------------------------- revision 3.25 remove unused fns from body of *support_functions. change spec comments for *algebraic_functions min and max to mention safe intervals instead of model intervals. add some pragma inlines. ---------------------------- revision 3.24 use log and exp from support_functions for nth_root. remove restrictions on n in nth_root comments. move basic approximation fns in S,D,LEF out into new support_functions pkg. fix visibility comment at head of S,D,LAF pkgs. ---------------------------- revision 3.23 comment on nth_root accuracy for large n. imp of nth_root with log/exp. chg shorten to leading_part. add multiply_sign to GPF. make GPF fns inline. pluralize "exceeds". ---------------------------- revision 3.21 make *elementary_functions.sqrt call *algebraic_functions.square_root, instead of using renaming. cannot be identical because of the differing exceptions named argument_error. ---------------------------- revision 3.20 workaround in ln2_reduce to avoid verdix compiler bug. ---------------------------- revision 3.18 new logic in reduce_by_n for arranging the subtractions. ---------------------------- revision 3.17 move bias, maxexp out of float_representation. constants in prim_f initialized in pkg body. prim_f remove unneeded type transfers and add "rem", adjacent, successor, predecessor. copy_sign copies 1 bit. fix arg reduction & comments in d_elem, l_elem. formal argument types of the generic GPF package are now float_type and exponent_type. ---------------------------- revision 3.15 split out primitive_function by type. create float_types and use everywhere. create algebraic_functions. start to implement longest_float precision. put sqrt in algebraic_functions, rename elsewhere. G.E.F. body more concise. add copysign to G.P.F. ---------------------------- revision 3.14 reduce number of terms in approx to pi/4 to 6. use 3 term approx to pi/4 unless reduced angle is too small. corresponding chgs to error analysis in octant_reduce. ---------------------------- revision 3.13 clarified the copyleft. moved assumptions out of headers into the elementary_functions.doc . ---------------------------- revision 3.12 fix approx in double prec log. make single and double arccoth call log directly, not thru arctanh. small arg approx to avoid premature underflow in single and double arcsinh. ---------------------------- revision 3.11 bug fix in ln2_reduce, round nbr of reductions. ---------------------------- revision 3.10 removed superfluous pragma inline's. remove unneeded pragma packs in float_representation. ---------------------------- revision 3.9 added copyright notices at home. corrected comments to conform to ISO NRG draft made generic_elementary_functions functions inline. ---------------------------- revision 3.8 new comments from NRG draft 1.1 spec. name elementary_functions_exceptions. start to document assumptions. log/exp reduce to [-1/2,1/2] not [0,1]. intro complement, log_2_parts. new sqrt init. "**" simpler. more spec values for arctrig fns. ---------------------------- revision 2.11 precision fixes in elementary_functions. add primitive_functions.shorten . float_representation add zero_head, etc, correct comments. ---------------------------- revision 2.6 not the final draft of the std, but close. single more fully tested than the double-precision version. created several new files GPF spec probably does not yet resemble that to be promulgated by the SIGAda Numerics working group. fix comments in math_constants. ---------------------------- revision 2.4 math_constants reformat and add zeta function vals, delete some powers of pi. ---------------------------- revision 2.3 math_constants added in standardisation effort. will update when real std comes. ----------------------------