codegen: use gen_frame_target for generic bit operations
[ajla.git] / for-real.inc
blobc9073ac905bcc946b37bef4c649d0d7ef3fe9c07
1 /*
2  * Copyright (C) 2024 Mikulas Patocka
3  *
4  * This file is part of Ajla.
5  *
6  * Ajla is free software: you can redistribute it and/or modify it under the
7  * terms of the GNU General Public License as published by the Free Software
8  * Foundation, either version 3 of the License, or (at your option) any later
9  * version.
10  *
11  * Ajla is distributed in the hope that it will be useful, but WITHOUT ANY
12  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
13  * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along with
16  * Ajla. If not, see <https://www.gnu.org/licenses/>.
17  */
19 #if REAL_MASK & 0x1
20 #define type real16_t
21 #define TYPE_MASK 0x1
22 #define TYPE_BITS 16
23 #include file_inc
24 #undef type
25 #undef TYPE_MASK
26 #undef TYPE_BITS
27 #endif
29 #if REAL_MASK & 0x2
30 #define type real32_t
31 #define TYPE_MASK 0x2
32 #define TYPE_BITS 32
33 #include file_inc
34 #undef type
35 #undef TYPE_MASK
36 #undef TYPE_BITS
37 #endif
39 #if REAL_MASK & 0x4
40 #define type real64_t
41 #define TYPE_MASK 0x4
42 #define TYPE_BITS 64
43 #include file_inc
44 #undef type
45 #undef TYPE_MASK
46 #undef TYPE_BITS
47 #endif
49 #if REAL_MASK & 0x8
50 #define type real80_t
51 #define TYPE_MASK 0x8
52 #define TYPE_BITS 80
53 #include file_inc
54 #undef type
55 #undef TYPE_MASK
56 #undef TYPE_BITS
57 #endif
59 #if REAL_MASK & 0x10
60 #define type real128_t
61 #define TYPE_MASK 0x10
62 #define TYPE_BITS 128
63 #include file_inc
64 #undef type
65 #undef TYPE_MASK
66 #undef TYPE_BITS
67 #endif
69 #undef file_inc