with ADA.NUMERICS; with GENERIC_DIGITS_TYPES ; generic type SIZE is range <> ; -- range is 0..NUMBER_OF_DIGITS type REAL is digits <> ; -- some real type for conversions package GENERIC_DIGITS_ELEMENTARY_FUNCTIONS is package DIGITS_TYPES is new GENERIC_DIGITS_TYPES ( SIZE , REAL ) ; use DIGITS_TYPES ; function SQRT ( X : D_NUMBER ) return D_NUMBER ; function LOG ( X : D_NUMBER ) return D_NUMBER ; function LOG ( X , BASE : D_NUMBER ) return D_NUMBER ; function EXP ( X : D_NUMBER ) return D_NUMBER ; function "**" ( X , Y : D_NUMBER ) return D_NUMBER ; function SIN ( X : D_NUMBER ) return D_NUMBER ; function SIN ( X , CYCLE : D_NUMBER ) return D_NUMBER ; function COS ( X : D_NUMBER ) return D_NUMBER ; function COS ( X , CYCLE : D_NUMBER ) return D_NUMBER ; function TAN ( X : D_NUMBER ) return D_NUMBER ; function TAN ( X , CYCLE : D_NUMBER ) return D_NUMBER ; function COT ( X : D_NUMBER ) return D_NUMBER ; function COT ( X , CYCLE : D_NUMBER ) return D_NUMBER ; function ARCSIN ( X : D_NUMBER ) return D_NUMBER ; function ARCSIN ( X , CYCLE : D_NUMBER ) return D_NUMBER ; function ARCCOS ( X : D_NUMBER ) return D_NUMBER ; function ARCCOS ( X , CYCLE : D_NUMBER ) return D_NUMBER ; function ARCTAN ( Y : D_NUMBER ; X : D_NUMBER := DIGITS_ONE ) return D_NUMBER ; function ARCTAN ( Y : D_NUMBER ; X : D_NUMBER := DIGITS_ONE ; CYCLE : D_NUMBER ) return D_NUMBER ; function ARCCOT ( X : D_NUMBER ; Y : D_NUMBER := DIGITS_ONE ) return D_NUMBER ; function ARCCOT ( X : D_NUMBER ; Y : D_NUMBER := DIGITS_ONE ; CYCLE : D_NUMBER ) return D_NUMBER ; function SINH ( X : D_NUMBER ) return D_NUMBER ; function COSH ( X : D_NUMBER ) return D_NUMBER ; function TANH ( X : D_NUMBER ) return D_NUMBER ; function COTH ( X : D_NUMBER ) return D_NUMBER ; function ARCSINH ( X : D_NUMBER ) return D_NUMBER ; function ARCCOSH ( X : D_NUMBER ) return D_NUMBER ; function ARCTANH ( X : D_NUMBER ) return D_NUMBER ; function ARCCOTH ( X : D_NUMBER ) return D_NUMBER ; ARGUMENT_ERROR : exception renames ADA.NUMERICS.ARGUMENT_ERROR ; pragma INLINE ( "**" , COS , TAN , COT , ARCSIN , ARCCOS , ARCCOT , SINH , COSH , TANH , COTH , ARCSINH , ARCCOSH , ARCTANH , ARCCOTH ) ; end GENERIC_DIGITS_ELEMENTARY_FUNCTIONS ;