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