1 /* Copyright (C) 2007-2019 Free Software Foundation, Inc. 2 3 This file is part of GCC. 4 5 GCC is free software; you can redistribute it and/or modify it under 6 the terms of the GNU General Public License as published by the Free 7 Software Foundation; either version 3, or (at your option) any later 8 version. 9 10 GCC is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13 for more details. 14 15 Under Section 7 of GPL version 3, you are granted additional 16 permissions described in the GCC Runtime Library Exception, version 17 3.1, as published by the Free Software Foundation. 18 19 You should have received a copy of the GNU General Public License and 20 a copy of the GCC Runtime Library Exception along with this program; 21 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 22 <http://www.gnu.org/licenses/>. */ 23 24 #ifndef _BID_FUNCTIONS_H 25 #define _BID_FUNCTIONS_H 26 27 #ifdef IN_LIBGCC2 28 // When we are built as the part of the gcc runtime library, libgcc, 29 // we will use gcc types defined in bid_gcc_intrinsics.h. 30 #include "bid_gcc_intrinsics.h" 31 32 #define ALIGN(n) __attribute__ ((aligned(n))) 33 #else 34 typedef char SINT8; 35 typedef unsigned char UINT8; 36 typedef unsigned UINT32; 37 typedef signed SINT32; 38 39 #ifdef __GNUC__ 40 #define __int64 long long 41 #endif 42 43 #if __GNUC__ || defined LINUX || defined SUNOS 44 typedef unsigned long long UINT64; 45 typedef signed long long SINT64; 46 #else 47 typedef unsigned __int64 UINT64; 48 typedef signed __int64 SINT64; 49 #endif 50 51 #if defined _MSC_VER 52 #if defined _M_IX86 && !defined __INTEL_COMPILER // Win IA-32, MS compiler 53 #define ALIGN(n) 54 #else 55 #define ALIGN(n) __declspec(align(n)) 56 #endif 57 #else 58 #define ALIGN(n) __attribute__ ((aligned(n))) 59 #endif 60 61 // bid_gcc_intrinsics.h will also define this. 62 typedef 63 ALIGN (16) 64 struct { 65 UINT64 w[2]; 66 } UINT128; 67 #endif 68 69 70 #if !defined _MSC_VER || defined __INTEL_COMPILER 71 #define __ENABLE_BINARY80__ 1 72 #endif 73 74 #ifndef HPUX_OS 75 #define BINARY80 long double 76 #define BINARY128 UINT128 77 #define SQRT80 sqrtl 78 #else 79 #define BINARY80 __float80 80 #define BINARY128 __float128 81 #define SQRT80 sqrtw 82 #endif 83 84 typedef ALIGN (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