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