1 ------------------------------------------------------------------------------
3 -- GNAT RUN-TIME COMPONENTS --
5 -- A D A . N U M E R I C S . A U X _ S H O R T _ F L O A T --
8 -- (Short Float Wrapper in terms of Long Float) --
10 -- Copyright (C) 1992-2023, Free Software Foundation, Inc. --
12 -- GNAT is free software; you can redistribute it and/or modify it under --
13 -- terms of the GNU General Public License as published by the Free Soft- --
14 -- ware Foundation; either version 3, or (at your option) any later ver- --
15 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
16 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
17 -- or FITNESS FOR A PARTICULAR PURPOSE. --
19 -- As a special exception under Section 7 of GPL version 3, you are granted --
20 -- additional permissions described in the GCC Runtime Library Exception, --
21 -- version 3.1, as published by the Free Software Foundation. --
23 -- You should have received a copy of the GNU General Public License and --
24 -- a copy of the GCC Runtime Library Exception along with this program; --
25 -- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
26 -- <http://www.gnu.org/licenses/>. --
28 -- GNAT was originally developed by the GNAT team at New York University. --
29 -- Extensive contributions were provided by Ada Core Technologies Inc. --
31 ------------------------------------------------------------------------------
33 -- This package provides the basic computational interface for the
34 -- generic elementary functions. The functions in this unit are
35 -- wrappers for those in the Long Float package.
37 with Ada
.Numerics
.Aux_Long_Float
;
39 package Ada
.Numerics
.Aux_Short_Float
is
42 subtype T
is Short_Float;
43 package Aux
renames Ada
.Numerics
.Aux_Long_Float
;
46 -- Use the Aux implementation.
48 function Sin
(X
: T
) return T
49 is (T
(Aux
.Sin
(W
(X
))));
51 function Cos
(X
: T
) return T
52 is (T
(Aux
.Cos
(W
(X
))));
54 function Tan
(X
: T
) return T
55 is (T
(Aux
.Tan
(W
(X
))));
57 function Exp
(X
: T
) return T
58 is (T
(Aux
.Exp
(W
(X
))));
60 function Sqrt
(X
: T
) return T
61 is (T
(Aux
.Sqrt
(W
(X
))));
63 function Log
(X
: T
) return T
64 is (T
(Aux
.Log
(W
(X
))));
66 function Acos
(X
: T
) return T
67 is (T
(Aux
.Acos
(W
(X
))));
69 function Asin
(X
: T
) return T
70 is (T
(Aux
.Asin
(W
(X
))));
72 function Atan
(X
: T
) return T
73 is (T
(Aux
.Atan
(W
(X
))));
75 function Sinh
(X
: T
) return T
76 is (T
(Aux
.Sinh
(W
(X
))));
78 function Cosh
(X
: T
) return T
79 is (T
(Aux
.Cosh
(W
(X
))));
81 function Tanh
(X
: T
) return T
82 is (T
(Aux
.Tanh
(W
(X
))));
84 function Pow
(X
, Y
: T
) return T
85 is (T
(Aux
.Pow
(W
(X
), W
(Y
))));
87 end Ada
.Numerics
.Aux_Short_Float
;