]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgcc/config/libbid/bid_functions.h
Update copyright years.
[thirdparty/gcc.git] / libgcc / config / libbid / bid_functions.h
1 /* Copyright (C) 2007-2023 Free Software Foundation, Inc.
2
3 This file is part of GCC.
4
5 GCC is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free
7 Software Foundation; either version 3, or (at your option) any later
8 version.
9
10 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11 WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 for more details.
14
15 Under Section 7 of GPL version 3, you are granted additional
16 permissions described in the GCC Runtime Library Exception, version
17 3.1, as published by the Free Software Foundation.
18
19 You should have received a copy of the GNU General Public License and
20 a copy of the GCC Runtime Library Exception along with this program;
21 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
22 <http://www.gnu.org/licenses/>. */
23
24 #ifndef _BID_FUNCTIONS_H
25 #define _BID_FUNCTIONS_H
26
27 #ifdef IN_LIBGCC2
28 // When we are built as the part of the gcc runtime library, libgcc,
29 // we will use gcc types defined in bid_gcc_intrinsics.h.
30 #include "bid_gcc_intrinsics.h"
31
32 #define ALIGN(n) __attribute__ ((aligned(n)))
33 #else
34 typedef char SINT8;
35 typedef unsigned char UINT8;
36 typedef unsigned UINT32;
37 typedef signed SINT32;
38
39 #ifdef __GNUC__
40 #define __int64 long long
41 #endif
42
43 #if __GNUC__ || defined LINUX || defined SUNOS
44 typedef unsigned long long UINT64;
45 typedef signed long long SINT64;
46 #else
47 typedef unsigned __int64 UINT64;
48 typedef signed __int64 SINT64;
49 #endif
50
51 #if defined _MSC_VER
52 #if defined _M_IX86 && !defined __INTEL_COMPILER // Win IA-32, MS compiler
53 #define ALIGN(n)
54 #else
55 #define ALIGN(n) __declspec(align(n))
56 #endif
57 #else
58 #define ALIGN(n) __attribute__ ((aligned(n)))
59 #endif
60
61 // bid_gcc_intrinsics.h will also define this.
62 typedef
63 ALIGN (16)
64 struct {
65 UINT64 w[2];
66 } UINT128;
67 #endif
68
69
70 #if !defined _MSC_VER || defined __INTEL_COMPILER
71 #define __ENABLE_BINARY80__ 1
72 #endif
73
74 #ifndef HPUX_OS
75 #define BINARY80 long double
76 #define BINARY128 UINT128
77 #define SQRT80 sqrtl
78 #else
79 #define BINARY80 __float80
80 #define BINARY128 __float128
81 #define SQRT80 sqrtw
82 #endif
83
84 typedef ALIGN (8)
85 struct {
86 UINT64 w[3];
87 } UINT192;
88 typedef ALIGN (16)
89 struct {
90 UINT64 w[4];
91 } UINT256;
92 typedef unsigned int FPSC; // floating-point status and control
93
94 // TYPE parameters
95 #define BID128_MAXDIGITS 34
96 #define BID64_MAXDIGITS 16
97 #define BID32_MAXDIGITS 7
98
99 // rounding modes
100 #define ROUNDING_TO_NEAREST 0x00000
101 #define ROUNDING_DOWN 0x00001
102 #define ROUNDING_UP 0x00002
103 #define ROUNDING_TO_ZERO 0x00003
104 #define ROUNDING_TIES_AWAY 0x00004
105
106 #define RMODE_MASK (ROUNDING_TO_NEAREST | ROUNDING_DOWN | ROUNDING_UP | ROUNDING_TO_ZERO | ROUNDING_TIES_AWAY)
107
108 // status
109 #define FLAG_MASK 0x0000003f
110 #define BID_IEEE_FLAGS 0x0000003d
111 #define EXACT_STATUS 0x00000000
112 #define INEXACT_EXCEPTION 0x00000020
113 #define UNDERFLOW_EXCEPTION 0x00000010
114 #define OVERFLOW_EXCEPTION 0x00000008
115 #define ZERO_DIVIDE_EXCEPTION 0x00000004
116 #define DENORMAL_EXCEPTION 0x00000002
117 #define INVALID_EXCEPTION 0x00000001
118
119 #define MODE_MASK 0x00001f80
120 #define INEXACT_MODE 0x00001000
121 #define UNDERFLOW_MODE 0x00000800
122 #define OVERFLOW_MODE 0x00000400
123 #define ZERO_DIVIDE_MODE 0x00000200
124 #define DENORMAL_MODE 0x00000100
125 #define INVALID_MODE 0x00000080
126
127 #if defined LINUX || defined __GLIBC__ || defined SUNOS
128 #define LX16 "%016llx"
129 #define LX "%llx"
130 #define LD4 "%4llu"
131 #define LD16 "%016lld"
132 #define LD "%lld"
133 #define LUD "%llu"
134 #define LUD16 "%016llu"
135 #define X8 "%08x"
136 #define X4 "%04x"
137
138 #define FMT_LLX16 "%016llx"
139 #define FMT_LLX "%llx"
140 #define FMT_LLU4 "%4llu"
141 #define FMT_LLD16 "%016lld"
142 #define FMT_LLD "%lld"
143 #define FMT_LLU "%llu"
144 #define FMT_LLU16 "%016llu"
145 #define FMT_X8 "%08x"
146 #define FMT_X4 "%04x"
147 #else
148 #define LX16 "%016I64x"
149 #define LX "%I64x"
150 #define LD16 "%016I64d"
151 #define LD4 "%4I64u"
152 #define LD "%I64d"
153 #define LUD "%I64u"
154 #define LUD16 "%016I64u"
155 #define X8 "%08x"
156 #define X4 "%04x"
157
158 #define FMT_LLX16 "%016I64x"
159 #define FMT_LLX "%I64x"
160 #define FMT_LLD16 "%016I64d"
161 #define FMT_LLU4 "%4I64u"
162 #define FMT_LLD "%I64d"
163 #define FMT_LLU "%I64u"
164 #define FMT_LLU16 "%016I64u"
165 #define FMT_X8 "%08x"
166 #define FMT_X4 "%04x"
167 #endif
168
169 #define decNumberIsSNaN(dn) (((dn)->bits&(DECSNAN))!=0)
170 int __signbitf (float);
171 int __signbit (double);
172
173 #define __IMFC99MACRO_( __x__, __func__ ) \
174 (( sizeof( __x__ ) > sizeof( float )) \
175 ? __func__( (double)(__x__) ) \
176 : __func__##f( (float)(__x__) ))
177
178 #define signbit( __x__ ) __IMFC99MACRO_( __x__, __signbit )
179
180 #if !defined(__INTEL_COMPILER)
181
182 #define __fence
183
184 #define isinf( __x__ ) __IMFC99MACRO_( __x__, __isinf )
185 #define isnan( __x__ ) __IMFC99MACRO_( __x__, __isnan )
186
187 int __isnanf (float);
188 int __isnan (double);
189
190 int __isinff (float);
191 int __isinf (double);
192
193 #endif
194
195 /* rounding modes */
196 // typedef unsigned int _IDEC_round;
197 extern _IDEC_round _IDEC_gblround; // initialized to ROUNDING_TO_NEAREST
198
199 /* exception flags */
200 // typedef unsigned int _IDEC_flags; // could be a struct with diagnostic info
201 extern _IDEC_flags _IDEC_gblflags; // initialized to EXACT_STATUS
202
203 /* exception masks */
204 typedef unsigned int _IDEC_exceptionmasks;
205 extern _IDEC_exceptionmasks _IDEC_gblexceptionmasks; // initialized to MODE_MASK
206
207 #if DECIMAL_ALTERNATE_EXCEPTION_HANDLING
208
209 /* exception information */
210
211 typedef struct {
212 unsigned int inexact_result:1;
213 unsigned int underflow:1;
214 unsigned int overflow:1;
215 unsigned int zero_divide:1;
216 unsigned int invalid_operation:1;
217 } fpieee_exception_flags_t;
218
219 typedef enum {
220 _fp_round_nearest,
221 _fp_round_minus_infinity,
222 _fp_round_plus_infinity,
223 _fp_round_chopped,
224 _fp_round_away
225 } fpieee_rounding_mode_t;
226
227 typedef enum {
228 _fp_precision24,
229 _fp_precision63,
230 _fp_precision64,
231 _fp_precision7,
232 _fp_precision16,
233 _fp_precision34
234 } _fpieee_precision_t;
235
236 typedef enum {
237 _fp_code_unspecified,
238 _fp_code_add,
239 _fp_code_subtract,
240 _fp_code_multiply,
241 _fp_code_divide,
242 _fp_code_square_root,
243 _fp_code_compare,
244 _fp_code_convert,
245 _fp_code_convert_to_integer_neareven,
246 _fp_code_convert_to_integer_down,
247 _fp_code_convert_to_integer_up,
248 _fp_code_convert_to_integer_truncate,
249 _fp_code_convert_to_integer_nearaway,
250 _fp_code_fma,
251 _fp_code_fmin,
252 _fp_code_fmax,
253 _fp_code_famin,
254 _fp_code_famax,
255 _fp_code_round_to_integral,
256 _fp_code_minnum,
257 _fp_code_maxnum,
258 _fp_code_minnummag,
259 _fp_code_maxnummag,
260 _fp_code_quantize,
261 _fp_code_logb,
262 _fp_code_scaleb,
263 _fp_code_remainder,
264 _fp_code_nextup,
265 _fp_code_nextdown,
266 _fp_code_nextafter,
267 } fp_operation_code_t;
268
269 typedef enum {
270 _fp_compare_equal,
271 _fp_compare_greater,
272 _fp_compare_less,
273 _fp_compare_unordered
274 } fpieee_compare_result_t;
275
276 typedef enum {
277 _fp_format_fp32,
278 _fp_format_fp64,
279 _fp_format_fp80,
280 _fp_format_fp128,
281 _fp_format_dec_fp32,
282 _fp_format_dec_fp64,
283 _fp_format_dec_fp128,
284 _fp_format_i8, /* 8-bit integer */
285 _fp_format_i16, /* 16-bit integer */
286 _fp_format_i32, /* 32-bit integer */
287 _fp_format_i64, /* 64-bit integer */
288 _fp_format_u8, /* 8-bit unsigned integer */
289 _fp_format_u16, /* 16-bit unsigned integer */
290 _fp_format_u32, /* 32-bit unsigned integer */
291 _fp_format_u64, /* 64-bit unsigned integer */
292 _fp_format_compare, /* compare value format */
293 _fp_format_decimal_char, /* decimal character */
294 _fp_format_string /* string */
295 } fpieee_format_t;
296
297 typedef struct {
298 unsigned short W[5];
299 } _float80_t;
300
301 typedef struct {
302 unsigned int W[4];
303 } _float128_t;
304
305 typedef struct {
306 union {
307 float fp32_value;
308 double fp64_value;
309 _float80_t fp80_value;
310 _float128_t fp128_value;
311 UINT32 decfp32_value;
312 UINT64 decfp64_value;
313 UINT128 decfp128_value;
314 char i8_value;
315 short i16_value;
316 int i32_value;
317 SINT64 i64_value;
318 unsigned char u8_value;
319 unsigned short u16_value;
320 unsigned int u32_value;
321 unsigned long u64_value;
322 fpieee_compare_result_t compare_value;
323 unsigned char s[256];
324 } value;
325 unsigned int operand_valid:1;
326 fpieee_format_t format:5;
327 } fpieee_value_t;
328
329 typedef struct {
330 unsigned int rounding_mode:3;
331 unsigned int precision:3;
332 unsigned int operation:26;
333 fpieee_exception_flags_t cause;
334 fpieee_exception_flags_t enable;
335 fpieee_exception_flags_t status;
336 fpieee_value_t operand1;
337 fpieee_value_t operand2;
338 fpieee_value_t operand3;
339 fpieee_value_t result;
340 } _IDEC_excepthandling;
341 extern _IDEC_excepthandling _IDEC_glbexcepthandling;
342
343 #endif
344
345 #if DECIMAL_CALL_BY_REFERENCE
346
347 extern void bid_to_dpd32 (UINT32 * pres, UINT32 * px);
348 extern void bid_to_dpd64 (UINT64 * pres, UINT64 * px);
349 extern void bid_to_dpd128 (UINT128 * pres, UINT128 * px);
350 extern void dpd_to_bid32 (UINT32 * pres, UINT32 * px);
351 extern void dpd_to_bid64 (UINT64 * pres, UINT64 * px);
352 extern void dpd_to_bid128 (UINT128 * pres, UINT128 * px);
353
354 extern void bid128dd_add (UINT128 * pres, UINT64 * px,
355 UINT64 * py
356 _RND_MODE_PARAM _EXC_FLAGS_PARAM
357 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
358 extern void bid128dq_add (UINT128 * pres, UINT64 * px,
359 UINT128 * py
360 _RND_MODE_PARAM _EXC_FLAGS_PARAM
361 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
362 extern void bid128qd_add (UINT128 * pres, UINT128 * px,
363 UINT64 * py
364 _RND_MODE_PARAM _EXC_FLAGS_PARAM
365 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
366 extern void bid128_add (UINT128 * pres, UINT128 * px,
367 UINT128 *
368 py _RND_MODE_PARAM _EXC_FLAGS_PARAM
369 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
370 extern void bid128dd_sub (UINT128 * pres, UINT64 * px,
371 UINT64 * py
372 _RND_MODE_PARAM _EXC_FLAGS_PARAM
373 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
374 extern void bid128dq_sub (UINT128 * pres, UINT64 * px,
375 UINT128 * py
376 _RND_MODE_PARAM _EXC_FLAGS_PARAM
377 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
378 extern void bid128qd_sub (UINT128 * pres, UINT128 * px,
379 UINT64 * py
380 _RND_MODE_PARAM _EXC_FLAGS_PARAM
381 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
382 extern void bid128_sub (UINT128 * pres, UINT128 * px,
383 UINT128 *
384 py _RND_MODE_PARAM _EXC_FLAGS_PARAM
385 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
386 extern void bid128dd_mul (UINT128 * pres, UINT64 * px,
387 UINT64 * py
388 _RND_MODE_PARAM _EXC_FLAGS_PARAM
389 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
390 extern void bid128dq_mul (UINT128 * pres, UINT64 * px,
391 UINT128 * py
392 _RND_MODE_PARAM _EXC_FLAGS_PARAM
393 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
394 extern void bid128qd_mul (UINT128 * pres, UINT128 * px,
395 UINT64 * py
396 _RND_MODE_PARAM _EXC_FLAGS_PARAM
397 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
398 extern void bid128_mul (UINT128 * pres, UINT128 * px,
399 UINT128 * py
400 _RND_MODE_PARAM _EXC_FLAGS_PARAM
401 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
402 extern void bid128_div (UINT128 * pres, UINT128 * px,
403 UINT128 *
404 py _RND_MODE_PARAM _EXC_FLAGS_PARAM
405 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
406 extern void bid128dd_div (UINT128 * pres, UINT64 * px,
407 UINT64 * py
408 _RND_MODE_PARAM _EXC_FLAGS_PARAM
409 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
410 extern void bid128dq_div (UINT128 * pres, UINT64 * px,
411 UINT128 * py
412 _RND_MODE_PARAM _EXC_FLAGS_PARAM
413 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
414 extern void bid128qd_div (UINT128 * pres, UINT128 * px,
415 UINT64 * py
416 _RND_MODE_PARAM _EXC_FLAGS_PARAM
417 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
418 extern void bid128_fma (UINT128 * pres, UINT128 * px,
419 UINT128 * py, UINT128 * pz
420 _RND_MODE_PARAM _EXC_FLAGS_PARAM
421 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
422 extern void bid128ddd_fma (UINT128 * pres, UINT64 * px,
423 UINT64 * py, UINT64 * pz
424 _RND_MODE_PARAM _EXC_FLAGS_PARAM
425 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
426 extern void bid128ddq_fma (UINT128 * pres, UINT64 * px,
427 UINT64 * py, UINT128 * pz
428 _RND_MODE_PARAM _EXC_FLAGS_PARAM
429 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
430 extern void bid128dqd_fma (UINT128 * pres, UINT64 * px,
431 UINT128 * py, UINT64 * pz
432 _RND_MODE_PARAM _EXC_FLAGS_PARAM
433 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
434 extern void bid128dqq_fma (UINT128 * pres, UINT64 * px,
435 UINT128 * py, UINT128 * pz
436 _RND_MODE_PARAM _EXC_FLAGS_PARAM
437 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
438 extern void bid128qdd_fma (UINT128 * pres, UINT128 * px,
439 UINT64 * py, UINT64 * pz
440 _RND_MODE_PARAM _EXC_FLAGS_PARAM
441 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
442 extern void bid128qdq_fma (UINT128 * pres, UINT128 * px,
443 UINT64 * py, UINT128 * pz
444 _RND_MODE_PARAM _EXC_FLAGS_PARAM
445 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
446 extern void bid128qqd_fma (UINT128 * pres, UINT128 * px,
447 UINT128 * py, UINT64 * pz
448 _RND_MODE_PARAM _EXC_FLAGS_PARAM
449 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
450 // Note: bid128qqq_fma is represented by bid128_fma
451 // Note: bid64ddd_fma is represented by bid64_fma
452 extern void bid64ddq_fma (UINT64 * pres, UINT64 * px,
453 UINT64 * py, UINT128 * pz
454 _RND_MODE_PARAM _EXC_FLAGS_PARAM
455 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
456 extern void bid64dqd_fma (UINT64 * pres, UINT64 * px,
457 UINT128 * py, UINT64 * pz
458 _RND_MODE_PARAM _EXC_FLAGS_PARAM
459 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
460 extern void bid64dqq_fma (UINT64 * pres, UINT64 * px,
461 UINT128 * py, UINT128 * pz
462 _RND_MODE_PARAM _EXC_FLAGS_PARAM
463 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
464 extern void bid64qdd_fma (UINT64 * pres, UINT128 * px,
465 UINT64 * py, UINT64 * pz
466 _RND_MODE_PARAM _EXC_FLAGS_PARAM
467 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
468 extern void bid64qdq_fma (UINT64 * pres, UINT128 * px,
469 UINT64 * py, UINT128 * pz
470 _RND_MODE_PARAM _EXC_FLAGS_PARAM
471 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
472 extern void bid64qqd_fma (UINT64 * pres, UINT128 * px,
473 UINT128 * py, UINT64 * pz
474 _RND_MODE_PARAM _EXC_FLAGS_PARAM
475 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
476 extern void bid64qqq_fma (UINT64 * pres, UINT128 * px,
477 UINT128 * py, UINT128 * pz
478 _RND_MODE_PARAM _EXC_FLAGS_PARAM
479 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
480
481 extern void bid128_sqrt (UINT128 * pres,
482 UINT128 *
483 px _RND_MODE_PARAM _EXC_FLAGS_PARAM
484 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
485 extern void bid128d_sqrt (UINT128 * pres, UINT64 * px
486 _RND_MODE_PARAM _EXC_FLAGS_PARAM
487 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
488
489 extern void bid64_add (UINT64 * pres, UINT64 * px,
490 UINT64 *
491 py _RND_MODE_PARAM _EXC_FLAGS_PARAM
492 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
493 extern void bid64dq_add (UINT64 * pres, UINT64 * px,
494 UINT128 * py
495 _RND_MODE_PARAM _EXC_FLAGS_PARAM
496 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
497 extern void bid64qd_add (UINT64 * pres, UINT128 * px,
498 UINT64 * py
499 _RND_MODE_PARAM _EXC_FLAGS_PARAM
500 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
501 extern void bid64qq_add (UINT64 * pres, UINT128 * px,
502 UINT128 * py
503 _RND_MODE_PARAM _EXC_FLAGS_PARAM
504 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
505 extern void bid64_sub (UINT64 * pres, UINT64 * px,
506 UINT64 *
507 py _RND_MODE_PARAM _EXC_FLAGS_PARAM
508 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
509 extern void bid64dq_sub (UINT64 * pres, UINT64 * px,
510 UINT128 * py
511 _RND_MODE_PARAM _EXC_FLAGS_PARAM
512 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
513 extern void bid64qd_sub (UINT64 * pres, UINT128 * px,
514 UINT64 * py
515 _RND_MODE_PARAM _EXC_FLAGS_PARAM
516 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
517 extern void bid64qq_sub (UINT64 * pres, UINT128 * px,
518 UINT128 * py
519 _RND_MODE_PARAM _EXC_FLAGS_PARAM
520 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
521 extern void bid64_mul (UINT64 * pres, UINT64 * px,
522 UINT64 * py
523 _RND_MODE_PARAM _EXC_FLAGS_PARAM
524 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
525 extern void bid64dq_mul (UINT64 * pres, UINT64 * px,
526 UINT128 * py
527 _RND_MODE_PARAM _EXC_FLAGS_PARAM
528 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
529 extern void bid64qd_mul (UINT64 * pres, UINT128 * px,
530 UINT64 * py
531 _RND_MODE_PARAM _EXC_FLAGS_PARAM
532 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
533 extern void bid64qq_mul (UINT64 * pres, UINT128 * px,
534 UINT128 * py
535 _RND_MODE_PARAM _EXC_FLAGS_PARAM
536 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
537 extern void bid64_div (UINT64 * pres, UINT64 * px,
538 UINT64 *
539 py _RND_MODE_PARAM _EXC_FLAGS_PARAM
540 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
541 extern void bid64dq_div (UINT64 * pres, UINT64 * px,
542 UINT128 * py
543 _RND_MODE_PARAM _EXC_FLAGS_PARAM
544 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
545 extern void bid64qd_div (UINT64 * pres, UINT128 * px,
546 UINT64 * py
547 _RND_MODE_PARAM _EXC_FLAGS_PARAM
548 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
549 extern void bid64qq_div (UINT64 * pres, UINT128 * px,
550 UINT128 * py
551 _RND_MODE_PARAM _EXC_FLAGS_PARAM
552 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
553 extern void bid64_fma (UINT64 * pres, UINT64 * px,
554 UINT64 * py,
555 UINT64 *
556 pz _RND_MODE_PARAM _EXC_FLAGS_PARAM
557 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
558 extern void bid64_sqrt (UINT64 * pres,
559 UINT64 *
560 px _RND_MODE_PARAM _EXC_FLAGS_PARAM
561 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
562 extern void bid64q_sqrt (UINT64 * pres, UINT128 * px
563 _RND_MODE_PARAM _EXC_FLAGS_PARAM
564 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
565
566 extern void bid128_to_int8_rnint (char *pres,
567 UINT128 *
568 px _EXC_FLAGS_PARAM
569 _EXC_MASKS_PARAM
570 _EXC_INFO_PARAM);
571 extern void bid128_to_int8_xrnint (char *pres,
572 UINT128 *
573 px _EXC_FLAGS_PARAM
574 _EXC_MASKS_PARAM
575 _EXC_INFO_PARAM);
576 extern void bid128_to_int8_rninta (char *pres,
577 UINT128 *
578 px _EXC_FLAGS_PARAM
579 _EXC_MASKS_PARAM
580 _EXC_INFO_PARAM);
581 extern void bid128_to_int8_xrninta (char *pres,
582 UINT128 *
583 px _EXC_FLAGS_PARAM
584 _EXC_MASKS_PARAM
585 _EXC_INFO_PARAM);
586 extern void bid128_to_int8_int (char *pres,
587 UINT128 *
588 px _EXC_FLAGS_PARAM
589 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
590 extern void bid128_to_int8_xint (char *pres,
591 UINT128 *
592 px _EXC_FLAGS_PARAM
593 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
594 extern void bid128_to_int8_floor (char *pres,
595 UINT128 *
596 px _EXC_FLAGS_PARAM
597 _EXC_MASKS_PARAM
598 _EXC_INFO_PARAM);
599 extern void bid128_to_int8_xfloor (char *pres,
600 UINT128 *
601 px _EXC_FLAGS_PARAM
602 _EXC_MASKS_PARAM
603 _EXC_INFO_PARAM);
604 extern void bid128_to_int8_ceil (char *pres,
605 UINT128 *
606 px _EXC_FLAGS_PARAM
607 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
608 extern void bid128_to_int8_xceil (char *pres,
609 UINT128 *
610 px _EXC_FLAGS_PARAM
611 _EXC_MASKS_PARAM
612 _EXC_INFO_PARAM);
613 extern void bid128_to_int16_rnint (short *pres,
614 UINT128 *
615 px _EXC_FLAGS_PARAM
616 _EXC_MASKS_PARAM
617 _EXC_INFO_PARAM);
618 extern void bid128_to_int16_xrnint (short *pres,
619 UINT128 *
620 px _EXC_FLAGS_PARAM
621 _EXC_MASKS_PARAM
622 _EXC_INFO_PARAM);
623 extern void bid128_to_int16_rninta (short *pres,
624 UINT128 *
625 px _EXC_FLAGS_PARAM
626 _EXC_MASKS_PARAM
627 _EXC_INFO_PARAM);
628 extern void bid128_to_int16_xrninta (short *pres,
629 UINT128 *
630 px _EXC_FLAGS_PARAM
631 _EXC_MASKS_PARAM
632 _EXC_INFO_PARAM);
633 extern void bid128_to_int16_int (short *pres,
634 UINT128 *
635 px _EXC_FLAGS_PARAM
636 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
637 extern void bid128_to_int16_xint (short *pres,
638 UINT128 *
639 px _EXC_FLAGS_PARAM
640 _EXC_MASKS_PARAM
641 _EXC_INFO_PARAM);
642 extern void bid128_to_int16_floor (short *pres,
643 UINT128 *
644 px _EXC_FLAGS_PARAM
645 _EXC_MASKS_PARAM
646 _EXC_INFO_PARAM);
647 extern void bid128_to_int16_xfloor (short *pres,
648 UINT128 *
649 px _EXC_FLAGS_PARAM
650 _EXC_MASKS_PARAM
651 _EXC_INFO_PARAM);
652 extern void bid128_to_int16_ceil (short *pres,
653 UINT128 *
654 px _EXC_FLAGS_PARAM
655 _EXC_MASKS_PARAM
656 _EXC_INFO_PARAM);
657 extern void bid128_to_int16_xceil (short *pres,
658 UINT128 *
659 px _EXC_FLAGS_PARAM
660 _EXC_MASKS_PARAM
661 _EXC_INFO_PARAM);
662 extern void bid128_to_uint8_rnint (unsigned char *pres,
663 UINT128 *
664 px _EXC_FLAGS_PARAM
665 _EXC_MASKS_PARAM
666 _EXC_INFO_PARAM);
667 extern void bid128_to_uint8_xrnint (unsigned char *pres,
668 UINT128 *
669 px _EXC_FLAGS_PARAM
670 _EXC_MASKS_PARAM
671 _EXC_INFO_PARAM);
672 extern void bid128_to_uint8_rninta (unsigned char *pres,
673 UINT128 *
674 px _EXC_FLAGS_PARAM
675 _EXC_MASKS_PARAM
676 _EXC_INFO_PARAM);
677 extern void bid128_to_uint8_xrninta (unsigned char *pres,
678 UINT128 *
679 px _EXC_FLAGS_PARAM
680 _EXC_MASKS_PARAM
681 _EXC_INFO_PARAM);
682 extern void bid128_to_uint8_int (unsigned char *pres,
683 UINT128 *
684 px _EXC_FLAGS_PARAM
685 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
686 extern void bid128_to_uint8_xint (unsigned char *pres,
687 UINT128 *
688 px _EXC_FLAGS_PARAM
689 _EXC_MASKS_PARAM
690 _EXC_INFO_PARAM);
691 extern void bid128_to_uint8_floor (unsigned char *pres,
692 UINT128 *
693 px _EXC_FLAGS_PARAM
694 _EXC_MASKS_PARAM
695 _EXC_INFO_PARAM);
696 extern void bid128_to_uint8_xfloor (unsigned char *pres,
697 UINT128 *
698 px _EXC_FLAGS_PARAM
699 _EXC_MASKS_PARAM
700 _EXC_INFO_PARAM);
701 extern void bid128_to_uint8_ceil (unsigned char *pres,
702 UINT128 *
703 px _EXC_FLAGS_PARAM
704 _EXC_MASKS_PARAM
705 _EXC_INFO_PARAM);
706 extern void bid128_to_uint8_xceil (unsigned char *pres,
707 UINT128 *
708 px _EXC_FLAGS_PARAM
709 _EXC_MASKS_PARAM
710 _EXC_INFO_PARAM);
711 extern void bid128_to_uint16_rnint (unsigned short *pres,
712 UINT128 *
713 px _EXC_FLAGS_PARAM
714 _EXC_MASKS_PARAM
715 _EXC_INFO_PARAM);
716 extern void bid128_to_uint16_xrnint (unsigned short *pres,
717 UINT128 *
718 px _EXC_FLAGS_PARAM
719 _EXC_MASKS_PARAM
720 _EXC_INFO_PARAM);
721 extern void bid128_to_uint16_rninta (unsigned short *pres,
722 UINT128 *
723 px _EXC_FLAGS_PARAM
724 _EXC_MASKS_PARAM
725 _EXC_INFO_PARAM);
726 extern void bid128_to_uint16_xrninta (unsigned short *pres,
727 UINT128 *
728 px _EXC_FLAGS_PARAM
729 _EXC_MASKS_PARAM
730 _EXC_INFO_PARAM);
731 extern void bid128_to_uint16_int (unsigned short *pres,
732 UINT128 *
733 px _EXC_FLAGS_PARAM
734 _EXC_MASKS_PARAM
735 _EXC_INFO_PARAM);
736 extern void bid128_to_uint16_xint (unsigned short *pres,
737 UINT128 *
738 px _EXC_FLAGS_PARAM
739 _EXC_MASKS_PARAM
740 _EXC_INFO_PARAM);
741 extern void bid128_to_uint16_floor (unsigned short *pres,
742 UINT128 *
743 px _EXC_FLAGS_PARAM
744 _EXC_MASKS_PARAM
745 _EXC_INFO_PARAM);
746 extern void bid128_to_uint16_xfloor (unsigned short *pres,
747 UINT128 *
748 px _EXC_FLAGS_PARAM
749 _EXC_MASKS_PARAM
750 _EXC_INFO_PARAM);
751 extern void bid128_to_uint16_ceil (unsigned short *pres,
752 UINT128 *
753 px _EXC_FLAGS_PARAM
754 _EXC_MASKS_PARAM
755 _EXC_INFO_PARAM);
756 extern void bid128_to_uint16_xceil (unsigned short *pres,
757 UINT128 *
758 px _EXC_FLAGS_PARAM
759 _EXC_MASKS_PARAM
760 _EXC_INFO_PARAM);
761 extern void bid128_to_int32_rnint (int *pres,
762 UINT128 *
763 px _EXC_FLAGS_PARAM
764 _EXC_MASKS_PARAM
765 _EXC_INFO_PARAM);
766 extern void bid128_to_int32_xrnint (int *pres,
767 UINT128 *
768 px _EXC_FLAGS_PARAM
769 _EXC_MASKS_PARAM
770 _EXC_INFO_PARAM);
771 extern void bid128_to_int32_rninta (int *pres,
772 UINT128 *
773 px _EXC_FLAGS_PARAM
774 _EXC_MASKS_PARAM
775 _EXC_INFO_PARAM);
776 extern void bid128_to_int32_xrninta (int *pres,
777 UINT128 *
778 px _EXC_FLAGS_PARAM
779 _EXC_MASKS_PARAM
780 _EXC_INFO_PARAM);
781 extern void bid128_to_int32_int (int *pres,
782 UINT128 *
783 px _EXC_FLAGS_PARAM
784 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
785 extern void bid128_to_int32_xint (int *pres,
786 UINT128 *
787 px _EXC_FLAGS_PARAM
788 _EXC_MASKS_PARAM
789 _EXC_INFO_PARAM);
790 extern void bid128_to_int32_floor (int *pres,
791 UINT128 *
792 px _EXC_FLAGS_PARAM
793 _EXC_MASKS_PARAM
794 _EXC_INFO_PARAM);
795 extern void bid128_to_int32_xfloor (int *pres,
796 UINT128 *
797 px _EXC_FLAGS_PARAM
798 _EXC_MASKS_PARAM
799 _EXC_INFO_PARAM);
800 extern void bid128_to_int32_ceil (int *pres,
801 UINT128 *
802 px _EXC_FLAGS_PARAM
803 _EXC_MASKS_PARAM
804 _EXC_INFO_PARAM);
805 extern void bid128_to_int32_xceil (int *pres,
806 UINT128 *
807 px _EXC_FLAGS_PARAM
808 _EXC_MASKS_PARAM
809 _EXC_INFO_PARAM);
810 extern void bid128_to_uint32_rnint (unsigned int *pres,
811 UINT128 *
812 px _EXC_FLAGS_PARAM
813 _EXC_MASKS_PARAM
814 _EXC_INFO_PARAM);
815 extern void bid128_to_uint32_xrnint (unsigned int *pres,
816 UINT128 *
817 px _EXC_FLAGS_PARAM
818 _EXC_MASKS_PARAM
819 _EXC_INFO_PARAM);
820 extern void bid128_to_uint32_rninta (unsigned int *pres,
821 UINT128 *
822 px _EXC_FLAGS_PARAM
823 _EXC_MASKS_PARAM
824 _EXC_INFO_PARAM);
825 extern void bid128_to_uint32_xrninta (unsigned int *pres,
826 UINT128 *
827 px _EXC_FLAGS_PARAM
828 _EXC_MASKS_PARAM
829 _EXC_INFO_PARAM);
830 extern void bid128_to_uint32_int (unsigned int *pres,
831 UINT128 *
832 px _EXC_FLAGS_PARAM
833 _EXC_MASKS_PARAM
834 _EXC_INFO_PARAM);
835 extern void bid128_to_uint32_xint (unsigned int *pres,
836 UINT128 *
837 px _EXC_FLAGS_PARAM
838 _EXC_MASKS_PARAM
839 _EXC_INFO_PARAM);
840 extern void bid128_to_uint32_floor (unsigned int *pres,
841 UINT128 *
842 px _EXC_FLAGS_PARAM
843 _EXC_MASKS_PARAM
844 _EXC_INFO_PARAM);
845 extern void bid128_to_uint32_xfloor (unsigned int *pres,
846 UINT128 *
847 px _EXC_FLAGS_PARAM
848 _EXC_MASKS_PARAM
849 _EXC_INFO_PARAM);
850 extern void bid128_to_uint32_ceil (unsigned int *pres,
851 UINT128 *
852 px _EXC_FLAGS_PARAM
853 _EXC_MASKS_PARAM
854 _EXC_INFO_PARAM);
855 extern void bid128_to_uint32_xceil (unsigned int *pres,
856 UINT128 *
857 px _EXC_FLAGS_PARAM
858 _EXC_MASKS_PARAM
859 _EXC_INFO_PARAM);
860 extern void bid128_to_int64_rnint (SINT64 * pres,
861 UINT128 *
862 px _EXC_FLAGS_PARAM
863 _EXC_MASKS_PARAM
864 _EXC_INFO_PARAM);
865 extern void bid128_to_int64_xrnint (SINT64 * pres,
866 UINT128 *
867 px _EXC_FLAGS_PARAM
868 _EXC_MASKS_PARAM
869 _EXC_INFO_PARAM);
870 extern void bid128_to_int64_rninta (SINT64 * pres,
871 UINT128 *
872 px _EXC_FLAGS_PARAM
873 _EXC_MASKS_PARAM
874 _EXC_INFO_PARAM);
875 extern void bid128_to_int64_xrninta (SINT64 * pres,
876 UINT128 *
877 px _EXC_FLAGS_PARAM
878 _EXC_MASKS_PARAM
879 _EXC_INFO_PARAM);
880 extern void bid128_to_int64_int (SINT64 * pres,
881 UINT128 *
882 px _EXC_FLAGS_PARAM
883 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
884 extern void bid128_to_int64_xint (SINT64 * pres,
885 UINT128 *
886 px _EXC_FLAGS_PARAM
887 _EXC_MASKS_PARAM
888 _EXC_INFO_PARAM);
889 extern void bid128_to_int64_floor (SINT64 * pres,
890 UINT128 *
891 px _EXC_FLAGS_PARAM
892 _EXC_MASKS_PARAM
893 _EXC_INFO_PARAM);
894 extern void bid128_to_int64_xfloor (SINT64 * pres,
895 UINT128 *
896 px _EXC_FLAGS_PARAM
897 _EXC_MASKS_PARAM
898 _EXC_INFO_PARAM);
899 extern void bid128_to_int64_ceil (SINT64 * pres,
900 UINT128 *
901 px _EXC_FLAGS_PARAM
902 _EXC_MASKS_PARAM
903 _EXC_INFO_PARAM);
904 extern void bid128_to_int64_xceil (SINT64 * pres,
905 UINT128 *
906 px _EXC_FLAGS_PARAM
907 _EXC_MASKS_PARAM
908 _EXC_INFO_PARAM);
909 extern void bid128_to_uint64_rnint (UINT64 * pres,
910 UINT128 *
911 px _EXC_FLAGS_PARAM
912 _EXC_MASKS_PARAM
913 _EXC_INFO_PARAM);
914 extern void bid128_to_uint64_xrnint (UINT64 * pres,
915 UINT128 *
916 px _EXC_FLAGS_PARAM
917 _EXC_MASKS_PARAM
918 _EXC_INFO_PARAM);
919 extern void bid128_to_uint64_rninta (UINT64 * pres,
920 UINT128 *
921 px _EXC_FLAGS_PARAM
922 _EXC_MASKS_PARAM
923 _EXC_INFO_PARAM);
924 extern void bid128_to_uint64_xrninta (UINT64 * pres,
925 UINT128 *
926 px _EXC_FLAGS_PARAM
927 _EXC_MASKS_PARAM
928 _EXC_INFO_PARAM);
929 extern void bid128_to_uint64_int (UINT64 * pres,
930 UINT128 *
931 px _EXC_FLAGS_PARAM
932 _EXC_MASKS_PARAM
933 _EXC_INFO_PARAM);
934 extern void bid128_to_uint64_xint (UINT64 * pres,
935 UINT128 *
936 px _EXC_FLAGS_PARAM
937 _EXC_MASKS_PARAM
938 _EXC_INFO_PARAM);
939 extern void bid128_to_uint64_floor (UINT64 * pres,
940 UINT128 *
941 px _EXC_FLAGS_PARAM
942 _EXC_MASKS_PARAM
943 _EXC_INFO_PARAM);
944 extern void bid128_to_uint64_xfloor (UINT64 * pres,
945 UINT128 *
946 px _EXC_FLAGS_PARAM
947 _EXC_MASKS_PARAM
948 _EXC_INFO_PARAM);
949 extern void bid128_to_uint64_ceil (UINT64 * pres,
950 UINT128 *
951 px _EXC_FLAGS_PARAM
952 _EXC_MASKS_PARAM
953 _EXC_INFO_PARAM);
954 extern void bid128_to_uint64_xceil (UINT64 * pres,
955 UINT128 *
956 px _EXC_FLAGS_PARAM
957 _EXC_MASKS_PARAM
958 _EXC_INFO_PARAM);
959 extern void bid64_to_int32_rnint (int *pres,
960 UINT64 *
961 px _EXC_FLAGS_PARAM
962 _EXC_MASKS_PARAM
963 _EXC_INFO_PARAM);
964 extern void bid64_to_int32_xrnint (int *pres,
965 UINT64 *
966 px _EXC_FLAGS_PARAM
967 _EXC_MASKS_PARAM
968 _EXC_INFO_PARAM);
969 extern void bid64_to_int32_rninta (int *pres,
970 UINT64 *
971 px _EXC_FLAGS_PARAM
972 _EXC_MASKS_PARAM
973 _EXC_INFO_PARAM);
974 extern void bid64_to_int32_xrninta (int *pres,
975 UINT64 *
976 px _EXC_FLAGS_PARAM
977 _EXC_MASKS_PARAM
978 _EXC_INFO_PARAM);
979 extern void bid64_to_int32_int (int *pres,
980 UINT64 *
981 px _EXC_FLAGS_PARAM
982 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
983 extern void bid64_to_int32_xint (int *pres,
984 UINT64 *
985 px _EXC_FLAGS_PARAM
986 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
987 extern void bid64_to_int32_floor (int *pres,
988 UINT64 *
989 px _EXC_FLAGS_PARAM
990 _EXC_MASKS_PARAM
991 _EXC_INFO_PARAM);
992 extern void bid64_to_int32_xfloor (int *pres,
993 UINT64 *
994 px _EXC_FLAGS_PARAM
995 _EXC_MASKS_PARAM
996 _EXC_INFO_PARAM);
997 extern void bid64_to_int32_ceil (int *pres,
998 UINT64 *
999 px _EXC_FLAGS_PARAM
1000 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1001 extern void bid64_to_int32_xceil (int *pres,
1002 UINT64 *
1003 px _EXC_FLAGS_PARAM
1004 _EXC_MASKS_PARAM
1005 _EXC_INFO_PARAM);
1006 extern void bid64_to_int8_rnint (char *pres,
1007 UINT64 *
1008 px _EXC_FLAGS_PARAM
1009 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1010 extern void bid64_to_int8_xrnint (char *pres,
1011 UINT64 *
1012 px _EXC_FLAGS_PARAM
1013 _EXC_MASKS_PARAM
1014 _EXC_INFO_PARAM);
1015 extern void bid64_to_int8_rninta (char *pres,
1016 UINT64 *
1017 px _EXC_FLAGS_PARAM
1018 _EXC_MASKS_PARAM
1019 _EXC_INFO_PARAM);
1020 extern void bid64_to_int8_xrninta (char *pres,
1021 UINT64 *
1022 px _EXC_FLAGS_PARAM
1023 _EXC_MASKS_PARAM
1024 _EXC_INFO_PARAM);
1025 extern void bid64_to_int8_int (char *pres,
1026 UINT64 *
1027 px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1028 _EXC_INFO_PARAM);
1029 extern void bid64_to_int8_xint (char *pres,
1030 UINT64 *
1031 px _EXC_FLAGS_PARAM
1032 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1033 extern void bid64_to_int8_floor (char *pres,
1034 UINT64 *
1035 px _EXC_FLAGS_PARAM
1036 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1037 extern void bid64_to_int8_xfloor (char *pres,
1038 UINT64 *
1039 px _EXC_FLAGS_PARAM
1040 _EXC_MASKS_PARAM
1041 _EXC_INFO_PARAM);
1042 extern void bid64_to_int8_ceil (char *pres,
1043 UINT64 *
1044 px _EXC_FLAGS_PARAM
1045 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1046 extern void bid64_to_int8_xceil (char *pres,
1047 UINT64 *
1048 px _EXC_FLAGS_PARAM
1049 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1050 extern void bid64_to_int16_rnint (short *pres,
1051 UINT64 *
1052 px _EXC_FLAGS_PARAM
1053 _EXC_MASKS_PARAM
1054 _EXC_INFO_PARAM);
1055 extern void bid64_to_int16_xrnint (short *pres,
1056 UINT64 *
1057 px _EXC_FLAGS_PARAM
1058 _EXC_MASKS_PARAM
1059 _EXC_INFO_PARAM);
1060 extern void bid64_to_int16_rninta (short *pres,
1061 UINT64 *
1062 px _EXC_FLAGS_PARAM
1063 _EXC_MASKS_PARAM
1064 _EXC_INFO_PARAM);
1065 extern void bid64_to_int16_xrninta (short *pres,
1066 UINT64 *
1067 px _EXC_FLAGS_PARAM
1068 _EXC_MASKS_PARAM
1069 _EXC_INFO_PARAM);
1070 extern void bid64_to_int16_int (short *pres,
1071 UINT64 *
1072 px _EXC_FLAGS_PARAM
1073 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1074 extern void bid64_to_int16_xint (short *pres,
1075 UINT64 *
1076 px _EXC_FLAGS_PARAM
1077 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1078 extern void bid64_to_int16_floor (short *pres,
1079 UINT64 *
1080 px _EXC_FLAGS_PARAM
1081 _EXC_MASKS_PARAM
1082 _EXC_INFO_PARAM);
1083 extern void bid64_to_int16_xfloor (short *pres,
1084 UINT64 *
1085 px _EXC_FLAGS_PARAM
1086 _EXC_MASKS_PARAM
1087 _EXC_INFO_PARAM);
1088 extern void bid64_to_int16_ceil (short *pres,
1089 UINT64 *
1090 px _EXC_FLAGS_PARAM
1091 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1092 extern void bid64_to_int16_xceil (short *pres,
1093 UINT64 *
1094 px _EXC_FLAGS_PARAM
1095 _EXC_MASKS_PARAM
1096 _EXC_INFO_PARAM);
1097 extern void bid64_to_uint8_rnint (unsigned char *pres,
1098 UINT64 *
1099 px _EXC_FLAGS_PARAM
1100 _EXC_MASKS_PARAM
1101 _EXC_INFO_PARAM);
1102 extern void bid64_to_uint8_xrnint (unsigned char *pres,
1103 UINT64 *
1104 px _EXC_FLAGS_PARAM
1105 _EXC_MASKS_PARAM
1106 _EXC_INFO_PARAM);
1107 extern void bid64_to_uint8_rninta (unsigned char *pres,
1108 UINT64 *
1109 px _EXC_FLAGS_PARAM
1110 _EXC_MASKS_PARAM
1111 _EXC_INFO_PARAM);
1112 extern void bid64_to_uint8_xrninta (unsigned char *pres,
1113 UINT64 *
1114 px _EXC_FLAGS_PARAM
1115 _EXC_MASKS_PARAM
1116 _EXC_INFO_PARAM);
1117 extern void bid64_to_uint8_int (unsigned char *pres,
1118 UINT64 *
1119 px _EXC_FLAGS_PARAM
1120 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1121 extern void bid64_to_uint8_xint (unsigned char *pres,
1122 UINT64 *
1123 px _EXC_FLAGS_PARAM
1124 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1125 extern void bid64_to_uint8_floor (unsigned char *pres,
1126 UINT64 *
1127 px _EXC_FLAGS_PARAM
1128 _EXC_MASKS_PARAM
1129 _EXC_INFO_PARAM);
1130 extern void bid64_to_uint8_xfloor (unsigned char *pres,
1131 UINT64 *
1132 px _EXC_FLAGS_PARAM
1133 _EXC_MASKS_PARAM
1134 _EXC_INFO_PARAM);
1135 extern void bid64_to_uint8_ceil (unsigned char *pres,
1136 UINT64 *
1137 px _EXC_FLAGS_PARAM
1138 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1139 extern void bid64_to_uint8_xceil (unsigned char *pres,
1140 UINT64 *
1141 px _EXC_FLAGS_PARAM
1142 _EXC_MASKS_PARAM
1143 _EXC_INFO_PARAM);
1144 extern void bid64_to_uint16_rnint (unsigned short *pres,
1145 UINT64 *
1146 px _EXC_FLAGS_PARAM
1147 _EXC_MASKS_PARAM
1148 _EXC_INFO_PARAM);
1149 extern void bid64_to_uint16_xrnint (unsigned short *pres,
1150 UINT64 *
1151 px _EXC_FLAGS_PARAM
1152 _EXC_MASKS_PARAM
1153 _EXC_INFO_PARAM);
1154 extern void bid64_to_uint16_rninta (unsigned short *pres,
1155 UINT64 *
1156 px _EXC_FLAGS_PARAM
1157 _EXC_MASKS_PARAM
1158 _EXC_INFO_PARAM);
1159 extern void bid64_to_uint16_xrninta (unsigned short *pres,
1160 UINT64 *
1161 px _EXC_FLAGS_PARAM
1162 _EXC_MASKS_PARAM
1163 _EXC_INFO_PARAM);
1164 extern void bid64_to_uint16_int (unsigned short *pres,
1165 UINT64 *
1166 px _EXC_FLAGS_PARAM
1167 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1168 extern void bid64_to_uint16_xint (unsigned short *pres,
1169 UINT64 *
1170 px _EXC_FLAGS_PARAM
1171 _EXC_MASKS_PARAM
1172 _EXC_INFO_PARAM);
1173 extern void bid64_to_uint16_floor (unsigned short *pres,
1174 UINT64 *
1175 px _EXC_FLAGS_PARAM
1176 _EXC_MASKS_PARAM
1177 _EXC_INFO_PARAM);
1178 extern void bid64_to_uint16_xfloor (unsigned short *pres,
1179 UINT64 *
1180 px _EXC_FLAGS_PARAM
1181 _EXC_MASKS_PARAM
1182 _EXC_INFO_PARAM);
1183 extern void bid64_to_uint16_ceil (unsigned short *pres,
1184 UINT64 *
1185 px _EXC_FLAGS_PARAM
1186 _EXC_MASKS_PARAM
1187 _EXC_INFO_PARAM);
1188 extern void bid64_to_uint16_xceil (unsigned short *pres,
1189 UINT64 *
1190 px _EXC_FLAGS_PARAM
1191 _EXC_MASKS_PARAM
1192 _EXC_INFO_PARAM);
1193 extern void bid64_to_uint32_rnint (unsigned int *pres,
1194 UINT64 *
1195 px _EXC_FLAGS_PARAM
1196 _EXC_MASKS_PARAM
1197 _EXC_INFO_PARAM);
1198 extern void bid64_to_uint32_xrnint (unsigned int *pres,
1199 UINT64 *
1200 px _EXC_FLAGS_PARAM
1201 _EXC_MASKS_PARAM
1202 _EXC_INFO_PARAM);
1203 extern void bid64_to_uint32_rninta (unsigned int *pres,
1204 UINT64 *
1205 px _EXC_FLAGS_PARAM
1206 _EXC_MASKS_PARAM
1207 _EXC_INFO_PARAM);
1208 extern void bid64_to_uint32_xrninta (unsigned int *pres,
1209 UINT64 *
1210 px _EXC_FLAGS_PARAM
1211 _EXC_MASKS_PARAM
1212 _EXC_INFO_PARAM);
1213 extern void bid64_to_uint32_int (unsigned int *pres,
1214 UINT64 *
1215 px _EXC_FLAGS_PARAM
1216 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1217 extern void bid64_to_uint32_xint (unsigned int *pres,
1218 UINT64 *
1219 px _EXC_FLAGS_PARAM
1220 _EXC_MASKS_PARAM
1221 _EXC_INFO_PARAM);
1222 extern void bid64_to_uint32_floor (unsigned int *pres,
1223 UINT64 *
1224 px _EXC_FLAGS_PARAM
1225 _EXC_MASKS_PARAM
1226 _EXC_INFO_PARAM);
1227 extern void bid64_to_uint32_xfloor (unsigned int *pres,
1228 UINT64 *
1229 px _EXC_FLAGS_PARAM
1230 _EXC_MASKS_PARAM
1231 _EXC_INFO_PARAM);
1232 extern void bid64_to_uint32_ceil (unsigned int *pres,
1233 UINT64 *
1234 px _EXC_FLAGS_PARAM
1235 _EXC_MASKS_PARAM
1236 _EXC_INFO_PARAM);
1237 extern void bid64_to_uint32_xceil (unsigned int *pres,
1238 UINT64 *
1239 px _EXC_FLAGS_PARAM
1240 _EXC_MASKS_PARAM
1241 _EXC_INFO_PARAM);
1242 extern void bid64_to_int64_rnint (SINT64 * pres,
1243 UINT64 *
1244 px _EXC_FLAGS_PARAM
1245 _EXC_MASKS_PARAM
1246 _EXC_INFO_PARAM);
1247 extern void bid64_to_int64_xrnint (SINT64 * pres,
1248 UINT64 *
1249 px _EXC_FLAGS_PARAM
1250 _EXC_MASKS_PARAM
1251 _EXC_INFO_PARAM);
1252 extern void bid64_to_int64_rninta (SINT64 * pres,
1253 UINT64 *
1254 px _EXC_FLAGS_PARAM
1255 _EXC_MASKS_PARAM
1256 _EXC_INFO_PARAM);
1257 extern void bid64_to_int64_xrninta (SINT64 * pres,
1258 UINT64 *
1259 px _EXC_FLAGS_PARAM
1260 _EXC_MASKS_PARAM
1261 _EXC_INFO_PARAM);
1262 extern void bid64_to_int64_int (SINT64 * pres,
1263 UINT64 *
1264 px _EXC_FLAGS_PARAM
1265 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1266 extern void bid64_to_int64_xint (SINT64 * pres,
1267 UINT64 *
1268 px _EXC_FLAGS_PARAM
1269 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1270 extern void bid64_to_int64_floor (SINT64 * pres,
1271 UINT64 *
1272 px _EXC_FLAGS_PARAM
1273 _EXC_MASKS_PARAM
1274 _EXC_INFO_PARAM);
1275 extern void bid64_to_int64_xfloor (SINT64 * pres,
1276 UINT64 *
1277 px _EXC_FLAGS_PARAM
1278 _EXC_MASKS_PARAM
1279 _EXC_INFO_PARAM);
1280 extern void bid64_to_int64_ceil (SINT64 * pres,
1281 UINT64 *
1282 px _EXC_FLAGS_PARAM
1283 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1284 extern void bid64_to_int64_xceil (SINT64 * pres,
1285 UINT64 *
1286 px _EXC_FLAGS_PARAM
1287 _EXC_MASKS_PARAM
1288 _EXC_INFO_PARAM);
1289 extern void bid64_to_uint64_rnint (UINT64 * pres,
1290 UINT64 *
1291 px _EXC_FLAGS_PARAM
1292 _EXC_MASKS_PARAM
1293 _EXC_INFO_PARAM);
1294 extern void bid64_to_uint64_xrnint (UINT64 * pres,
1295 UINT64 *
1296 px _EXC_FLAGS_PARAM
1297 _EXC_MASKS_PARAM
1298 _EXC_INFO_PARAM);
1299 extern void bid64_to_uint64_rninta (UINT64 * pres,
1300 UINT64 *
1301 px _EXC_FLAGS_PARAM
1302 _EXC_MASKS_PARAM
1303 _EXC_INFO_PARAM);
1304 extern void bid64_to_uint64_xrninta (UINT64 * pres,
1305 UINT64 *
1306 px _EXC_FLAGS_PARAM
1307 _EXC_MASKS_PARAM
1308 _EXC_INFO_PARAM);
1309 extern void bid64_to_uint64_int (UINT64 * pres,
1310 UINT64 *
1311 px _EXC_FLAGS_PARAM
1312 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1313 extern void bid64_to_uint64_xint (UINT64 * pres,
1314 UINT64 *
1315 px _EXC_FLAGS_PARAM
1316 _EXC_MASKS_PARAM
1317 _EXC_INFO_PARAM);
1318 extern void bid64_to_uint64_floor (UINT64 * pres,
1319 UINT64 *
1320 px _EXC_FLAGS_PARAM
1321 _EXC_MASKS_PARAM
1322 _EXC_INFO_PARAM);
1323 extern void bid64_to_uint64_xfloor (UINT64 * pres,
1324 UINT64 *
1325 px _EXC_FLAGS_PARAM
1326 _EXC_MASKS_PARAM
1327 _EXC_INFO_PARAM);
1328 extern void bid64_to_uint64_ceil (UINT64 * pres,
1329 UINT64 *
1330 px _EXC_FLAGS_PARAM
1331 _EXC_MASKS_PARAM
1332 _EXC_INFO_PARAM);
1333 extern void bid64_to_uint64_xceil (UINT64 * pres,
1334 UINT64 *
1335 px _EXC_FLAGS_PARAM
1336 _EXC_MASKS_PARAM
1337 _EXC_INFO_PARAM);
1338
1339 extern void bid64_quiet_equal (int *pres, UINT64 * px, UINT64 * py
1340 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1341 _EXC_INFO_PARAM);
1342 extern void bid64_quiet_greater (int *pres, UINT64 * px,
1343 UINT64 *
1344 py _EXC_FLAGS_PARAM
1345 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1346 extern void bid64_quiet_greater_equal (int *pres, UINT64 * px,
1347 UINT64 *
1348 py _EXC_FLAGS_PARAM
1349 _EXC_MASKS_PARAM
1350 _EXC_INFO_PARAM);
1351 extern void bid64_quiet_greater_unordered (int *pres, UINT64 * px,
1352 UINT64 *
1353 py _EXC_FLAGS_PARAM
1354 _EXC_MASKS_PARAM
1355 _EXC_INFO_PARAM);
1356 extern void bid64_quiet_less (int *pres, UINT64 * px,
1357 UINT64 *
1358 py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1359 _EXC_INFO_PARAM);
1360 extern void bid64_quiet_less_equal (int *pres, UINT64 * px,
1361 UINT64 *
1362 py _EXC_FLAGS_PARAM
1363 _EXC_MASKS_PARAM
1364 _EXC_INFO_PARAM);
1365 extern void bid64_quiet_less_unordered (int *pres, UINT64 * px,
1366 UINT64 *
1367 py _EXC_FLAGS_PARAM
1368 _EXC_MASKS_PARAM
1369 _EXC_INFO_PARAM);
1370 extern void bid64_quiet_not_equal (int *pres, UINT64 * px,
1371 UINT64 *
1372 py _EXC_FLAGS_PARAM
1373 _EXC_MASKS_PARAM
1374 _EXC_INFO_PARAM);
1375 extern void bid64_quiet_not_greater (int *pres, UINT64 * px,
1376 UINT64 *
1377 py _EXC_FLAGS_PARAM
1378 _EXC_MASKS_PARAM
1379 _EXC_INFO_PARAM);
1380 extern void bid64_quiet_not_less (int *pres, UINT64 * px,
1381 UINT64 *
1382 py _EXC_FLAGS_PARAM
1383 _EXC_MASKS_PARAM
1384 _EXC_INFO_PARAM);
1385 extern void bid64_quiet_ordered (int *pres, UINT64 * px,
1386 UINT64 *
1387 py _EXC_FLAGS_PARAM
1388 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1389 extern void bid64_quiet_unordered (int *pres, UINT64 * px,
1390 UINT64 *
1391 py _EXC_FLAGS_PARAM
1392 _EXC_MASKS_PARAM
1393 _EXC_INFO_PARAM);
1394 extern void bid64_signaling_greater (int *pres, UINT64 * px,
1395 UINT64 *
1396 py _EXC_FLAGS_PARAM
1397 _EXC_MASKS_PARAM
1398 _EXC_INFO_PARAM);
1399 extern void bid64_signaling_greater_equal (int *pres, UINT64 * px,
1400 UINT64 *
1401 py _EXC_FLAGS_PARAM
1402 _EXC_MASKS_PARAM
1403 _EXC_INFO_PARAM);
1404 extern void bid64_signaling_greater_unordered (int *pres,
1405 UINT64 * px,
1406 UINT64 *
1407 py _EXC_FLAGS_PARAM
1408 _EXC_MASKS_PARAM
1409 _EXC_INFO_PARAM);
1410 extern void bid64_signaling_less (int *pres, UINT64 * px,
1411 UINT64 *
1412 py _EXC_FLAGS_PARAM
1413 _EXC_MASKS_PARAM
1414 _EXC_INFO_PARAM);
1415 extern void bid64_signaling_less_equal (int *pres, UINT64 * px,
1416 UINT64 *
1417 py _EXC_FLAGS_PARAM
1418 _EXC_MASKS_PARAM
1419 _EXC_INFO_PARAM);
1420 extern void bid64_signaling_less_unordered (int *pres, UINT64 * px,
1421 UINT64 *
1422 py _EXC_FLAGS_PARAM
1423 _EXC_MASKS_PARAM
1424 _EXC_INFO_PARAM);
1425 extern void bid64_signaling_not_greater (int *pres, UINT64 * px,
1426 UINT64 *
1427 py _EXC_FLAGS_PARAM
1428 _EXC_MASKS_PARAM
1429 _EXC_INFO_PARAM);
1430 extern void bid64_signaling_not_less (int *pres, UINT64 * px,
1431 UINT64 *
1432 py _EXC_FLAGS_PARAM
1433 _EXC_MASKS_PARAM
1434 _EXC_INFO_PARAM);
1435
1436 extern void bid128_quiet_equal (int *pres, UINT128 * px,
1437 UINT128 *
1438 py _EXC_FLAGS_PARAM
1439 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1440 extern void bid128_quiet_greater (int *pres, UINT128 * px,
1441 UINT128 *
1442 py _EXC_FLAGS_PARAM
1443 _EXC_MASKS_PARAM
1444 _EXC_INFO_PARAM);
1445 extern void bid128_quiet_greater_equal (int *pres, UINT128 * px,
1446 UINT128 *
1447 py _EXC_FLAGS_PARAM
1448 _EXC_MASKS_PARAM
1449 _EXC_INFO_PARAM);
1450 extern void bid128_quiet_greater_unordered (int *pres,
1451 UINT128 * px,
1452 UINT128 *
1453 py _EXC_FLAGS_PARAM
1454 _EXC_MASKS_PARAM
1455 _EXC_INFO_PARAM);
1456 extern void bid128_quiet_less (int *pres, UINT128 * px,
1457 UINT128 *
1458 py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1459 _EXC_INFO_PARAM);
1460 extern void bid128_quiet_less_equal (int *pres, UINT128 * px,
1461 UINT128 *
1462 py _EXC_FLAGS_PARAM
1463 _EXC_MASKS_PARAM
1464 _EXC_INFO_PARAM);
1465 extern void bid128_quiet_less_unordered (int *pres, UINT128 * px,
1466 UINT128 *
1467 py _EXC_FLAGS_PARAM
1468 _EXC_MASKS_PARAM
1469 _EXC_INFO_PARAM);
1470 extern void bid128_quiet_not_equal (int *pres, UINT128 * px,
1471 UINT128 *
1472 py _EXC_FLAGS_PARAM
1473 _EXC_MASKS_PARAM
1474 _EXC_INFO_PARAM);
1475 extern void bid128_quiet_not_greater (int *pres, UINT128 * px,
1476 UINT128 *
1477 py _EXC_FLAGS_PARAM
1478 _EXC_MASKS_PARAM
1479 _EXC_INFO_PARAM);
1480 extern void bid128_quiet_not_less (int *pres, UINT128 * px,
1481 UINT128 *
1482 py _EXC_FLAGS_PARAM
1483 _EXC_MASKS_PARAM
1484 _EXC_INFO_PARAM);
1485 extern void bid128_quiet_ordered (int *pres, UINT128 * px,
1486 UINT128 *
1487 py _EXC_FLAGS_PARAM
1488 _EXC_MASKS_PARAM
1489 _EXC_INFO_PARAM);
1490 extern void bid128_quiet_unordered (int *pres, UINT128 * px,
1491 UINT128 *
1492 py _EXC_FLAGS_PARAM
1493 _EXC_MASKS_PARAM
1494 _EXC_INFO_PARAM);
1495 extern void bid128_signaling_greater (int *pres, UINT128 * px,
1496 UINT128 *
1497 py _EXC_FLAGS_PARAM
1498 _EXC_MASKS_PARAM
1499 _EXC_INFO_PARAM);
1500 extern void bid128_signaling_greater_equal (int *pres,
1501 UINT128 * px,
1502 UINT128 *
1503 py _EXC_FLAGS_PARAM
1504 _EXC_MASKS_PARAM
1505 _EXC_INFO_PARAM);
1506 extern void bid128_signaling_greater_unordered (int *pres,
1507 UINT128 * px,
1508 UINT128 *
1509 py _EXC_FLAGS_PARAM
1510 _EXC_MASKS_PARAM
1511 _EXC_INFO_PARAM);
1512 extern void bid128_signaling_less (int *pres, UINT128 * px,
1513 UINT128 *
1514 py _EXC_FLAGS_PARAM
1515 _EXC_MASKS_PARAM
1516 _EXC_INFO_PARAM);
1517 extern void bid128_signaling_less_equal (int *pres, UINT128 * px,
1518 UINT128 *
1519 py _EXC_FLAGS_PARAM
1520 _EXC_MASKS_PARAM
1521 _EXC_INFO_PARAM);
1522 extern void bid128_signaling_less_unordered (int *pres,
1523 UINT128 * px,
1524 UINT128 *
1525 py _EXC_FLAGS_PARAM
1526 _EXC_MASKS_PARAM
1527 _EXC_INFO_PARAM);
1528 extern void bid128_signaling_not_greater (int *pres, UINT128 * px,
1529 UINT128 *
1530 py _EXC_FLAGS_PARAM
1531 _EXC_MASKS_PARAM
1532 _EXC_INFO_PARAM);
1533 extern void bid128_signaling_not_less (int *pres, UINT128 * px,
1534 UINT128 *
1535 py _EXC_FLAGS_PARAM
1536 _EXC_MASKS_PARAM
1537 _EXC_INFO_PARAM);
1538
1539 extern void bid64_round_integral_exact (UINT64 * pres, UINT64 * px
1540 _RND_MODE_PARAM
1541 _EXC_FLAGS_PARAM
1542 _EXC_MASKS_PARAM
1543 _EXC_INFO_PARAM);
1544 extern void bid64_round_integral_nearest_even (UINT64 * pres,
1545 UINT64 *
1546 px _EXC_FLAGS_PARAM
1547 _EXC_MASKS_PARAM
1548 _EXC_INFO_PARAM);
1549 extern void bid64_round_integral_negative (UINT64 * pres,
1550 UINT64 *
1551 px _EXC_FLAGS_PARAM
1552 _EXC_MASKS_PARAM
1553 _EXC_INFO_PARAM);
1554 extern void bid64_round_integral_positive (UINT64 * pres,
1555 UINT64 *
1556 px _EXC_FLAGS_PARAM
1557 _EXC_MASKS_PARAM
1558 _EXC_INFO_PARAM);
1559 extern void bid64_round_integral_zero (UINT64 * pres,
1560 UINT64 *
1561 px _EXC_FLAGS_PARAM
1562 _EXC_MASKS_PARAM
1563 _EXC_INFO_PARAM);
1564 extern void bid64_round_integral_nearest_away (UINT64 * pres,
1565 UINT64 *
1566 px _EXC_FLAGS_PARAM
1567 _EXC_MASKS_PARAM
1568 _EXC_INFO_PARAM);
1569
1570 extern void bid128_round_integral_exact (UINT128 * pres,
1571 UINT128 *
1572 px _RND_MODE_PARAM
1573 _EXC_FLAGS_PARAM
1574 _EXC_MASKS_PARAM
1575 _EXC_INFO_PARAM);
1576 extern void bid128_round_integral_nearest_even (UINT128 * pres,
1577 UINT128 *
1578 px _EXC_FLAGS_PARAM
1579 _EXC_MASKS_PARAM
1580 _EXC_INFO_PARAM);
1581 extern void bid128_round_integral_negative (UINT128 * pres,
1582 UINT128 *
1583 px _EXC_FLAGS_PARAM
1584 _EXC_MASKS_PARAM
1585 _EXC_INFO_PARAM);
1586 extern void bid128_round_integral_positive (UINT128 * pres,
1587 UINT128 *
1588 px _EXC_FLAGS_PARAM
1589 _EXC_MASKS_PARAM
1590 _EXC_INFO_PARAM);
1591 extern void bid128_round_integral_zero (UINT128 * pres,
1592 UINT128 *
1593 px _EXC_FLAGS_PARAM
1594 _EXC_MASKS_PARAM
1595 _EXC_INFO_PARAM);
1596 extern void bid128_round_integral_nearest_away (UINT128 * pres,
1597 UINT128 *
1598 px _EXC_FLAGS_PARAM
1599 _EXC_MASKS_PARAM
1600 _EXC_INFO_PARAM);
1601
1602 extern void bid64_nextup (UINT64 * pres, UINT64 * px
1603 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1604 _EXC_INFO_PARAM);
1605 extern void bid64_nextdown (UINT64 * pres,
1606 UINT64 *
1607 px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1608 _EXC_INFO_PARAM);
1609 extern void bid64_nextafter (UINT64 * pres, UINT64 * px,
1610 UINT64 *
1611 py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1612 _EXC_INFO_PARAM);
1613
1614 extern void bid128_nextup (UINT128 * pres, UINT128 * px
1615 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1616 _EXC_INFO_PARAM);
1617 extern void bid128_nextdown (UINT128 * pres,
1618 UINT128 *
1619 px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1620 _EXC_INFO_PARAM);
1621 extern void bid128_nextafter (UINT128 * pres, UINT128 * px,
1622 UINT128 *
1623 py _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1624 _EXC_INFO_PARAM);
1625
1626 extern void bid64_minnum (UINT64 * pres, UINT64 * px, UINT64 * py
1627 _EXC_FLAGS_PARAM);
1628 extern void bid64_minnum_mag (UINT64 * pres, UINT64 * px,
1629 UINT64 * py _EXC_FLAGS_PARAM);
1630 extern void bid64_maxnum (UINT64 * pres, UINT64 * px, UINT64 * py
1631 _EXC_FLAGS_PARAM);
1632 extern void bid64_maxnum_mag (UINT64 * pres, UINT64 * px,
1633 UINT64 * py _EXC_FLAGS_PARAM);
1634
1635 extern void bid128_minnum (UINT128 * pres, UINT128 * px,
1636 UINT128 * py _EXC_FLAGS_PARAM);
1637 extern void bid128_minnum_mag (UINT128 * pres, UINT128 * px,
1638 UINT128 * py _EXC_FLAGS_PARAM);
1639 extern void bid128_maxnum (UINT128 * pres, UINT128 * px,
1640 UINT128 * py _EXC_FLAGS_PARAM);
1641 extern void bid128_maxnum_mag (UINT128 * pres, UINT128 * px,
1642 UINT128 * py _EXC_FLAGS_PARAM);
1643
1644 extern void bid64_from_int32 (UINT64 * pres, int *px
1645 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1646 extern void bid64_from_uint32 (UINT64 * pres, unsigned int *px
1647 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1648 extern void bid64_from_int64 (UINT64 * pres, SINT64 * px
1649 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1650 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1651 extern void bid64_from_uint64 (UINT64 * pres,
1652 UINT64 *
1653 px _RND_MODE_PARAM _EXC_FLAGS_PARAM
1654 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1655 extern void bid128_from_int32 (UINT128 * pres,
1656 int *px _EXC_MASKS_PARAM
1657 _EXC_INFO_PARAM);
1658 extern void bid128_from_uint32 (UINT128 * pres,
1659 unsigned int *px _EXC_MASKS_PARAM
1660 _EXC_INFO_PARAM);
1661 extern void bid128_from_int64 (UINT128 * pres,
1662 SINT64 *
1663 px _EXC_MASKS_PARAM
1664 _EXC_INFO_PARAM);
1665 extern void bid128_from_uint64 (UINT128 * pres,
1666 UINT64 *
1667 px _EXC_MASKS_PARAM
1668 _EXC_INFO_PARAM);
1669
1670 extern void bid64_isSigned (int *pres, UINT64 * px
1671 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1672 extern void bid64_isNormal (int *pres, UINT64 * px
1673 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1674 extern void bid64_isSubnormal (int *pres, UINT64 * px
1675 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1676 extern void bid64_isFinite (int *pres, UINT64 * px
1677 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1678 extern void bid64_isZero (int *pres, UINT64 * px
1679 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1680 extern void bid64_isInf (int *pres, UINT64 * px
1681 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1682 extern void bid64_isSignaling (int *pres, UINT64 * px
1683 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1684 extern void bid64_isCanonical (int *pres, UINT64 * px
1685 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1686 extern void bid64_isNaN (int *pres, UINT64 * px
1687 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1688 extern void bid64_copy (UINT64 * pres, UINT64 * px
1689 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1690 extern void bid64_negate (UINT64 * pres, UINT64 * px
1691 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1692 extern void bid64_abs (UINT64 * pres, UINT64 * px
1693 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1694 extern void bid64_copySign (UINT64 * pres, UINT64 * px, UINT64 * py
1695 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1696 extern void bid64_class (int *pres, UINT64 * px
1697 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1698 extern void bid64_sameQuantum (int *pres, UINT64 * px, UINT64 * py
1699 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1700 extern void bid64_totalOrder (int *pres, UINT64 * px, UINT64 * py
1701 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1702 extern void bid64_totalOrderMag (int *pres, UINT64 * px,
1703 UINT64 *
1704 py _EXC_MASKS_PARAM
1705 _EXC_INFO_PARAM);
1706 extern void bid64_radix (int *pres,
1707 UINT64 *
1708 px _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1709
1710 extern void bid128_isSigned (int *pres, UINT128 * px
1711 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1712 extern void bid128_isNormal (int *pres, UINT128 * px
1713 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1714 extern void bid128_isSubnormal (int *pres, UINT128 * px
1715 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1716 extern void bid128_isFinite (int *pres, UINT128 * px
1717 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1718 extern void bid128_isZero (int *pres, UINT128 * px
1719 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1720 extern void bid128_isInf (int *pres, UINT128 * px
1721 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1722 extern void bid128_isSignaling (int *pres, UINT128 * px
1723 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1724 extern void bid128_isCanonical (int *pres, UINT128 * px
1725 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1726 extern void bid128_isNaN (int *pres, UINT128 * px
1727 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1728 extern void bid128_copy (UINT128 * pres, UINT128 * px
1729 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1730 extern void bid128_negate (UINT128 * pres, UINT128 * px
1731 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1732 extern void bid128_abs (UINT128 * pres, UINT128 * px
1733 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1734 extern void bid128_copySign (UINT128 * pres, UINT128 * px,
1735 UINT128 *
1736 py _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1737 extern void bid128_class (int *pres,
1738 UINT128 *
1739 px _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1740 extern void bid128_sameQuantum (int *pres, UINT128 * px,
1741 UINT128 *
1742 py _EXC_MASKS_PARAM
1743 _EXC_INFO_PARAM);
1744 extern void bid128_totalOrder (int *pres, UINT128 * px,
1745 UINT128 *
1746 py _EXC_MASKS_PARAM
1747 _EXC_INFO_PARAM);
1748 extern void bid128_totalOrderMag (int *pres, UINT128 * px,
1749 UINT128 *
1750 py _EXC_MASKS_PARAM
1751 _EXC_INFO_PARAM);
1752 extern void bid128_radix (int *pres,
1753 UINT128 *
1754 px _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1755
1756 extern void bid64_rem (UINT64 * pres, UINT64 * px, UINT64 * py
1757 _EXC_FLAGS_PARAM
1758 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1759 extern void bid64_logb (int * pres, UINT64 * px
1760 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1761 _EXC_INFO_PARAM);
1762 extern void bid64_scalb (UINT64 * pres, UINT64 * px,
1763 int *pn _RND_MODE_PARAM _EXC_FLAGS_PARAM
1764 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1765
1766 extern void bid128_rem (UINT128 * pres, UINT128 * px, UINT128 * py
1767 _EXC_FLAGS_PARAM
1768 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1769 extern void bid128_logb (int * pres, UINT128 * px
1770 _EXC_FLAGS_PARAM
1771 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1772 extern void bid128_scalb (UINT128 * pres, UINT128 * px,
1773 int *pn _RND_MODE_PARAM _EXC_FLAGS_PARAM
1774 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1775
1776 extern void bid32_to_bid64 (UINT64 * pres,
1777 UINT32 *
1778 px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1779 _EXC_INFO_PARAM);
1780 extern void bid32_to_bid128 (UINT128 * pres,
1781 UINT32 *
1782 px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1783 _EXC_INFO_PARAM);
1784 extern void bid64_to_bid128 (UINT128 * pres,
1785 UINT64 *
1786 px _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1787 _EXC_INFO_PARAM);
1788 extern void bid64_to_bid32 (UINT32 * pres,
1789 UINT64 *
1790 px _RND_MODE_PARAM _EXC_FLAGS_PARAM
1791 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1792 extern void bid128_to_bid32 (UINT32 * pres,
1793 UINT128 *
1794 px _RND_MODE_PARAM _EXC_FLAGS_PARAM
1795 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1796 extern void bid128_to_bid64 (UINT64 * pres,
1797 UINT128 *
1798 px _RND_MODE_PARAM _EXC_FLAGS_PARAM
1799 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1800
1801 extern void bid64_from_string (UINT64 * pres, char *ps
1802 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1803 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1804 extern void bid64_to_string (char *ps, UINT64 * px
1805 _EXC_FLAGS_PARAM
1806 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1807 extern void bid128_from_string (UINT128 * pres, char *ps
1808 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1809 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1810 extern void bid128_to_string (char *str, UINT128 * px
1811 _EXC_FLAGS_PARAM
1812 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1813
1814 extern void bid64_quantize (UINT64 * pres, UINT64 * px,
1815 UINT64 *
1816 py _RND_MODE_PARAM _EXC_FLAGS_PARAM
1817 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1818
1819 extern void bid128_quantize (UINT128 * pres, UINT128 * px,
1820 UINT128 *
1821 py _RND_MODE_PARAM _EXC_FLAGS_PARAM
1822 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1823
1824 extern void bid128_to_binary32 (float *pres, UINT128 * px
1825 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1826 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1827
1828 extern void bid128_to_binary64 (double *pres, UINT128 * px
1829 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1830 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1831
1832 extern void bid128_to_binary80 (BINARY80 * pres, UINT128 * px
1833 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1834 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1835
1836 extern void bid128_to_binary128 (BINARY128 * pres, UINT128 * px
1837 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1838 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1839
1840 extern void binary128_to_bid32 (UINT32 * pres, BINARY128 * px
1841 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1842 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1843
1844 extern void binary128_to_bid64 (UINT64 * pres, BINARY128 * px
1845 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1846 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1847
1848 extern void binary128_to_bid128 (UINT128 * pres, BINARY128 * px
1849 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1850 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1851
1852 extern void bid64_to_binary32 (float *pres, UINT64 * px
1853 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1854 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1855
1856 extern void bid64_to_binary64 (double *pres, UINT64 * px
1857 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1858 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1859
1860 extern void bid64_to_binary80 (BINARY80 * pres, UINT64 * px
1861 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1862 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1863
1864 extern void bid64_to_binary128 (BINARY128 * pres, UINT64 * px
1865 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1866 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1867
1868 extern void binary64_to_bid32 (UINT32 * pres, double *px
1869 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1870 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1871
1872 extern void binary64_to_bid64 (UINT64 * pres, double *px
1873 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1874 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1875
1876 extern void binary64_to_bid128 (UINT128 * pres, double *px
1877 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1878 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1879
1880 extern void bid32_to_binary32 (float *pres, UINT32 * px
1881 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1882 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1883
1884 extern void bid32_to_binary64 (double *pres, UINT32 * px
1885 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1886 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1887
1888 extern void bid32_to_binary80 (BINARY80 * pres, UINT32 * px
1889 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1890 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1891
1892 extern void bid32_to_binary128 (BINARY128 * pres, UINT32 * px
1893 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1894 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1895
1896 extern void binary32_to_bid32 (UINT32 * pres, float *px
1897 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1898 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1899
1900 extern void binary32_to_bid64 (UINT64 * pres, float *px
1901 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1902 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1903
1904 extern void binary32_to_bid128 (UINT128 * pres, float *px
1905 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1906 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1907
1908 extern void binary80_to_bid32 (UINT32 * pres, BINARY80 * px
1909 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1910 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1911
1912 extern void binary80_to_bid64 (UINT64 * pres, BINARY80 * px
1913 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1914 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1915
1916 extern void binary80_to_bid128 (UINT128 * pres, BINARY80 * px
1917 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1918 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1919
1920 extern void is754 (int *retval);
1921
1922 extern void is754R (int *retval);
1923
1924 extern void signalException (_IDEC_flags *
1925 pflagsmask _EXC_FLAGS_PARAM);
1926
1927 extern void lowerFlags (_IDEC_flags * pflagsmask _EXC_FLAGS_PARAM);
1928
1929 extern void testFlags (_IDEC_flags * praised,
1930 _IDEC_flags * pflagsmask _EXC_FLAGS_PARAM);
1931
1932 extern void testSavedFlags (_IDEC_flags * praised,
1933 _IDEC_flags * psavedflags,
1934 _IDEC_flags * pflagsmask);
1935
1936 extern void restoreFlags (_IDEC_flags * pflagsvalues,
1937 _IDEC_flags *
1938 pflagsmask _EXC_FLAGS_PARAM);
1939
1940 extern void saveFlags (_IDEC_flags * pflagsvalues,
1941 _IDEC_flags * pflagsmask _EXC_FLAGS_PARAM);
1942
1943 void getDecimalRoundingDirection (_IDEC_round *
1944 rounding_mode _RND_MODE_PARAM);
1945
1946 void setDecimalRoundingDirection (_IDEC_round *
1947 rounding_mode _RND_MODE_PARAM);
1948
1949 #else
1950
1951 extern UINT32 bid_to_dpd32 (UINT32 px);
1952 extern UINT64 bid_to_dpd64 (UINT64 px);
1953 extern UINT128 bid_to_dpd128 (UINT128 px);
1954 extern UINT32 dpd_to_bid32 (UINT32 px);
1955 extern UINT64 dpd_to_bid64 (UINT64 px);
1956 extern UINT128 dpd_to_bid128 (UINT128 px);
1957
1958 extern UINT128 bid128dd_add (UINT64 x, UINT64 y
1959 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1960 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1961 extern UINT128 bid128dq_add (UINT64 x, UINT128 y
1962 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1963 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1964 extern UINT128 bid128qd_add (UINT128 x, UINT64 y
1965 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1966 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1967 extern UINT128 bid128_add (UINT128 x, UINT128 y
1968 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1969 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1970 extern UINT128 bid128dd_sub (UINT64 x, UINT64 y
1971 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1972 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1973 extern UINT128 bid128dq_sub (UINT64 x, UINT128 y
1974 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1975 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1976 extern UINT128 bid128qd_sub (UINT128 x, UINT64 y
1977 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1978 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1979 extern UINT128 bid128_sub (UINT128 x,
1980 UINT128 y _RND_MODE_PARAM
1981 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1982 _EXC_INFO_PARAM);
1983 extern UINT128 bid128dd_mul (UINT64 x, UINT64 y
1984 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1985 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1986 extern UINT128 bid128dq_mul (UINT64 x, UINT128 y
1987 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1988 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1989 extern UINT128 bid128qd_mul (UINT128 x, UINT64 y
1990 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1991 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1992 extern UINT128 bid128_mul (UINT128 x, UINT128 y
1993 _RND_MODE_PARAM _EXC_FLAGS_PARAM
1994 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
1995 extern UINT128 bid128_div (UINT128 x,
1996 UINT128 y _RND_MODE_PARAM
1997 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
1998 _EXC_INFO_PARAM);
1999 extern UINT128 bid128dd_div (UINT64 x, UINT64 y
2000 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2001 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2002 extern UINT128 bid128dq_div (UINT64 x, UINT128 y
2003 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2004 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2005 extern UINT128 bid128qd_div (UINT128 x, UINT64 y
2006 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2007 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2008 extern UINT128 bid128_fma (UINT128 x, UINT128 y, UINT128 z
2009 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2010 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2011 extern UINT128 bid128ddd_fma (UINT64 x, UINT64 y, UINT64 z
2012 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2013 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2014 extern UINT128 bid128ddq_fma (UINT64 x, UINT64 y, UINT128 z
2015 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2016 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2017 extern UINT128 bid128dqd_fma (UINT64 x, UINT128 y, UINT64 z
2018 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2019 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2020 extern UINT128 bid128dqq_fma (UINT64 x, UINT128 y,
2021 UINT128 z
2022 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2023 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2024 extern UINT128 bid128qdd_fma (UINT128 x, UINT64 y, UINT64 z
2025 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2026 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2027 extern UINT128 bid128qdq_fma (UINT128 x, UINT64 y,
2028 UINT128 z
2029 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2030 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2031 extern UINT128 bid128qqd_fma (UINT128 x, UINT128 y,
2032 UINT64 z
2033 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2034 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2035 // Note: bid128qqq_fma is represented by bid128_fma
2036 // Note: bid64ddd_fma is represented by bid64_fma
2037 extern UINT64 bid64ddq_fma (UINT64 x, UINT64 y,
2038 UINT128 z
2039 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2040 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2041 extern UINT64 bid64dqd_fma (UINT64 x, UINT128 y,
2042 UINT64 z
2043 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2044 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2045 extern UINT64 bid64dqq_fma (UINT64 x, UINT128 y,
2046 UINT128 z
2047 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2048 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2049 extern UINT64 bid64qdd_fma (UINT128 x, UINT64 y,
2050 UINT64 z
2051 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2052 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2053 extern UINT64 bid64qdq_fma (UINT128 x, UINT64 y,
2054 UINT128 z
2055 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2056 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2057 extern UINT64 bid64qqd_fma (UINT128 x, UINT128 y,
2058 UINT64 z
2059 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2060 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2061 extern UINT64 bid64qqq_fma (UINT128 x, UINT128 y,
2062 UINT128 z
2063 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2064 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2065
2066 extern UINT128 bid128_sqrt (UINT128 x _RND_MODE_PARAM
2067 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2068 _EXC_INFO_PARAM);
2069 extern UINT128 bid128d_sqrt (UINT64 x
2070 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2071 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2072
2073 extern UINT64 bid64_add (UINT64 x, UINT64 y
2074 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2075 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2076 extern UINT64 bid64dq_add (UINT64 x, UINT128 y
2077 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2078 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2079 extern UINT64 bid64qd_add (UINT128 x, UINT64 y
2080 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2081 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2082 extern UINT64 bid64qq_add (UINT128 x, UINT128 y
2083 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2084 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2085 extern UINT64 bid64_sub (UINT64 x,
2086 UINT64 y _RND_MODE_PARAM
2087 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2088 _EXC_INFO_PARAM);
2089 extern UINT64 bid64dq_sub (UINT64 x, UINT128 y
2090 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2091 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2092 extern UINT64 bid64qd_sub (UINT128 x, UINT64 y
2093 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2094 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2095 extern UINT64 bid64qq_sub (UINT128 x, UINT128 y
2096 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2097 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2098 extern UINT64 bid64_mul (UINT64 x, UINT64 y
2099 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2100 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2101 extern UINT64 bid64dq_mul (UINT64 x, UINT128 y
2102 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2103 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2104 extern UINT64 bid64qd_mul (UINT128 x, UINT64 y
2105 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2106 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2107 extern UINT64 bid64qq_mul (UINT128 x, UINT128 y
2108 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2109 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2110 extern UINT64 bid64_div (UINT64 x,
2111 UINT64 y _RND_MODE_PARAM
2112 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2113 _EXC_INFO_PARAM);
2114 extern UINT64 bid64dq_div (UINT64 x, UINT128 y
2115 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2116 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2117 extern UINT64 bid64qd_div (UINT128 x, UINT64 y
2118 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2119 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2120 extern UINT64 bid64qq_div (UINT128 x, UINT128 y
2121 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2122 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2123 extern UINT64 bid64_fma (UINT64 x, UINT64 y,
2124 UINT64 z _RND_MODE_PARAM
2125 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2126 _EXC_INFO_PARAM);
2127 extern UINT64 bid64_sqrt (UINT64 x _RND_MODE_PARAM
2128 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2129 _EXC_INFO_PARAM);
2130 extern UINT64 bid64q_sqrt (UINT128 x
2131 _RND_MODE_PARAM _EXC_FLAGS_PARAM
2132 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2133
2134 extern char bid128_to_int8_rnint (UINT128 x
2135 _EXC_FLAGS_PARAM
2136 _EXC_MASKS_PARAM
2137 _EXC_INFO_PARAM);
2138 extern char bid128_to_int8_xrnint (UINT128 x
2139 _EXC_FLAGS_PARAM
2140 _EXC_MASKS_PARAM
2141 _EXC_INFO_PARAM);
2142 extern char bid128_to_int8_rninta (UINT128 x
2143 _EXC_FLAGS_PARAM
2144 _EXC_MASKS_PARAM
2145 _EXC_INFO_PARAM);
2146 extern char bid128_to_int8_xrninta (UINT128 x
2147 _EXC_FLAGS_PARAM
2148 _EXC_MASKS_PARAM
2149 _EXC_INFO_PARAM);
2150 extern char bid128_to_int8_int (UINT128 x _EXC_FLAGS_PARAM
2151 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2152 extern char bid128_to_int8_xint (UINT128 x _EXC_FLAGS_PARAM
2153 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2154 extern char bid128_to_int8_floor (UINT128 x
2155 _EXC_FLAGS_PARAM
2156 _EXC_MASKS_PARAM
2157 _EXC_INFO_PARAM);
2158 extern char bid128_to_int8_xfloor (UINT128 x
2159 _EXC_FLAGS_PARAM
2160 _EXC_MASKS_PARAM
2161 _EXC_INFO_PARAM);
2162 extern char bid128_to_int8_ceil (UINT128 x _EXC_FLAGS_PARAM
2163 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2164 extern char bid128_to_int8_xceil (UINT128 x
2165 _EXC_FLAGS_PARAM
2166 _EXC_MASKS_PARAM
2167 _EXC_INFO_PARAM);
2168 extern short bid128_to_int16_rnint (UINT128 x
2169 _EXC_FLAGS_PARAM
2170 _EXC_MASKS_PARAM
2171 _EXC_INFO_PARAM);
2172 extern short bid128_to_int16_xrnint (UINT128 x
2173 _EXC_FLAGS_PARAM
2174 _EXC_MASKS_PARAM
2175 _EXC_INFO_PARAM);
2176 extern short bid128_to_int16_rninta (UINT128 x
2177 _EXC_FLAGS_PARAM
2178 _EXC_MASKS_PARAM
2179 _EXC_INFO_PARAM);
2180 extern short bid128_to_int16_xrninta (UINT128 x
2181 _EXC_FLAGS_PARAM
2182 _EXC_MASKS_PARAM
2183 _EXC_INFO_PARAM);
2184 extern short bid128_to_int16_int (UINT128 x _EXC_FLAGS_PARAM
2185 _EXC_MASKS_PARAM
2186 _EXC_INFO_PARAM);
2187 extern short bid128_to_int16_xint (UINT128 x _EXC_FLAGS_PARAM
2188 _EXC_MASKS_PARAM
2189 _EXC_INFO_PARAM);
2190 extern short bid128_to_int16_floor (UINT128 x
2191 _EXC_FLAGS_PARAM
2192 _EXC_MASKS_PARAM
2193 _EXC_INFO_PARAM);
2194 extern short bid128_to_int16_xfloor (UINT128 x
2195 _EXC_FLAGS_PARAM
2196 _EXC_MASKS_PARAM
2197 _EXC_INFO_PARAM);
2198 extern short bid128_to_int16_ceil (UINT128 x _EXC_FLAGS_PARAM
2199 _EXC_MASKS_PARAM
2200 _EXC_INFO_PARAM);
2201 extern short bid128_to_int16_xceil (UINT128 x
2202 _EXC_FLAGS_PARAM
2203 _EXC_MASKS_PARAM
2204 _EXC_INFO_PARAM);
2205 extern unsigned char bid128_to_uint8_rnint (UINT128 x
2206 _EXC_FLAGS_PARAM
2207 _EXC_MASKS_PARAM
2208 _EXC_INFO_PARAM);
2209 extern unsigned char bid128_to_uint8_xrnint (UINT128 x
2210 _EXC_FLAGS_PARAM
2211 _EXC_MASKS_PARAM
2212 _EXC_INFO_PARAM);
2213 extern unsigned char bid128_to_uint8_rninta (UINT128 x
2214 _EXC_FLAGS_PARAM
2215 _EXC_MASKS_PARAM
2216 _EXC_INFO_PARAM);
2217 extern unsigned char bid128_to_uint8_xrninta (UINT128 x
2218 _EXC_FLAGS_PARAM
2219 _EXC_MASKS_PARAM
2220 _EXC_INFO_PARAM);
2221 extern unsigned char bid128_to_uint8_int (UINT128 x
2222 _EXC_FLAGS_PARAM
2223 _EXC_MASKS_PARAM
2224 _EXC_INFO_PARAM);
2225 extern unsigned char bid128_to_uint8_xint (UINT128 x
2226 _EXC_FLAGS_PARAM
2227 _EXC_MASKS_PARAM
2228 _EXC_INFO_PARAM);
2229 extern unsigned char bid128_to_uint8_floor (UINT128 x
2230 _EXC_FLAGS_PARAM
2231 _EXC_MASKS_PARAM
2232 _EXC_INFO_PARAM);
2233 extern unsigned char bid128_to_uint8_xfloor (UINT128 x
2234 _EXC_FLAGS_PARAM
2235 _EXC_MASKS_PARAM
2236 _EXC_INFO_PARAM);
2237 extern unsigned char bid128_to_uint8_ceil (UINT128 x
2238 _EXC_FLAGS_PARAM
2239 _EXC_MASKS_PARAM
2240 _EXC_INFO_PARAM);
2241 extern unsigned char bid128_to_uint8_xceil (UINT128 x
2242 _EXC_FLAGS_PARAM
2243 _EXC_MASKS_PARAM
2244 _EXC_INFO_PARAM);
2245 extern unsigned short bid128_to_uint16_rnint (UINT128 x
2246 _EXC_FLAGS_PARAM
2247 _EXC_MASKS_PARAM
2248 _EXC_INFO_PARAM);
2249 extern unsigned short bid128_to_uint16_xrnint (UINT128 x
2250 _EXC_FLAGS_PARAM
2251 _EXC_MASKS_PARAM
2252 _EXC_INFO_PARAM);
2253 extern unsigned short bid128_to_uint16_rninta (UINT128 x
2254 _EXC_FLAGS_PARAM
2255 _EXC_MASKS_PARAM
2256 _EXC_INFO_PARAM);
2257 extern unsigned short bid128_to_uint16_xrninta (UINT128 x
2258 _EXC_FLAGS_PARAM
2259 _EXC_MASKS_PARAM
2260 _EXC_INFO_PARAM);
2261 extern unsigned short bid128_to_uint16_int (UINT128 x
2262 _EXC_FLAGS_PARAM
2263 _EXC_MASKS_PARAM
2264 _EXC_INFO_PARAM);
2265 extern unsigned short bid128_to_uint16_xint (UINT128 x
2266 _EXC_FLAGS_PARAM
2267 _EXC_MASKS_PARAM
2268 _EXC_INFO_PARAM);
2269 extern unsigned short bid128_to_uint16_floor (UINT128 x
2270 _EXC_FLAGS_PARAM
2271 _EXC_MASKS_PARAM
2272 _EXC_INFO_PARAM);
2273 extern unsigned short bid128_to_uint16_xfloor (UINT128 x
2274 _EXC_FLAGS_PARAM
2275 _EXC_MASKS_PARAM
2276 _EXC_INFO_PARAM);
2277 extern unsigned short bid128_to_uint16_ceil (UINT128 x
2278 _EXC_FLAGS_PARAM
2279 _EXC_MASKS_PARAM
2280 _EXC_INFO_PARAM);
2281 extern unsigned short bid128_to_uint16_xceil (UINT128 x
2282 _EXC_FLAGS_PARAM
2283 _EXC_MASKS_PARAM
2284 _EXC_INFO_PARAM);
2285 extern int bid128_to_int32_rnint (UINT128 x _EXC_FLAGS_PARAM
2286 _EXC_MASKS_PARAM
2287 _EXC_INFO_PARAM);
2288 extern int bid128_to_int32_xrnint (UINT128 x _EXC_FLAGS_PARAM
2289 _EXC_MASKS_PARAM
2290 _EXC_INFO_PARAM);
2291 extern int bid128_to_int32_rninta (UINT128 x _EXC_FLAGS_PARAM
2292 _EXC_MASKS_PARAM
2293 _EXC_INFO_PARAM);
2294 extern int bid128_to_int32_xrninta (UINT128 x _EXC_FLAGS_PARAM
2295 _EXC_MASKS_PARAM
2296 _EXC_INFO_PARAM);
2297 extern int bid128_to_int32_int (UINT128 x _EXC_FLAGS_PARAM
2298 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2299 extern int bid128_to_int32_xint (UINT128 x _EXC_FLAGS_PARAM
2300 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2301 extern int bid128_to_int32_floor (UINT128 x _EXC_FLAGS_PARAM
2302 _EXC_MASKS_PARAM
2303 _EXC_INFO_PARAM);
2304 extern int bid128_to_int32_xfloor (UINT128 x _EXC_FLAGS_PARAM
2305 _EXC_MASKS_PARAM
2306 _EXC_INFO_PARAM);
2307 extern int bid128_to_int32_ceil (UINT128 x _EXC_FLAGS_PARAM
2308 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2309 extern int bid128_to_int32_xceil (UINT128 x _EXC_FLAGS_PARAM
2310 _EXC_MASKS_PARAM
2311 _EXC_INFO_PARAM);
2312 extern unsigned int bid128_to_uint32_rnint (UINT128 x
2313 _EXC_FLAGS_PARAM
2314 _EXC_MASKS_PARAM
2315 _EXC_INFO_PARAM);
2316 extern unsigned int bid128_to_uint32_xrnint (UINT128 x
2317 _EXC_FLAGS_PARAM
2318 _EXC_MASKS_PARAM
2319 _EXC_INFO_PARAM);
2320 extern unsigned int bid128_to_uint32_rninta (UINT128 x
2321 _EXC_FLAGS_PARAM
2322 _EXC_MASKS_PARAM
2323 _EXC_INFO_PARAM);
2324 extern unsigned int bid128_to_uint32_xrninta (UINT128 x
2325 _EXC_FLAGS_PARAM
2326 _EXC_MASKS_PARAM
2327 _EXC_INFO_PARAM);
2328 extern unsigned int bid128_to_uint32_int (UINT128 x
2329 _EXC_FLAGS_PARAM
2330 _EXC_MASKS_PARAM
2331 _EXC_INFO_PARAM);
2332 extern unsigned int bid128_to_uint32_xint (UINT128 x
2333 _EXC_FLAGS_PARAM
2334 _EXC_MASKS_PARAM
2335 _EXC_INFO_PARAM);
2336 extern unsigned int bid128_to_uint32_floor (UINT128 x
2337 _EXC_FLAGS_PARAM
2338 _EXC_MASKS_PARAM
2339 _EXC_INFO_PARAM);
2340 extern unsigned int bid128_to_uint32_xfloor (UINT128 x
2341 _EXC_FLAGS_PARAM
2342 _EXC_MASKS_PARAM
2343 _EXC_INFO_PARAM);
2344 extern unsigned int bid128_to_uint32_ceil (UINT128 x
2345 _EXC_FLAGS_PARAM
2346 _EXC_MASKS_PARAM
2347 _EXC_INFO_PARAM);
2348 extern unsigned int bid128_to_uint32_xceil (UINT128 x
2349 _EXC_FLAGS_PARAM
2350 _EXC_MASKS_PARAM
2351 _EXC_INFO_PARAM);
2352 extern SINT64 bid128_to_int64_rnint (UINT128 x _EXC_FLAGS_PARAM
2353 _EXC_MASKS_PARAM
2354 _EXC_INFO_PARAM);
2355 extern SINT64 bid128_to_int64_xrnint (UINT128 x _EXC_FLAGS_PARAM
2356 _EXC_MASKS_PARAM
2357 _EXC_INFO_PARAM);
2358 extern SINT64 bid128_to_int64_rninta (UINT128 x _EXC_FLAGS_PARAM
2359 _EXC_MASKS_PARAM
2360 _EXC_INFO_PARAM);
2361 extern SINT64 bid128_to_int64_xrninta (UINT128 x _EXC_FLAGS_PARAM
2362 _EXC_MASKS_PARAM
2363 _EXC_INFO_PARAM);
2364 extern SINT64 bid128_to_int64_int (UINT128 x _EXC_FLAGS_PARAM
2365 _EXC_MASKS_PARAM
2366 _EXC_INFO_PARAM);
2367 extern SINT64 bid128_to_int64_xint (UINT128 x _EXC_FLAGS_PARAM
2368 _EXC_MASKS_PARAM
2369 _EXC_INFO_PARAM);
2370 extern SINT64 bid128_to_int64_floor (UINT128 x _EXC_FLAGS_PARAM
2371 _EXC_MASKS_PARAM
2372 _EXC_INFO_PARAM);
2373 extern SINT64 bid128_to_int64_xfloor (UINT128 x _EXC_FLAGS_PARAM
2374 _EXC_MASKS_PARAM
2375 _EXC_INFO_PARAM);
2376 extern SINT64 bid128_to_int64_ceil (UINT128 x _EXC_FLAGS_PARAM
2377 _EXC_MASKS_PARAM
2378 _EXC_INFO_PARAM);
2379 extern SINT64 bid128_to_int64_xceil (UINT128 x _EXC_FLAGS_PARAM
2380 _EXC_MASKS_PARAM
2381 _EXC_INFO_PARAM);
2382 extern UINT64 bid128_to_uint64_rnint (UINT128 x _EXC_FLAGS_PARAM
2383 _EXC_MASKS_PARAM
2384 _EXC_INFO_PARAM);
2385 extern UINT64 bid128_to_uint64_xrnint (UINT128 x _EXC_FLAGS_PARAM
2386 _EXC_MASKS_PARAM
2387 _EXC_INFO_PARAM);
2388 extern UINT64 bid128_to_uint64_rninta (UINT128 x _EXC_FLAGS_PARAM
2389 _EXC_MASKS_PARAM
2390 _EXC_INFO_PARAM);
2391 extern UINT64 bid128_to_uint64_xrninta (UINT128 x _EXC_FLAGS_PARAM
2392 _EXC_MASKS_PARAM
2393 _EXC_INFO_PARAM);
2394 extern UINT64 bid128_to_uint64_int (UINT128 x _EXC_FLAGS_PARAM
2395 _EXC_MASKS_PARAM
2396 _EXC_INFO_PARAM);
2397 extern UINT64 bid128_to_uint64_xint (UINT128 x _EXC_FLAGS_PARAM
2398 _EXC_MASKS_PARAM
2399 _EXC_INFO_PARAM);
2400 extern UINT64 bid128_to_uint64_floor (UINT128 x _EXC_FLAGS_PARAM
2401 _EXC_MASKS_PARAM
2402 _EXC_INFO_PARAM);
2403 extern UINT64 bid128_to_uint64_xfloor (UINT128 x _EXC_FLAGS_PARAM
2404 _EXC_MASKS_PARAM
2405 _EXC_INFO_PARAM);
2406 extern UINT64 bid128_to_uint64_ceil (UINT128 x _EXC_FLAGS_PARAM
2407 _EXC_MASKS_PARAM
2408 _EXC_INFO_PARAM);
2409 extern UINT64 bid128_to_uint64_xceil (UINT128 x _EXC_FLAGS_PARAM
2410 _EXC_MASKS_PARAM
2411 _EXC_INFO_PARAM);
2412 extern int bid64_to_int32_rnint (UINT64 x _EXC_FLAGS_PARAM
2413 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2414 extern int bid64_to_int32_xrnint (UINT64 x _EXC_FLAGS_PARAM
2415 _EXC_MASKS_PARAM
2416 _EXC_INFO_PARAM);
2417 extern int bid64_to_int32_rninta (UINT64 x _EXC_FLAGS_PARAM
2418 _EXC_MASKS_PARAM
2419 _EXC_INFO_PARAM);
2420 extern int bid64_to_int32_xrninta (UINT64 x _EXC_FLAGS_PARAM
2421 _EXC_MASKS_PARAM
2422 _EXC_INFO_PARAM);
2423 extern int bid64_to_int32_int (UINT64 x _EXC_FLAGS_PARAM
2424 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2425 extern int bid64_to_int32_xint (UINT64 x _EXC_FLAGS_PARAM
2426 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2427 extern int bid64_to_int32_floor (UINT64 x _EXC_FLAGS_PARAM
2428 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2429 extern int bid64_to_int32_xfloor (UINT64 x _EXC_FLAGS_PARAM
2430 _EXC_MASKS_PARAM
2431 _EXC_INFO_PARAM);
2432 extern int bid64_to_int32_ceil (UINT64 x _EXC_FLAGS_PARAM
2433 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2434 extern int bid64_to_int32_xceil (UINT64 x _EXC_FLAGS_PARAM
2435 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2436 extern char bid64_to_int8_rnint (UINT64 x _EXC_FLAGS_PARAM
2437 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2438 extern char bid64_to_int8_xrnint (UINT64 x _EXC_FLAGS_PARAM
2439 _EXC_MASKS_PARAM
2440 _EXC_INFO_PARAM);
2441 extern char bid64_to_int8_rninta (UINT64 x _EXC_FLAGS_PARAM
2442 _EXC_MASKS_PARAM
2443 _EXC_INFO_PARAM);
2444 extern char bid64_to_int8_xrninta (UINT64 x _EXC_FLAGS_PARAM
2445 _EXC_MASKS_PARAM
2446 _EXC_INFO_PARAM);
2447 extern char bid64_to_int8_int (UINT64 x _EXC_FLAGS_PARAM
2448 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2449 extern char bid64_to_int8_xint (UINT64 x _EXC_FLAGS_PARAM
2450 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2451 extern char bid64_to_int8_floor (UINT64 x _EXC_FLAGS_PARAM
2452 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2453 extern char bid64_to_int8_xfloor (UINT64 x _EXC_FLAGS_PARAM
2454 _EXC_MASKS_PARAM
2455 _EXC_INFO_PARAM);
2456 extern char bid64_to_int8_ceil (UINT64 x _EXC_FLAGS_PARAM
2457 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2458 extern char bid64_to_int8_xceil (UINT64 x _EXC_FLAGS_PARAM
2459 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2460 extern short bid64_to_int16_rnint (UINT64 x _EXC_FLAGS_PARAM
2461 _EXC_MASKS_PARAM
2462 _EXC_INFO_PARAM);
2463 extern short bid64_to_int16_xrnint (UINT64 x _EXC_FLAGS_PARAM
2464 _EXC_MASKS_PARAM
2465 _EXC_INFO_PARAM);
2466 extern short bid64_to_int16_rninta (UINT64 x _EXC_FLAGS_PARAM
2467 _EXC_MASKS_PARAM
2468 _EXC_INFO_PARAM);
2469 extern short bid64_to_int16_xrninta (UINT64 x _EXC_FLAGS_PARAM
2470 _EXC_MASKS_PARAM
2471 _EXC_INFO_PARAM);
2472 extern short bid64_to_int16_int (UINT64 x _EXC_FLAGS_PARAM
2473 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2474 extern short bid64_to_int16_xint (UINT64 x _EXC_FLAGS_PARAM
2475 _EXC_MASKS_PARAM
2476 _EXC_INFO_PARAM);
2477 extern short bid64_to_int16_floor (UINT64 x _EXC_FLAGS_PARAM
2478 _EXC_MASKS_PARAM
2479 _EXC_INFO_PARAM);
2480 extern short bid64_to_int16_xfloor (UINT64 x _EXC_FLAGS_PARAM
2481 _EXC_MASKS_PARAM
2482 _EXC_INFO_PARAM);
2483 extern short bid64_to_int16_ceil (UINT64 x _EXC_FLAGS_PARAM
2484 _EXC_MASKS_PARAM
2485 _EXC_INFO_PARAM);
2486 extern short bid64_to_int16_xceil (UINT64 x _EXC_FLAGS_PARAM
2487 _EXC_MASKS_PARAM
2488 _EXC_INFO_PARAM);
2489 extern unsigned char bid64_to_uint8_rnint (UINT64 x
2490 _EXC_FLAGS_PARAM
2491 _EXC_MASKS_PARAM
2492 _EXC_INFO_PARAM);
2493 extern unsigned char bid64_to_uint8_xrnint (UINT64 x
2494 _EXC_FLAGS_PARAM
2495 _EXC_MASKS_PARAM
2496 _EXC_INFO_PARAM);
2497 extern unsigned char bid64_to_uint8_rninta (UINT64 x
2498 _EXC_FLAGS_PARAM
2499 _EXC_MASKS_PARAM
2500 _EXC_INFO_PARAM);
2501 extern unsigned char bid64_to_uint8_xrninta (UINT64 x
2502 _EXC_FLAGS_PARAM
2503 _EXC_MASKS_PARAM
2504 _EXC_INFO_PARAM);
2505 extern unsigned char bid64_to_uint8_int (UINT64 x _EXC_FLAGS_PARAM
2506 _EXC_MASKS_PARAM
2507 _EXC_INFO_PARAM);
2508 extern unsigned char bid64_to_uint8_xint (UINT64 x _EXC_FLAGS_PARAM
2509 _EXC_MASKS_PARAM
2510 _EXC_INFO_PARAM);
2511 extern unsigned char bid64_to_uint8_floor (UINT64 x
2512 _EXC_FLAGS_PARAM
2513 _EXC_MASKS_PARAM
2514 _EXC_INFO_PARAM);
2515 extern unsigned char bid64_to_uint8_xfloor (UINT64 x
2516 _EXC_FLAGS_PARAM
2517 _EXC_MASKS_PARAM
2518 _EXC_INFO_PARAM);
2519 extern unsigned char bid64_to_uint8_ceil (UINT64 x _EXC_FLAGS_PARAM
2520 _EXC_MASKS_PARAM
2521 _EXC_INFO_PARAM);
2522 extern unsigned char bid64_to_uint8_xceil (UINT64 x
2523 _EXC_FLAGS_PARAM
2524 _EXC_MASKS_PARAM
2525 _EXC_INFO_PARAM);
2526 extern unsigned short bid64_to_uint16_rnint (UINT64 x
2527 _EXC_FLAGS_PARAM
2528 _EXC_MASKS_PARAM
2529 _EXC_INFO_PARAM);
2530 extern unsigned short bid64_to_uint16_xrnint (UINT64 x
2531 _EXC_FLAGS_PARAM
2532 _EXC_MASKS_PARAM
2533 _EXC_INFO_PARAM);
2534 extern unsigned short bid64_to_uint16_rninta (UINT64 x
2535 _EXC_FLAGS_PARAM
2536 _EXC_MASKS_PARAM
2537 _EXC_INFO_PARAM);
2538 extern unsigned short bid64_to_uint16_xrninta (UINT64 x
2539 _EXC_FLAGS_PARAM
2540 _EXC_MASKS_PARAM
2541 _EXC_INFO_PARAM);
2542 extern unsigned short bid64_to_uint16_int (UINT64 x
2543 _EXC_FLAGS_PARAM
2544 _EXC_MASKS_PARAM
2545 _EXC_INFO_PARAM);
2546 extern unsigned short bid64_to_uint16_xint (UINT64 x
2547 _EXC_FLAGS_PARAM
2548 _EXC_MASKS_PARAM
2549 _EXC_INFO_PARAM);
2550 extern unsigned short bid64_to_uint16_floor (UINT64 x
2551 _EXC_FLAGS_PARAM
2552 _EXC_MASKS_PARAM
2553 _EXC_INFO_PARAM);
2554 extern unsigned short bid64_to_uint16_xfloor (UINT64 x
2555 _EXC_FLAGS_PARAM
2556 _EXC_MASKS_PARAM
2557 _EXC_INFO_PARAM);
2558 extern unsigned short bid64_to_uint16_ceil (UINT64 x
2559 _EXC_FLAGS_PARAM
2560 _EXC_MASKS_PARAM
2561 _EXC_INFO_PARAM);
2562 extern unsigned short bid64_to_uint16_xceil (UINT64 x
2563 _EXC_FLAGS_PARAM
2564 _EXC_MASKS_PARAM
2565 _EXC_INFO_PARAM);
2566 extern unsigned int bid64_to_uint32_rnint (UINT64 x
2567 _EXC_FLAGS_PARAM
2568 _EXC_MASKS_PARAM
2569 _EXC_INFO_PARAM);
2570 extern unsigned int bid64_to_uint32_xrnint (UINT64 x
2571 _EXC_FLAGS_PARAM
2572 _EXC_MASKS_PARAM
2573 _EXC_INFO_PARAM);
2574 extern unsigned int bid64_to_uint32_rninta (UINT64 x
2575 _EXC_FLAGS_PARAM
2576 _EXC_MASKS_PARAM
2577 _EXC_INFO_PARAM);
2578 extern unsigned int bid64_to_uint32_xrninta (UINT64 x
2579 _EXC_FLAGS_PARAM
2580 _EXC_MASKS_PARAM
2581 _EXC_INFO_PARAM);
2582 extern unsigned int bid64_to_uint32_int (UINT64 x _EXC_FLAGS_PARAM
2583 _EXC_MASKS_PARAM
2584 _EXC_INFO_PARAM);
2585 extern unsigned int bid64_to_uint32_xint (UINT64 x _EXC_FLAGS_PARAM
2586 _EXC_MASKS_PARAM
2587 _EXC_INFO_PARAM);
2588 extern unsigned int bid64_to_uint32_floor (UINT64 x
2589 _EXC_FLAGS_PARAM
2590 _EXC_MASKS_PARAM
2591 _EXC_INFO_PARAM);
2592 extern unsigned int bid64_to_uint32_xfloor (UINT64 x
2593 _EXC_FLAGS_PARAM
2594 _EXC_MASKS_PARAM
2595 _EXC_INFO_PARAM);
2596 extern unsigned int bid64_to_uint32_ceil (UINT64 x _EXC_FLAGS_PARAM
2597 _EXC_MASKS_PARAM
2598 _EXC_INFO_PARAM);
2599 extern unsigned int bid64_to_uint32_xceil (UINT64 x
2600 _EXC_FLAGS_PARAM
2601 _EXC_MASKS_PARAM
2602 _EXC_INFO_PARAM);
2603 extern SINT64 bid64_to_int64_rnint (UINT64 x _EXC_FLAGS_PARAM
2604 _EXC_MASKS_PARAM
2605 _EXC_INFO_PARAM);
2606 extern SINT64 bid64_to_int64_xrnint (UINT64 x _EXC_FLAGS_PARAM
2607 _EXC_MASKS_PARAM
2608 _EXC_INFO_PARAM);
2609 extern SINT64 bid64_to_int64_rninta (UINT64 x _EXC_FLAGS_PARAM
2610 _EXC_MASKS_PARAM
2611 _EXC_INFO_PARAM);
2612 extern SINT64 bid64_to_int64_xrninta (UINT64 x _EXC_FLAGS_PARAM
2613 _EXC_MASKS_PARAM
2614 _EXC_INFO_PARAM);
2615 extern SINT64 bid64_to_int64_int (UINT64 x _EXC_FLAGS_PARAM
2616 _EXC_MASKS_PARAM
2617 _EXC_INFO_PARAM);
2618 extern SINT64 bid64_to_int64_xint (UINT64 x _EXC_FLAGS_PARAM
2619 _EXC_MASKS_PARAM
2620 _EXC_INFO_PARAM);
2621 extern SINT64 bid64_to_int64_floor (UINT64 x _EXC_FLAGS_PARAM
2622 _EXC_MASKS_PARAM
2623 _EXC_INFO_PARAM);
2624 extern SINT64 bid64_to_int64_xfloor (UINT64 x _EXC_FLAGS_PARAM
2625 _EXC_MASKS_PARAM
2626 _EXC_INFO_PARAM);
2627 extern SINT64 bid64_to_int64_ceil (UINT64 x _EXC_FLAGS_PARAM
2628 _EXC_MASKS_PARAM
2629 _EXC_INFO_PARAM);
2630 extern SINT64 bid64_to_int64_xceil (UINT64 x _EXC_FLAGS_PARAM
2631 _EXC_MASKS_PARAM
2632 _EXC_INFO_PARAM);
2633 extern UINT64 bid64_to_uint64_rnint (UINT64 x _EXC_FLAGS_PARAM
2634 _EXC_MASKS_PARAM
2635 _EXC_INFO_PARAM);
2636 extern UINT64 bid64_to_uint64_xrnint (UINT64 x _EXC_FLAGS_PARAM
2637 _EXC_MASKS_PARAM
2638 _EXC_INFO_PARAM);
2639 extern UINT64 bid64_to_uint64_rninta (UINT64 x _EXC_FLAGS_PARAM
2640 _EXC_MASKS_PARAM
2641 _EXC_INFO_PARAM);
2642 extern UINT64 bid64_to_uint64_xrninta (UINT64 x _EXC_FLAGS_PARAM
2643 _EXC_MASKS_PARAM
2644 _EXC_INFO_PARAM);
2645 extern UINT64 bid64_to_uint64_int (UINT64 x _EXC_FLAGS_PARAM
2646 _EXC_MASKS_PARAM
2647 _EXC_INFO_PARAM);
2648 extern UINT64 bid64_to_uint64_xint (UINT64 x _EXC_FLAGS_PARAM
2649 _EXC_MASKS_PARAM
2650 _EXC_INFO_PARAM);
2651 extern UINT64 bid64_to_uint64_floor (UINT64 x _EXC_FLAGS_PARAM
2652 _EXC_MASKS_PARAM
2653 _EXC_INFO_PARAM);
2654 extern UINT64 bid64_to_uint64_xfloor (UINT64 x _EXC_FLAGS_PARAM
2655 _EXC_MASKS_PARAM
2656 _EXC_INFO_PARAM);
2657 extern UINT64 bid64_to_uint64_ceil (UINT64 x _EXC_FLAGS_PARAM
2658 _EXC_MASKS_PARAM
2659 _EXC_INFO_PARAM);
2660 extern UINT64 bid64_to_uint64_xceil (UINT64 x _EXC_FLAGS_PARAM
2661 _EXC_MASKS_PARAM
2662 _EXC_INFO_PARAM);
2663
2664 extern int bid64_quiet_equal (UINT64 x, UINT64 y
2665 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2666 _EXC_INFO_PARAM);
2667 extern int bid64_quiet_greater (UINT64 x,
2668 UINT64 y _EXC_FLAGS_PARAM
2669 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2670 extern int bid64_quiet_greater_equal (UINT64 x,
2671 UINT64 y _EXC_FLAGS_PARAM
2672 _EXC_MASKS_PARAM
2673 _EXC_INFO_PARAM);
2674 extern int bid64_quiet_greater_unordered (UINT64 x,
2675 UINT64 y _EXC_FLAGS_PARAM
2676 _EXC_MASKS_PARAM
2677 _EXC_INFO_PARAM);
2678 extern int bid64_quiet_less (UINT64 x,
2679 UINT64 y _EXC_FLAGS_PARAM
2680 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2681 extern int bid64_quiet_less_equal (UINT64 x,
2682 UINT64 y _EXC_FLAGS_PARAM
2683 _EXC_MASKS_PARAM
2684 _EXC_INFO_PARAM);
2685 extern int bid64_quiet_less_unordered (UINT64 x,
2686 UINT64 y _EXC_FLAGS_PARAM
2687 _EXC_MASKS_PARAM
2688 _EXC_INFO_PARAM);
2689 extern int bid64_quiet_not_equal (UINT64 x,
2690 UINT64 y _EXC_FLAGS_PARAM
2691 _EXC_MASKS_PARAM
2692 _EXC_INFO_PARAM);
2693 extern int bid64_quiet_not_greater (UINT64 x,
2694 UINT64 y _EXC_FLAGS_PARAM
2695 _EXC_MASKS_PARAM
2696 _EXC_INFO_PARAM);
2697 extern int bid64_quiet_not_less (UINT64 x,
2698 UINT64 y _EXC_FLAGS_PARAM
2699 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2700 extern int bid64_quiet_ordered (UINT64 x,
2701 UINT64 y _EXC_FLAGS_PARAM
2702 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2703 extern int bid64_quiet_unordered (UINT64 x,
2704 UINT64 y _EXC_FLAGS_PARAM
2705 _EXC_MASKS_PARAM
2706 _EXC_INFO_PARAM);
2707 extern int bid64_signaling_greater (UINT64 x,
2708 UINT64 y _EXC_FLAGS_PARAM
2709 _EXC_MASKS_PARAM
2710 _EXC_INFO_PARAM);
2711 extern int bid64_signaling_greater_equal (UINT64 x,
2712 UINT64 y _EXC_FLAGS_PARAM
2713 _EXC_MASKS_PARAM
2714 _EXC_INFO_PARAM);
2715 extern int bid64_signaling_greater_unordered (UINT64 x,
2716 UINT64 y
2717 _EXC_FLAGS_PARAM
2718 _EXC_MASKS_PARAM
2719 _EXC_INFO_PARAM);
2720 extern int bid64_signaling_less (UINT64 x,
2721 UINT64 y _EXC_FLAGS_PARAM
2722 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2723 extern int bid64_signaling_less_equal (UINT64 x,
2724 UINT64 y _EXC_FLAGS_PARAM
2725 _EXC_MASKS_PARAM
2726 _EXC_INFO_PARAM);
2727 extern int bid64_signaling_less_unordered (UINT64 x,
2728 UINT64 y
2729 _EXC_FLAGS_PARAM
2730 _EXC_MASKS_PARAM
2731 _EXC_INFO_PARAM);
2732 extern int bid64_signaling_not_greater (UINT64 x,
2733 UINT64 y _EXC_FLAGS_PARAM
2734 _EXC_MASKS_PARAM
2735 _EXC_INFO_PARAM);
2736 extern int bid64_signaling_not_less (UINT64 x,
2737 UINT64 y _EXC_FLAGS_PARAM
2738 _EXC_MASKS_PARAM
2739 _EXC_INFO_PARAM);
2740
2741 extern int bid128_quiet_equal (UINT128 x, UINT128 y
2742 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2743 _EXC_INFO_PARAM);
2744 extern int bid128_quiet_greater (UINT128 x,
2745 UINT128 y _EXC_FLAGS_PARAM
2746 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2747 extern int bid128_quiet_greater_equal (UINT128 x,
2748 UINT128 y _EXC_FLAGS_PARAM
2749 _EXC_MASKS_PARAM
2750 _EXC_INFO_PARAM);
2751 extern int bid128_quiet_greater_unordered (UINT128 x,
2752 UINT128 y
2753 _EXC_FLAGS_PARAM
2754 _EXC_MASKS_PARAM
2755 _EXC_INFO_PARAM);
2756 extern int bid128_quiet_less (UINT128 x,
2757 UINT128 y _EXC_FLAGS_PARAM
2758 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2759 extern int bid128_quiet_less_equal (UINT128 x,
2760 UINT128 y _EXC_FLAGS_PARAM
2761 _EXC_MASKS_PARAM
2762 _EXC_INFO_PARAM);
2763 extern int bid128_quiet_less_unordered (UINT128 x,
2764 UINT128 y _EXC_FLAGS_PARAM
2765 _EXC_MASKS_PARAM
2766 _EXC_INFO_PARAM);
2767 extern int bid128_quiet_not_equal (UINT128 x,
2768 UINT128 y _EXC_FLAGS_PARAM
2769 _EXC_MASKS_PARAM
2770 _EXC_INFO_PARAM);
2771 extern int bid128_quiet_not_greater (UINT128 x,
2772 UINT128 y _EXC_FLAGS_PARAM
2773 _EXC_MASKS_PARAM
2774 _EXC_INFO_PARAM);
2775 extern int bid128_quiet_not_less (UINT128 x,
2776 UINT128 y _EXC_FLAGS_PARAM
2777 _EXC_MASKS_PARAM
2778 _EXC_INFO_PARAM);
2779 extern int bid128_quiet_ordered (UINT128 x,
2780 UINT128 y _EXC_FLAGS_PARAM
2781 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2782 extern int bid128_quiet_unordered (UINT128 x,
2783 UINT128 y _EXC_FLAGS_PARAM
2784 _EXC_MASKS_PARAM
2785 _EXC_INFO_PARAM);
2786 extern int bid128_signaling_greater (UINT128 x,
2787 UINT128 y _EXC_FLAGS_PARAM
2788 _EXC_MASKS_PARAM
2789 _EXC_INFO_PARAM);
2790 extern int bid128_signaling_greater_equal (UINT128 x,
2791 UINT128 y
2792 _EXC_FLAGS_PARAM
2793 _EXC_MASKS_PARAM
2794 _EXC_INFO_PARAM);
2795 extern int bid128_signaling_greater_unordered (UINT128 x,
2796 UINT128 y
2797 _EXC_FLAGS_PARAM
2798 _EXC_MASKS_PARAM
2799 _EXC_INFO_PARAM);
2800 extern int bid128_signaling_less (UINT128 x,
2801 UINT128 y _EXC_FLAGS_PARAM
2802 _EXC_MASKS_PARAM
2803 _EXC_INFO_PARAM);
2804 extern int bid128_signaling_less_equal (UINT128 x,
2805 UINT128 y _EXC_FLAGS_PARAM
2806 _EXC_MASKS_PARAM
2807 _EXC_INFO_PARAM);
2808 extern int bid128_signaling_less_unordered (UINT128 x,
2809 UINT128 y
2810 _EXC_FLAGS_PARAM
2811 _EXC_MASKS_PARAM
2812 _EXC_INFO_PARAM);
2813 extern int bid128_signaling_not_greater (UINT128 x,
2814 UINT128 y _EXC_FLAGS_PARAM
2815 _EXC_MASKS_PARAM
2816 _EXC_INFO_PARAM);
2817 extern int bid128_signaling_not_less (UINT128 x,
2818 UINT128 y _EXC_FLAGS_PARAM
2819 _EXC_MASKS_PARAM
2820 _EXC_INFO_PARAM);
2821
2822 extern UINT64 bid64_round_integral_exact (UINT64 x
2823 _RND_MODE_PARAM
2824 _EXC_FLAGS_PARAM
2825 _EXC_MASKS_PARAM
2826 _EXC_INFO_PARAM);
2827 extern UINT64 bid64_round_integral_nearest_even (UINT64 x
2828 _EXC_FLAGS_PARAM
2829 _EXC_MASKS_PARAM
2830 _EXC_INFO_PARAM);
2831 extern UINT64 bid64_round_integral_negative (UINT64 x
2832 _EXC_FLAGS_PARAM
2833 _EXC_MASKS_PARAM
2834 _EXC_INFO_PARAM);
2835 extern UINT64 bid64_round_integral_positive (UINT64 x
2836 _EXC_FLAGS_PARAM
2837 _EXC_MASKS_PARAM
2838 _EXC_INFO_PARAM);
2839 extern UINT64 bid64_round_integral_zero (UINT64 x _EXC_FLAGS_PARAM
2840 _EXC_MASKS_PARAM
2841 _EXC_INFO_PARAM);
2842 extern UINT64 bid64_round_integral_nearest_away (UINT64 x
2843 _EXC_FLAGS_PARAM
2844 _EXC_MASKS_PARAM
2845 _EXC_INFO_PARAM);
2846
2847 extern UINT128 bid128_round_integral_exact (UINT128 x
2848 _RND_MODE_PARAM
2849 _EXC_FLAGS_PARAM
2850 _EXC_MASKS_PARAM
2851 _EXC_INFO_PARAM);
2852 extern UINT128 bid128_round_integral_nearest_even (UINT128 x
2853 _EXC_FLAGS_PARAM
2854 _EXC_MASKS_PARAM
2855 _EXC_INFO_PARAM);
2856 extern UINT128 bid128_round_integral_negative (UINT128 x
2857 _EXC_FLAGS_PARAM
2858 _EXC_MASKS_PARAM
2859 _EXC_INFO_PARAM);
2860 extern UINT128 bid128_round_integral_positive (UINT128 x
2861 _EXC_FLAGS_PARAM
2862 _EXC_MASKS_PARAM
2863 _EXC_INFO_PARAM);
2864 extern UINT128 bid128_round_integral_zero (UINT128 x
2865 _EXC_FLAGS_PARAM
2866 _EXC_MASKS_PARAM
2867 _EXC_INFO_PARAM);
2868 extern UINT128 bid128_round_integral_nearest_away (UINT128 x
2869 _EXC_FLAGS_PARAM
2870 _EXC_MASKS_PARAM
2871 _EXC_INFO_PARAM);
2872
2873 extern UINT64 bid64_nextup (UINT64 x
2874 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2875 _EXC_INFO_PARAM);
2876 extern UINT64 bid64_nextdown (UINT64 x _EXC_FLAGS_PARAM
2877 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2878 extern UINT64 bid64_nextafter (UINT64 x,
2879 UINT64 y _EXC_FLAGS_PARAM
2880 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2881
2882 extern UINT128 bid128_nextup (UINT128 x
2883 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2884 _EXC_INFO_PARAM);
2885 extern UINT128 bid128_nextdown (UINT128 x _EXC_FLAGS_PARAM
2886 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2887 extern UINT128 bid128_nextafter (UINT128 x,
2888 UINT128 y _EXC_FLAGS_PARAM
2889 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2890
2891 extern UINT64 bid64_minnum (UINT64 x, UINT64 y _EXC_FLAGS_PARAM);
2892 extern UINT64 bid64_minnum_mag (UINT64 x,
2893 UINT64 y _EXC_FLAGS_PARAM);
2894 extern UINT64 bid64_maxnum (UINT64 x, UINT64 y _EXC_FLAGS_PARAM);
2895 extern UINT64 bid64_maxnum_mag (UINT64 x,
2896 UINT64 y _EXC_FLAGS_PARAM);
2897
2898 extern UINT128 bid128_minnum (UINT128 x,
2899 UINT128 y _EXC_FLAGS_PARAM);
2900 extern UINT128 bid128_minnum_mag (UINT128 x,
2901 UINT128 y _EXC_FLAGS_PARAM);
2902 extern UINT128 bid128_maxnum (UINT128 x,
2903 UINT128 y _EXC_FLAGS_PARAM);
2904 extern UINT128 bid128_maxnum_mag (UINT128 x,
2905 UINT128 y _EXC_FLAGS_PARAM);
2906
2907 extern UINT64 bid64_from_int32 (int x _EXC_MASKS_PARAM
2908 _EXC_INFO_PARAM);
2909 extern UINT64 bid64_from_uint32 (unsigned int x _EXC_MASKS_PARAM
2910 _EXC_INFO_PARAM);
2911 extern UINT64 bid64_from_int64 (SINT64 x _RND_MODE_PARAM
2912 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2913 _EXC_INFO_PARAM);
2914 extern UINT64 bid64_from_uint64 (UINT64 _RND_MODE_PARAM
2915 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
2916 _EXC_INFO_PARAM);
2917 extern UINT128 bid128_from_int32 (int x _EXC_MASKS_PARAM
2918 _EXC_INFO_PARAM);
2919 extern UINT128 bid128_from_uint32 (unsigned int x _EXC_MASKS_PARAM
2920 _EXC_INFO_PARAM);
2921 extern UINT128 bid128_from_int64 (SINT64 x _EXC_MASKS_PARAM
2922 _EXC_INFO_PARAM);
2923 extern UINT128 bid128_from_uint64 (UINT64 x _EXC_MASKS_PARAM
2924 _EXC_INFO_PARAM);
2925
2926 extern int bid64_isSigned (UINT64 x _EXC_MASKS_PARAM
2927 _EXC_INFO_PARAM);
2928 extern int bid64_isNormal (UINT64 x _EXC_MASKS_PARAM
2929 _EXC_INFO_PARAM);
2930 extern int bid64_isSubnormal (UINT64 x _EXC_MASKS_PARAM
2931 _EXC_INFO_PARAM);
2932 extern int bid64_isFinite (UINT64 x _EXC_MASKS_PARAM
2933 _EXC_INFO_PARAM);
2934 extern int bid64_isZero (UINT64 x _EXC_MASKS_PARAM
2935 _EXC_INFO_PARAM);
2936 extern int bid64_isInf (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2937 extern int bid64_isSignaling (UINT64 x _EXC_MASKS_PARAM
2938 _EXC_INFO_PARAM);
2939 extern int bid64_isCanonical (UINT64 x _EXC_MASKS_PARAM
2940 _EXC_INFO_PARAM);
2941 extern int bid64_isNaN (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2942 extern UINT64 bid64_copy (UINT64 x _EXC_MASKS_PARAM
2943 _EXC_INFO_PARAM);
2944 extern UINT64 bid64_negate (UINT64 x _EXC_MASKS_PARAM
2945 _EXC_INFO_PARAM);
2946 extern UINT64 bid64_abs (UINT64 x _EXC_MASKS_PARAM
2947 _EXC_INFO_PARAM);
2948 extern UINT64 bid64_copySign (UINT64 x,
2949 UINT64 y _EXC_MASKS_PARAM
2950 _EXC_INFO_PARAM);
2951 extern int bid64_class (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2952 extern int bid64_sameQuantum (UINT64 x, UINT64 y
2953 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2954 extern int bid64_totalOrder (UINT64 x, UINT64 y
2955 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2956 extern int bid64_totalOrderMag (UINT64 x, UINT64 y
2957 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2958 extern int bid64_radix (UINT64 x _EXC_MASKS_PARAM _EXC_INFO_PARAM);
2959
2960 extern int bid128_isSigned (UINT128 x _EXC_MASKS_PARAM
2961 _EXC_INFO_PARAM);
2962 extern int bid128_isNormal (UINT128 x _EXC_MASKS_PARAM
2963 _EXC_INFO_PARAM);
2964 extern int bid128_isSubnormal (UINT128 x _EXC_MASKS_PARAM
2965 _EXC_INFO_PARAM);
2966 extern int bid128_isFinite (UINT128 x _EXC_MASKS_PARAM
2967 _EXC_INFO_PARAM);
2968 extern int bid128_isZero (UINT128 x _EXC_MASKS_PARAM
2969 _EXC_INFO_PARAM);
2970 extern int bid128_isInf (UINT128 x _EXC_MASKS_PARAM
2971 _EXC_INFO_PARAM);
2972 extern int bid128_isSignaling (UINT128 x _EXC_MASKS_PARAM
2973 _EXC_INFO_PARAM);
2974 extern int bid128_isCanonical (UINT128 x _EXC_MASKS_PARAM
2975 _EXC_INFO_PARAM);
2976 extern int bid128_isNaN (UINT128 x _EXC_MASKS_PARAM
2977 _EXC_INFO_PARAM);
2978 extern UINT128 bid128_copy (UINT128 x _EXC_MASKS_PARAM
2979 _EXC_INFO_PARAM);
2980 extern UINT128 bid128_negate (UINT128 x _EXC_MASKS_PARAM
2981 _EXC_INFO_PARAM);
2982 extern UINT128 bid128_abs (UINT128 x _EXC_MASKS_PARAM
2983 _EXC_INFO_PARAM);
2984 extern UINT128 bid128_copySign (UINT128 x,
2985 UINT128 y _EXC_MASKS_PARAM
2986 _EXC_INFO_PARAM);
2987 extern int bid128_class (UINT128 x _EXC_MASKS_PARAM
2988 _EXC_INFO_PARAM);
2989 extern int bid128_sameQuantum (UINT128 x,
2990 UINT128 y _EXC_MASKS_PARAM
2991 _EXC_INFO_PARAM);
2992 extern int bid128_totalOrder (UINT128 x,
2993 UINT128 y _EXC_MASKS_PARAM
2994 _EXC_INFO_PARAM);
2995 extern int bid128_totalOrderMag (UINT128 x,
2996 UINT128 y _EXC_MASKS_PARAM
2997 _EXC_INFO_PARAM);
2998 extern int bid128_radix (UINT128 x _EXC_MASKS_PARAM
2999 _EXC_INFO_PARAM);
3000
3001 extern UINT64 bid64_rem (UINT64 x, UINT64 y
3002 _EXC_FLAGS_PARAM
3003 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3004 extern int bid64_logb (UINT64 x _EXC_FLAGS_PARAM
3005 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3006 extern UINT64 bid64_scalb (UINT64 x,
3007 int n _RND_MODE_PARAM _EXC_FLAGS_PARAM
3008 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3009
3010 extern UINT128 bid128_rem (UINT128 x, UINT128 y
3011 _EXC_FLAGS_PARAM
3012 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3013 extern int bid128_logb (UINT128 x
3014 _EXC_FLAGS_PARAM _EXC_MASKS_PARAM
3015 _EXC_INFO_PARAM);
3016 extern UINT128 bid128_scalb (UINT128 x,
3017 int n _RND_MODE_PARAM _EXC_FLAGS_PARAM
3018 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3019
3020 extern UINT64 bid32_to_bid64 (UINT32 x _EXC_FLAGS_PARAM
3021 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3022 extern UINT128 bid32_to_bid128 (UINT32 x _EXC_FLAGS_PARAM
3023 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3024 extern UINT128 bid64_to_bid128 (UINT64 x _EXC_FLAGS_PARAM
3025 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3026 extern UINT32 bid64_to_bid32 (UINT64 x
3027 _RND_MODE_PARAM _EXC_FLAGS_PARAM
3028 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3029 extern UINT32 bid128_to_bid32 (UINT128 x _RND_MODE_PARAM
3030 _EXC_FLAGS_PARAM
3031 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3032 extern UINT64 bid128_to_bid64 (UINT128 x _RND_MODE_PARAM
3033 _EXC_FLAGS_PARAM
3034 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3035
3036 extern void bid64_to_string (char *ps, UINT64 x
3037 _EXC_FLAGS_PARAM
3038 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3039 extern UINT64 bid64_from_string (char *ps
3040 _RND_MODE_PARAM _EXC_FLAGS_PARAM
3041 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3042 extern void bid128_to_string (char *str, UINT128 x
3043 _EXC_FLAGS_PARAM
3044 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3045 extern UINT128 bid128_from_string (char *ps
3046 _RND_MODE_PARAM _EXC_FLAGS_PARAM
3047 _EXC_MASKS_PARAM
3048 _EXC_INFO_PARAM);
3049
3050 extern UINT64 bid64_quantize (UINT64 x, UINT64 y
3051 _RND_MODE_PARAM _EXC_FLAGS_PARAM
3052 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3053
3054 extern UINT128 bid128_quantize (UINT128 x, UINT128 y
3055 _RND_MODE_PARAM
3056 _EXC_FLAGS_PARAM
3057 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3058
3059
3060 extern UINT32 binary128_to_bid32 (BINARY128 x
3061 _RND_MODE_PARAM
3062 _EXC_FLAGS_PARAM
3063 _EXC_MASKS_PARAM
3064 _EXC_INFO_PARAM);
3065
3066 extern UINT64 binary128_to_bid64 (BINARY128 x
3067 _RND_MODE_PARAM
3068 _EXC_FLAGS_PARAM
3069 _EXC_MASKS_PARAM
3070 _EXC_INFO_PARAM);
3071
3072 extern UINT128 binary128_to_bid128 (BINARY128 x
3073 _RND_MODE_PARAM
3074 _EXC_FLAGS_PARAM
3075 _EXC_MASKS_PARAM
3076 _EXC_INFO_PARAM);
3077
3078 extern UINT32 binary64_to_bid32 (double x
3079 _RND_MODE_PARAM
3080 _EXC_FLAGS_PARAM
3081 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3082
3083 extern UINT64 binary64_to_bid64 (double x
3084 _RND_MODE_PARAM
3085 _EXC_FLAGS_PARAM
3086 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3087
3088 extern UINT128 binary64_to_bid128 (double x
3089 _RND_MODE_PARAM
3090 _EXC_FLAGS_PARAM
3091 _EXC_MASKS_PARAM
3092 _EXC_INFO_PARAM);
3093
3094 extern UINT32 binary80_to_bid32 (BINARY80 x
3095 _RND_MODE_PARAM
3096 _EXC_FLAGS_PARAM
3097 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3098
3099 extern UINT64 binary80_to_bid64 (BINARY80 x
3100 _RND_MODE_PARAM
3101 _EXC_FLAGS_PARAM
3102 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3103
3104 extern UINT128 binary80_to_bid128 (BINARY80 x
3105 _RND_MODE_PARAM
3106 _EXC_FLAGS_PARAM
3107 _EXC_MASKS_PARAM
3108 _EXC_INFO_PARAM);
3109
3110 extern UINT32 binary32_to_bid32 (float x
3111 _RND_MODE_PARAM
3112 _EXC_FLAGS_PARAM
3113 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3114
3115 extern UINT64 binary32_to_bid64 (float x
3116 _RND_MODE_PARAM
3117 _EXC_FLAGS_PARAM
3118 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3119
3120 extern UINT128 binary32_to_bid128 (float x
3121 _RND_MODE_PARAM
3122 _EXC_FLAGS_PARAM
3123 _EXC_MASKS_PARAM
3124 _EXC_INFO_PARAM);
3125
3126 extern float bid128_to_binary32 (UINT128 x
3127 _RND_MODE_PARAM _EXC_FLAGS_PARAM
3128 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3129
3130 extern double bid128_to_binary64 (UINT128 x
3131 _RND_MODE_PARAM _EXC_FLAGS_PARAM
3132 _EXC_MASKS_PARAM
3133 _EXC_INFO_PARAM);
3134
3135 extern BINARY80 bid128_to_binary80 (UINT128 x
3136 _RND_MODE_PARAM
3137 _EXC_FLAGS_PARAM
3138 _EXC_MASKS_PARAM
3139 _EXC_INFO_PARAM);
3140
3141 extern BINARY128 bid128_to_binary128 (UINT128 x
3142 _RND_MODE_PARAM
3143 _EXC_FLAGS_PARAM
3144 _EXC_MASKS_PARAM
3145 _EXC_INFO_PARAM);
3146
3147 extern float bid64_to_binary32 (UINT64 x
3148 _RND_MODE_PARAM _EXC_FLAGS_PARAM
3149 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3150
3151 extern double bid64_to_binary64 (UINT64 x
3152 _RND_MODE_PARAM _EXC_FLAGS_PARAM
3153 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3154
3155 extern BINARY80 bid64_to_binary80 (UINT64 x
3156 _RND_MODE_PARAM
3157 _EXC_FLAGS_PARAM
3158 _EXC_MASKS_PARAM
3159 _EXC_INFO_PARAM);
3160
3161 extern BINARY128 bid64_to_binary128 (UINT64 x
3162 _RND_MODE_PARAM
3163 _EXC_FLAGS_PARAM
3164 _EXC_MASKS_PARAM
3165 _EXC_INFO_PARAM);
3166
3167 extern float bid32_to_binary32 (UINT32 x
3168 _RND_MODE_PARAM _EXC_FLAGS_PARAM
3169 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3170
3171 extern double bid32_to_binary64 (UINT32 x
3172 _RND_MODE_PARAM _EXC_FLAGS_PARAM
3173 _EXC_MASKS_PARAM _EXC_INFO_PARAM);
3174
3175 extern BINARY80 bid32_to_binary80 (UINT32 x
3176 _RND_MODE_PARAM
3177 _EXC_FLAGS_PARAM
3178 _EXC_MASKS_PARAM
3179 _EXC_INFO_PARAM);
3180
3181 extern BINARY128 bid32_to_binary128 (UINT32 x
3182 _RND_MODE_PARAM
3183 _EXC_FLAGS_PARAM
3184 _EXC_MASKS_PARAM
3185 _EXC_INFO_PARAM);
3186
3187 extern int is754 (void);
3188
3189 extern int is754R (void);
3190
3191 extern void signalException (_IDEC_flags flagsmask
3192 _EXC_FLAGS_PARAM);
3193
3194 extern void lowerFlags (_IDEC_flags flagsmask _EXC_FLAGS_PARAM);
3195
3196 extern _IDEC_flags testFlags (_IDEC_flags flagsmask
3197 _EXC_FLAGS_PARAM);
3198
3199 extern _IDEC_flags testSavedFlags (_IDEC_flags savedflags,
3200 _IDEC_flags flagsmask);
3201
3202 extern void restoreFlags (_IDEC_flags flagsvalues,
3203 _IDEC_flags flagsmask _EXC_FLAGS_PARAM);
3204
3205 extern _IDEC_flags saveFlags (_IDEC_flags flagsmask
3206 _EXC_FLAGS_PARAM);
3207
3208 #if !DECIMAL_GLOBAL_ROUNDING
3209 _IDEC_round getDecimalRoundingDirection (_IDEC_round rnd_mode);
3210 #else
3211 _IDEC_round getDecimalRoundingDirection (void);
3212 #endif
3213
3214 #if !DECIMAL_GLOBAL_ROUNDING
3215 _IDEC_round setDecimalRoundingDirection (_IDEC_round
3216 rounding_mode
3217 _RND_MODE_PARAM);
3218 #else
3219 void setDecimalRoundingDirection (_IDEC_round rounding_mode);
3220 #endif
3221
3222 #endif
3223
3224 // Internal Functions
3225
3226 extern void
3227 round64_2_18 (int q,
3228 int x,
3229 UINT64 C,
3230 UINT64 * ptr_Cstar,
3231 int *delta_exp,
3232 int *ptr_is_midpoint_lt_even,
3233 int *ptr_is_midpoint_gt_even,
3234 int *ptr_is_inexact_lt_midpoint,
3235 int *ptr_is_inexact_gt_midpoint);
3236
3237 extern void
3238 round128_19_38 (int q,
3239 int x,
3240 UINT128 C,
3241 UINT128 * ptr_Cstar,
3242 int *delta_exp,
3243 int *ptr_is_midpoint_lt_even,
3244 int *ptr_is_midpoint_gt_even,
3245 int *ptr_is_inexact_lt_midpoint,
3246 int *ptr_is_inexact_gt_midpoint);
3247
3248 extern void
3249 round192_39_57 (int q,
3250 int x,
3251 UINT192 C,
3252 UINT192 * ptr_Cstar,
3253 int *delta_exp,
3254 int *ptr_is_midpoint_lt_even,
3255 int *ptr_is_midpoint_gt_even,
3256 int *ptr_is_inexact_lt_midpoint,
3257 int *ptr_is_inexact_gt_midpoint);
3258
3259 extern void
3260 round256_58_76 (int q,
3261 int x,
3262 UINT256 C,
3263 UINT256 * ptr_Cstar,
3264 int *delta_exp,
3265 int *ptr_is_midpoint_lt_even,
3266 int *ptr_is_midpoint_gt_even,
3267 int *ptr_is_inexact_lt_midpoint,
3268 int *ptr_is_inexact_gt_midpoint);
3269
3270 #endif
3271
3272 // Prototypes for Internal Functions
3273
3274 extern UINT32 bid_to_bid32 (UINT32);
3275 extern UINT64 bid_to_bid64 (UINT64);
3276 extern UINT128 bid_to_bid128 (UINT128);
3277 extern UINT32 bid32_canonize (UINT32);
3278 extern UINT64 bid64_canonize (UINT64);
3279 extern UINT128 bid128_canonize (UINT128);