1/* Copyright (C) 2007-2015 Free Software Foundation, Inc.
2
3This file is part of GCC.
4
5GCC is free software; you can redistribute it and/or modify it under
6the terms of the GNU General Public License as published by the Free
7Software Foundation; either version 3, or (at your option) any later
8version.
9
10GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11WARRANTY; without even the implied warranty of MERCHANTABILITY or
12FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13for more details.
14
15Under Section 7 of GPL version 3, you are granted additional
16permissions described in the GCC Runtime Library Exception, version
173.1, as published by the Free Software Foundation.
18
19You should have received a copy of the GNU General Public License and
20a copy of the GCC Runtime Library Exception along with this program;
21see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
22<http://www.gnu.org/licenses/>.  */
23
24#ifndef _BID_FUNCTIONS_H
25#define _BID_FUNCTIONS_H
26
27#ifdef IN_LIBGCC2
28// When we are built as the part of the gcc runtime library, libgcc,
29// we will use gcc types defined in bid_gcc_intrinsics.h.
30#include "bid_gcc_intrinsics.h"
31
32#define ALIGN(n) __attribute__ ((aligned(n)))
33#else
34typedef char SINT8;
35typedef unsigned char UINT8;
36typedef unsigned UINT32;
37typedef signed SINT32;
38
39#ifdef __GNUC__
40#define __int64 long long
41#endif
42
43#if __GNUC__ || defined LINUX || defined SUNOS
44typedef unsigned long long UINT64;
45typedef signed long long SINT64;
46#else
47typedef unsigned __int64 UINT64;
48typedef 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.
62typedef
63ALIGN (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);
3280