annotate gcc/fortran/trigd_fe.inc @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
152
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
1
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
2
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
3 /* Stub for defining degree-valued trigonemetric functions using MPFR.
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
4 Copyright (C) 2000-2020 Free Software Foundation, Inc.
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
5 Contributed by Fritz Reese <foreese@gcc.gnu.org>
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
6 and Steven G. Kargl <kargl@gcc.gnu.org>
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
7
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
8 This file is part of GCC.
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
9
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
10 GCC is free software; you can redistribute it and/or modify it under
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
11 the terms of the GNU General Public License as published by the Free
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
12 Software Foundation; either version 3, or (at your option) any later
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
13 version.
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
14
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
15 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
16 WARRANTY; without even the implied warranty of MERCHANTABILITY or
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
17 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
18 for more details.
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
19
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
20 You should have received a copy of the GNU General Public License
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
21 along with GCC; see the file COPYING3. If not see
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
22 <http://www.gnu.org/licenses/>. */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
23
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
24 #define FTYPE mpfr_t
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
25 #define RETTYPE void
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
26 #define RETURN(x) do { } while (0)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
27 #define ITYPE mpz_t
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
28
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
29 #define ISFINITE(x) mpfr_number_p(x)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
30 #define D2R(x) deg2rad(x)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
31
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
32 #define ENABLE_SIND
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
33 #define ENABLE_COSD
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
34 #define ENABLE_TAND
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
35
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
36 #define SIND simplify_sind
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
37 #define COSD simplify_cosd
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
38 #define TAND simplify_tand
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
39
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
40 /* cosd(30) === sqrt(3) / 2. */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
41 #define SET_COSD30(x) do { \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
42 mpfr_set_ui (x, 3, GFC_RND_MODE); \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
43 mpfr_sqrt (x, x, GFC_RND_MODE); \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
44 mpfr_div_ui (x, x, 2, GFC_RND_MODE); \
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
45 } while (0)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
46
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
47 static RETTYPE SIND (FTYPE);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
48 static RETTYPE COSD (FTYPE);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
49 static RETTYPE TAND (FTYPE);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
50
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
51 #include "../../libgfortran/intrinsics/trigd.inc"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
52
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
53 /* vim: set ft=c: */