Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

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