1*e4b17023SJohn Marino@c Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010 2*e4b17023SJohn Marino@c Free Software Foundation, Inc. 3*e4b17023SJohn Marino@c This is part of the GCC manual. 4*e4b17023SJohn Marino@c For copying conditions, see the file gcc.texi. 5*e4b17023SJohn Marino@c Contributed by Aldy Hernandez <aldy@quesejoda.com> 6*e4b17023SJohn Marino 7*e4b17023SJohn Marino@node Libgcc 8*e4b17023SJohn Marino@chapter The GCC low-level runtime library 9*e4b17023SJohn Marino 10*e4b17023SJohn MarinoGCC provides a low-level runtime library, @file{libgcc.a} or 11*e4b17023SJohn Marino@file{libgcc_s.so.1} on some platforms. GCC generates calls to 12*e4b17023SJohn Marinoroutines in this library automatically, whenever it needs to perform 13*e4b17023SJohn Marinosome operation that is too complicated to emit inline code for. 14*e4b17023SJohn Marino 15*e4b17023SJohn MarinoMost of the routines in @code{libgcc} handle arithmetic operations 16*e4b17023SJohn Marinothat the target processor cannot perform directly. This includes 17*e4b17023SJohn Marinointeger multiply and divide on some machines, and all floating-point 18*e4b17023SJohn Marinoand fixed-point operations on other machines. @code{libgcc} also includes 19*e4b17023SJohn Marinoroutines for exception handling, and a handful of miscellaneous operations. 20*e4b17023SJohn Marino 21*e4b17023SJohn MarinoSome of these routines can be defined in mostly machine-independent C@. 22*e4b17023SJohn MarinoOthers must be hand-written in assembly language for each processor 23*e4b17023SJohn Marinothat needs them. 24*e4b17023SJohn Marino 25*e4b17023SJohn MarinoGCC will also generate calls to C library routines, such as 26*e4b17023SJohn Marino@code{memcpy} and @code{memset}, in some cases. The set of routines 27*e4b17023SJohn Marinothat GCC may possibly use is documented in @ref{Other 28*e4b17023SJohn MarinoBuiltins,,,gcc, Using the GNU Compiler Collection (GCC)}. 29*e4b17023SJohn Marino 30*e4b17023SJohn MarinoThese routines take arguments and return values of a specific machine 31*e4b17023SJohn Marinomode, not a specific C type. @xref{Machine Modes}, for an explanation 32*e4b17023SJohn Marinoof this concept. For illustrative purposes, in this chapter the 33*e4b17023SJohn Marinofloating point type @code{float} is assumed to correspond to @code{SFmode}; 34*e4b17023SJohn Marino@code{double} to @code{DFmode}; and @code{@w{long double}} to both 35*e4b17023SJohn Marino@code{TFmode} and @code{XFmode}. Similarly, the integer types @code{int} 36*e4b17023SJohn Marinoand @code{@w{unsigned int}} correspond to @code{SImode}; @code{long} and 37*e4b17023SJohn Marino@code{@w{unsigned long}} to @code{DImode}; and @code{@w{long long}} and 38*e4b17023SJohn Marino@code{@w{unsigned long long}} to @code{TImode}. 39*e4b17023SJohn Marino 40*e4b17023SJohn Marino@menu 41*e4b17023SJohn Marino* Integer library routines:: 42*e4b17023SJohn Marino* Soft float library routines:: 43*e4b17023SJohn Marino* Decimal float library routines:: 44*e4b17023SJohn Marino* Fixed-point fractional library routines:: 45*e4b17023SJohn Marino* Exception handling routines:: 46*e4b17023SJohn Marino* Miscellaneous routines:: 47*e4b17023SJohn Marino@end menu 48*e4b17023SJohn Marino 49*e4b17023SJohn Marino@node Integer library routines 50*e4b17023SJohn Marino@section Routines for integer arithmetic 51*e4b17023SJohn Marino 52*e4b17023SJohn MarinoThe integer arithmetic routines are used on platforms that don't provide 53*e4b17023SJohn Marinohardware support for arithmetic operations on some modes. 54*e4b17023SJohn Marino 55*e4b17023SJohn Marino@subsection Arithmetic functions 56*e4b17023SJohn Marino 57*e4b17023SJohn Marino@deftypefn {Runtime Function} int __ashlsi3 (int @var{a}, int @var{b}) 58*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __ashldi3 (long @var{a}, int @var{b}) 59*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __ashlti3 (long long @var{a}, int @var{b}) 60*e4b17023SJohn MarinoThese functions return the result of shifting @var{a} left by @var{b} bits. 61*e4b17023SJohn Marino@end deftypefn 62*e4b17023SJohn Marino 63*e4b17023SJohn Marino@deftypefn {Runtime Function} int __ashrsi3 (int @var{a}, int @var{b}) 64*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __ashrdi3 (long @var{a}, int @var{b}) 65*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __ashrti3 (long long @var{a}, int @var{b}) 66*e4b17023SJohn MarinoThese functions return the result of arithmetically shifting @var{a} right 67*e4b17023SJohn Marinoby @var{b} bits. 68*e4b17023SJohn Marino@end deftypefn 69*e4b17023SJohn Marino 70*e4b17023SJohn Marino@deftypefn {Runtime Function} int __divsi3 (int @var{a}, int @var{b}) 71*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __divdi3 (long @var{a}, long @var{b}) 72*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __divti3 (long long @var{a}, long long @var{b}) 73*e4b17023SJohn MarinoThese functions return the quotient of the signed division of @var{a} and 74*e4b17023SJohn Marino@var{b}. 75*e4b17023SJohn Marino@end deftypefn 76*e4b17023SJohn Marino 77*e4b17023SJohn Marino@deftypefn {Runtime Function} int __lshrsi3 (int @var{a}, int @var{b}) 78*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __lshrdi3 (long @var{a}, int @var{b}) 79*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __lshrti3 (long long @var{a}, int @var{b}) 80*e4b17023SJohn MarinoThese functions return the result of logically shifting @var{a} right by 81*e4b17023SJohn Marino@var{b} bits. 82*e4b17023SJohn Marino@end deftypefn 83*e4b17023SJohn Marino 84*e4b17023SJohn Marino@deftypefn {Runtime Function} int __modsi3 (int @var{a}, int @var{b}) 85*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __moddi3 (long @var{a}, long @var{b}) 86*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __modti3 (long long @var{a}, long long @var{b}) 87*e4b17023SJohn MarinoThese functions return the remainder of the signed division of @var{a} 88*e4b17023SJohn Marinoand @var{b}. 89*e4b17023SJohn Marino@end deftypefn 90*e4b17023SJohn Marino 91*e4b17023SJohn Marino@deftypefn {Runtime Function} int __mulsi3 (int @var{a}, int @var{b}) 92*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __muldi3 (long @var{a}, long @var{b}) 93*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __multi3 (long long @var{a}, long long @var{b}) 94*e4b17023SJohn MarinoThese functions return the product of @var{a} and @var{b}. 95*e4b17023SJohn Marino@end deftypefn 96*e4b17023SJohn Marino 97*e4b17023SJohn Marino@deftypefn {Runtime Function} long __negdi2 (long @var{a}) 98*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __negti2 (long long @var{a}) 99*e4b17023SJohn MarinoThese functions return the negation of @var{a}. 100*e4b17023SJohn Marino@end deftypefn 101*e4b17023SJohn Marino 102*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned int} __udivsi3 (unsigned int @var{a}, unsigned int @var{b}) 103*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __udivdi3 (unsigned long @var{a}, unsigned long @var{b}) 104*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __udivti3 (unsigned long long @var{a}, unsigned long long @var{b}) 105*e4b17023SJohn MarinoThese functions return the quotient of the unsigned division of @var{a} 106*e4b17023SJohn Marinoand @var{b}. 107*e4b17023SJohn Marino@end deftypefn 108*e4b17023SJohn Marino 109*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned long} __udivmoddi4 (unsigned long @var{a}, unsigned long @var{b}, unsigned long *@var{c}) 110*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __udivmodti4 (unsigned long long @var{a}, unsigned long long @var{b}, unsigned long long *@var{c}) 111*e4b17023SJohn MarinoThese functions calculate both the quotient and remainder of the unsigned 112*e4b17023SJohn Marinodivision of @var{a} and @var{b}. The return value is the quotient, and 113*e4b17023SJohn Marinothe remainder is placed in variable pointed to by @var{c}. 114*e4b17023SJohn Marino@end deftypefn 115*e4b17023SJohn Marino 116*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned int} __umodsi3 (unsigned int @var{a}, unsigned int @var{b}) 117*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __umoddi3 (unsigned long @var{a}, unsigned long @var{b}) 118*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __umodti3 (unsigned long long @var{a}, unsigned long long @var{b}) 119*e4b17023SJohn MarinoThese functions return the remainder of the unsigned division of @var{a} 120*e4b17023SJohn Marinoand @var{b}. 121*e4b17023SJohn Marino@end deftypefn 122*e4b17023SJohn Marino 123*e4b17023SJohn Marino@subsection Comparison functions 124*e4b17023SJohn Marino 125*e4b17023SJohn MarinoThe following functions implement integral comparisons. These functions 126*e4b17023SJohn Marinoimplement a low-level compare, upon which the higher level comparison 127*e4b17023SJohn Marinooperators (such as less than and greater than or equal to) can be 128*e4b17023SJohn Marinoconstructed. The returned values lie in the range zero to two, to allow 129*e4b17023SJohn Marinothe high-level operators to be implemented by testing the returned 130*e4b17023SJohn Marinoresult using either signed or unsigned comparison. 131*e4b17023SJohn Marino 132*e4b17023SJohn Marino@deftypefn {Runtime Function} int __cmpdi2 (long @var{a}, long @var{b}) 133*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __cmpti2 (long long @var{a}, long long @var{b}) 134*e4b17023SJohn MarinoThese functions perform a signed comparison of @var{a} and @var{b}. If 135*e4b17023SJohn Marino@var{a} is less than @var{b}, they return 0; if @var{a} is greater than 136*e4b17023SJohn Marino@var{b}, they return 2; and if @var{a} and @var{b} are equal they return 1. 137*e4b17023SJohn Marino@end deftypefn 138*e4b17023SJohn Marino 139*e4b17023SJohn Marino@deftypefn {Runtime Function} int __ucmpdi2 (unsigned long @var{a}, unsigned long @var{b}) 140*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __ucmpti2 (unsigned long long @var{a}, unsigned long long @var{b}) 141*e4b17023SJohn MarinoThese functions perform an unsigned comparison of @var{a} and @var{b}. 142*e4b17023SJohn MarinoIf @var{a} is less than @var{b}, they return 0; if @var{a} is greater than 143*e4b17023SJohn Marino@var{b}, they return 2; and if @var{a} and @var{b} are equal they return 1. 144*e4b17023SJohn Marino@end deftypefn 145*e4b17023SJohn Marino 146*e4b17023SJohn Marino@subsection Trapping arithmetic functions 147*e4b17023SJohn Marino 148*e4b17023SJohn MarinoThe following functions implement trapping arithmetic. These functions 149*e4b17023SJohn Marinocall the libc function @code{abort} upon signed arithmetic overflow. 150*e4b17023SJohn Marino 151*e4b17023SJohn Marino@deftypefn {Runtime Function} int __absvsi2 (int @var{a}) 152*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __absvdi2 (long @var{a}) 153*e4b17023SJohn MarinoThese functions return the absolute value of @var{a}. 154*e4b17023SJohn Marino@end deftypefn 155*e4b17023SJohn Marino 156*e4b17023SJohn Marino@deftypefn {Runtime Function} int __addvsi3 (int @var{a}, int @var{b}) 157*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __addvdi3 (long @var{a}, long @var{b}) 158*e4b17023SJohn MarinoThese functions return the sum of @var{a} and @var{b}; that is 159*e4b17023SJohn Marino@code{@var{a} + @var{b}}. 160*e4b17023SJohn Marino@end deftypefn 161*e4b17023SJohn Marino 162*e4b17023SJohn Marino@deftypefn {Runtime Function} int __mulvsi3 (int @var{a}, int @var{b}) 163*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __mulvdi3 (long @var{a}, long @var{b}) 164*e4b17023SJohn MarinoThe functions return the product of @var{a} and @var{b}; that is 165*e4b17023SJohn Marino@code{@var{a} * @var{b}}. 166*e4b17023SJohn Marino@end deftypefn 167*e4b17023SJohn Marino 168*e4b17023SJohn Marino@deftypefn {Runtime Function} int __negvsi2 (int @var{a}) 169*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __negvdi2 (long @var{a}) 170*e4b17023SJohn MarinoThese functions return the negation of @var{a}; that is @code{-@var{a}}. 171*e4b17023SJohn Marino@end deftypefn 172*e4b17023SJohn Marino 173*e4b17023SJohn Marino@deftypefn {Runtime Function} int __subvsi3 (int @var{a}, int @var{b}) 174*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __subvdi3 (long @var{a}, long @var{b}) 175*e4b17023SJohn MarinoThese functions return the difference between @var{b} and @var{a}; 176*e4b17023SJohn Marinothat is @code{@var{a} - @var{b}}. 177*e4b17023SJohn Marino@end deftypefn 178*e4b17023SJohn Marino 179*e4b17023SJohn Marino@subsection Bit operations 180*e4b17023SJohn Marino 181*e4b17023SJohn Marino@deftypefn {Runtime Function} int __clzsi2 (int @var{a}) 182*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __clzdi2 (long @var{a}) 183*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __clzti2 (long long @var{a}) 184*e4b17023SJohn MarinoThese functions return the number of leading 0-bits in @var{a}, starting 185*e4b17023SJohn Marinoat the most significant bit position. If @var{a} is zero, the result is 186*e4b17023SJohn Marinoundefined. 187*e4b17023SJohn Marino@end deftypefn 188*e4b17023SJohn Marino 189*e4b17023SJohn Marino@deftypefn {Runtime Function} int __ctzsi2 (int @var{a}) 190*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __ctzdi2 (long @var{a}) 191*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __ctzti2 (long long @var{a}) 192*e4b17023SJohn MarinoThese functions return the number of trailing 0-bits in @var{a}, starting 193*e4b17023SJohn Marinoat the least significant bit position. If @var{a} is zero, the result is 194*e4b17023SJohn Marinoundefined. 195*e4b17023SJohn Marino@end deftypefn 196*e4b17023SJohn Marino 197*e4b17023SJohn Marino@deftypefn {Runtime Function} int __ffsdi2 (long @var{a}) 198*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __ffsti2 (long long @var{a}) 199*e4b17023SJohn MarinoThese functions return the index of the least significant 1-bit in @var{a}, 200*e4b17023SJohn Marinoor the value zero if @var{a} is zero. The least significant bit is index 201*e4b17023SJohn Marinoone. 202*e4b17023SJohn Marino@end deftypefn 203*e4b17023SJohn Marino 204*e4b17023SJohn Marino@deftypefn {Runtime Function} int __paritysi2 (int @var{a}) 205*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __paritydi2 (long @var{a}) 206*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __parityti2 (long long @var{a}) 207*e4b17023SJohn MarinoThese functions return the value zero if the number of bits set in 208*e4b17023SJohn Marino@var{a} is even, and the value one otherwise. 209*e4b17023SJohn Marino@end deftypefn 210*e4b17023SJohn Marino 211*e4b17023SJohn Marino@deftypefn {Runtime Function} int __popcountsi2 (int @var{a}) 212*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __popcountdi2 (long @var{a}) 213*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __popcountti2 (long long @var{a}) 214*e4b17023SJohn MarinoThese functions return the number of bits set in @var{a}. 215*e4b17023SJohn Marino@end deftypefn 216*e4b17023SJohn Marino 217*e4b17023SJohn Marino@deftypefn {Runtime Function} int32_t __bswapsi2 (int32_t @var{a}) 218*e4b17023SJohn Marino@deftypefnx {Runtime Function} int64_t __bswapdi2 (int64_t @var{a}) 219*e4b17023SJohn MarinoThese functions return the @var{a} byteswapped. 220*e4b17023SJohn Marino@end deftypefn 221*e4b17023SJohn Marino 222*e4b17023SJohn Marino@node Soft float library routines 223*e4b17023SJohn Marino@section Routines for floating point emulation 224*e4b17023SJohn Marino@cindex soft float library 225*e4b17023SJohn Marino@cindex arithmetic library 226*e4b17023SJohn Marino@cindex math library 227*e4b17023SJohn Marino@opindex msoft-float 228*e4b17023SJohn Marino 229*e4b17023SJohn MarinoThe software floating point library is used on machines which do not 230*e4b17023SJohn Marinohave hardware support for floating point. It is also used whenever 231*e4b17023SJohn Marino@option{-msoft-float} is used to disable generation of floating point 232*e4b17023SJohn Marinoinstructions. (Not all targets support this switch.) 233*e4b17023SJohn Marino 234*e4b17023SJohn MarinoFor compatibility with other compilers, the floating point emulation 235*e4b17023SJohn Marinoroutines can be renamed with the @code{DECLARE_LIBRARY_RENAMES} macro 236*e4b17023SJohn Marino(@pxref{Library Calls}). In this section, the default names are used. 237*e4b17023SJohn Marino 238*e4b17023SJohn MarinoPresently the library does not support @code{XFmode}, which is used 239*e4b17023SJohn Marinofor @code{long double} on some architectures. 240*e4b17023SJohn Marino 241*e4b17023SJohn Marino@subsection Arithmetic functions 242*e4b17023SJohn Marino 243*e4b17023SJohn Marino@deftypefn {Runtime Function} float __addsf3 (float @var{a}, float @var{b}) 244*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __adddf3 (double @var{a}, double @var{b}) 245*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __addtf3 (long double @var{a}, long double @var{b}) 246*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __addxf3 (long double @var{a}, long double @var{b}) 247*e4b17023SJohn MarinoThese functions return the sum of @var{a} and @var{b}. 248*e4b17023SJohn Marino@end deftypefn 249*e4b17023SJohn Marino 250*e4b17023SJohn Marino@deftypefn {Runtime Function} float __subsf3 (float @var{a}, float @var{b}) 251*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __subdf3 (double @var{a}, double @var{b}) 252*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __subtf3 (long double @var{a}, long double @var{b}) 253*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __subxf3 (long double @var{a}, long double @var{b}) 254*e4b17023SJohn MarinoThese functions return the difference between @var{b} and @var{a}; 255*e4b17023SJohn Marinothat is, @w{@math{@var{a} - @var{b}}}. 256*e4b17023SJohn Marino@end deftypefn 257*e4b17023SJohn Marino 258*e4b17023SJohn Marino@deftypefn {Runtime Function} float __mulsf3 (float @var{a}, float @var{b}) 259*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __muldf3 (double @var{a}, double @var{b}) 260*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __multf3 (long double @var{a}, long double @var{b}) 261*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __mulxf3 (long double @var{a}, long double @var{b}) 262*e4b17023SJohn MarinoThese functions return the product of @var{a} and @var{b}. 263*e4b17023SJohn Marino@end deftypefn 264*e4b17023SJohn Marino 265*e4b17023SJohn Marino@deftypefn {Runtime Function} float __divsf3 (float @var{a}, float @var{b}) 266*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __divdf3 (double @var{a}, double @var{b}) 267*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __divtf3 (long double @var{a}, long double @var{b}) 268*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __divxf3 (long double @var{a}, long double @var{b}) 269*e4b17023SJohn MarinoThese functions return the quotient of @var{a} and @var{b}; that is, 270*e4b17023SJohn Marino@w{@math{@var{a} / @var{b}}}. 271*e4b17023SJohn Marino@end deftypefn 272*e4b17023SJohn Marino 273*e4b17023SJohn Marino@deftypefn {Runtime Function} float __negsf2 (float @var{a}) 274*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __negdf2 (double @var{a}) 275*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __negtf2 (long double @var{a}) 276*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __negxf2 (long double @var{a}) 277*e4b17023SJohn MarinoThese functions return the negation of @var{a}. They simply flip the 278*e4b17023SJohn Marinosign bit, so they can produce negative zero and negative NaN@. 279*e4b17023SJohn Marino@end deftypefn 280*e4b17023SJohn Marino 281*e4b17023SJohn Marino@subsection Conversion functions 282*e4b17023SJohn Marino 283*e4b17023SJohn Marino@deftypefn {Runtime Function} double __extendsfdf2 (float @var{a}) 284*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __extendsftf2 (float @var{a}) 285*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __extendsfxf2 (float @var{a}) 286*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __extenddftf2 (double @var{a}) 287*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __extenddfxf2 (double @var{a}) 288*e4b17023SJohn MarinoThese functions extend @var{a} to the wider mode of their return 289*e4b17023SJohn Marinotype. 290*e4b17023SJohn Marino@end deftypefn 291*e4b17023SJohn Marino 292*e4b17023SJohn Marino@deftypefn {Runtime Function} double __truncxfdf2 (long double @var{a}) 293*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __trunctfdf2 (long double @var{a}) 294*e4b17023SJohn Marino@deftypefnx {Runtime Function} float __truncxfsf2 (long double @var{a}) 295*e4b17023SJohn Marino@deftypefnx {Runtime Function} float __trunctfsf2 (long double @var{a}) 296*e4b17023SJohn Marino@deftypefnx {Runtime Function} float __truncdfsf2 (double @var{a}) 297*e4b17023SJohn MarinoThese functions truncate @var{a} to the narrower mode of their return 298*e4b17023SJohn Marinotype, rounding toward zero. 299*e4b17023SJohn Marino@end deftypefn 300*e4b17023SJohn Marino 301*e4b17023SJohn Marino@deftypefn {Runtime Function} int __fixsfsi (float @var{a}) 302*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __fixdfsi (double @var{a}) 303*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __fixtfsi (long double @var{a}) 304*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __fixxfsi (long double @var{a}) 305*e4b17023SJohn MarinoThese functions convert @var{a} to a signed integer, rounding toward zero. 306*e4b17023SJohn Marino@end deftypefn 307*e4b17023SJohn Marino 308*e4b17023SJohn Marino@deftypefn {Runtime Function} long __fixsfdi (float @var{a}) 309*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __fixdfdi (double @var{a}) 310*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __fixtfdi (long double @var{a}) 311*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __fixxfdi (long double @var{a}) 312*e4b17023SJohn MarinoThese functions convert @var{a} to a signed long, rounding toward zero. 313*e4b17023SJohn Marino@end deftypefn 314*e4b17023SJohn Marino 315*e4b17023SJohn Marino@deftypefn {Runtime Function} {long long} __fixsfti (float @var{a}) 316*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fixdfti (double @var{a}) 317*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fixtfti (long double @var{a}) 318*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fixxfti (long double @var{a}) 319*e4b17023SJohn MarinoThese functions convert @var{a} to a signed long long, rounding toward zero. 320*e4b17023SJohn Marino@end deftypefn 321*e4b17023SJohn Marino 322*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned int} __fixunssfsi (float @var{a}) 323*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fixunsdfsi (double @var{a}) 324*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fixunstfsi (long double @var{a}) 325*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fixunsxfsi (long double @var{a}) 326*e4b17023SJohn MarinoThese functions convert @var{a} to an unsigned integer, rounding 327*e4b17023SJohn Marinotoward zero. Negative values all become zero. 328*e4b17023SJohn Marino@end deftypefn 329*e4b17023SJohn Marino 330*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned long} __fixunssfdi (float @var{a}) 331*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fixunsdfdi (double @var{a}) 332*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fixunstfdi (long double @var{a}) 333*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fixunsxfdi (long double @var{a}) 334*e4b17023SJohn MarinoThese functions convert @var{a} to an unsigned long, rounding 335*e4b17023SJohn Marinotoward zero. Negative values all become zero. 336*e4b17023SJohn Marino@end deftypefn 337*e4b17023SJohn Marino 338*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned long long} __fixunssfti (float @var{a}) 339*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fixunsdfti (double @var{a}) 340*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fixunstfti (long double @var{a}) 341*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fixunsxfti (long double @var{a}) 342*e4b17023SJohn MarinoThese functions convert @var{a} to an unsigned long long, rounding 343*e4b17023SJohn Marinotoward zero. Negative values all become zero. 344*e4b17023SJohn Marino@end deftypefn 345*e4b17023SJohn Marino 346*e4b17023SJohn Marino@deftypefn {Runtime Function} float __floatsisf (int @var{i}) 347*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __floatsidf (int @var{i}) 348*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __floatsitf (int @var{i}) 349*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __floatsixf (int @var{i}) 350*e4b17023SJohn MarinoThese functions convert @var{i}, a signed integer, to floating point. 351*e4b17023SJohn Marino@end deftypefn 352*e4b17023SJohn Marino 353*e4b17023SJohn Marino@deftypefn {Runtime Function} float __floatdisf (long @var{i}) 354*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __floatdidf (long @var{i}) 355*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __floatditf (long @var{i}) 356*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __floatdixf (long @var{i}) 357*e4b17023SJohn MarinoThese functions convert @var{i}, a signed long, to floating point. 358*e4b17023SJohn Marino@end deftypefn 359*e4b17023SJohn Marino 360*e4b17023SJohn Marino@deftypefn {Runtime Function} float __floattisf (long long @var{i}) 361*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __floattidf (long long @var{i}) 362*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __floattitf (long long @var{i}) 363*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __floattixf (long long @var{i}) 364*e4b17023SJohn MarinoThese functions convert @var{i}, a signed long long, to floating point. 365*e4b17023SJohn Marino@end deftypefn 366*e4b17023SJohn Marino 367*e4b17023SJohn Marino@deftypefn {Runtime Function} float __floatunsisf (unsigned int @var{i}) 368*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __floatunsidf (unsigned int @var{i}) 369*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __floatunsitf (unsigned int @var{i}) 370*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __floatunsixf (unsigned int @var{i}) 371*e4b17023SJohn MarinoThese functions convert @var{i}, an unsigned integer, to floating point. 372*e4b17023SJohn Marino@end deftypefn 373*e4b17023SJohn Marino 374*e4b17023SJohn Marino@deftypefn {Runtime Function} float __floatundisf (unsigned long @var{i}) 375*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __floatundidf (unsigned long @var{i}) 376*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __floatunditf (unsigned long @var{i}) 377*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __floatundixf (unsigned long @var{i}) 378*e4b17023SJohn MarinoThese functions convert @var{i}, an unsigned long, to floating point. 379*e4b17023SJohn Marino@end deftypefn 380*e4b17023SJohn Marino 381*e4b17023SJohn Marino@deftypefn {Runtime Function} float __floatuntisf (unsigned long long @var{i}) 382*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __floatuntidf (unsigned long long @var{i}) 383*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __floatuntitf (unsigned long long @var{i}) 384*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __floatuntixf (unsigned long long @var{i}) 385*e4b17023SJohn MarinoThese functions convert @var{i}, an unsigned long long, to floating point. 386*e4b17023SJohn Marino@end deftypefn 387*e4b17023SJohn Marino 388*e4b17023SJohn Marino@subsection Comparison functions 389*e4b17023SJohn Marino 390*e4b17023SJohn MarinoThere are two sets of basic comparison functions. 391*e4b17023SJohn Marino 392*e4b17023SJohn Marino@deftypefn {Runtime Function} int __cmpsf2 (float @var{a}, float @var{b}) 393*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __cmpdf2 (double @var{a}, double @var{b}) 394*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __cmptf2 (long double @var{a}, long double @var{b}) 395*e4b17023SJohn MarinoThese functions calculate @math{a <=> b}. That is, if @var{a} is less 396*e4b17023SJohn Marinothan @var{b}, they return @minus{}1; if @var{a} is greater than @var{b}, they 397*e4b17023SJohn Marinoreturn 1; and if @var{a} and @var{b} are equal they return 0. If 398*e4b17023SJohn Marinoeither argument is NaN they return 1, but you should not rely on this; 399*e4b17023SJohn Marinoif NaN is a possibility, use one of the higher-level comparison 400*e4b17023SJohn Marinofunctions. 401*e4b17023SJohn Marino@end deftypefn 402*e4b17023SJohn Marino 403*e4b17023SJohn Marino@deftypefn {Runtime Function} int __unordsf2 (float @var{a}, float @var{b}) 404*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __unorddf2 (double @var{a}, double @var{b}) 405*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __unordtf2 (long double @var{a}, long double @var{b}) 406*e4b17023SJohn MarinoThese functions return a nonzero value if either argument is NaN, otherwise 0. 407*e4b17023SJohn Marino@end deftypefn 408*e4b17023SJohn Marino 409*e4b17023SJohn MarinoThere is also a complete group of higher level functions which 410*e4b17023SJohn Marinocorrespond directly to comparison operators. They implement the ISO C 411*e4b17023SJohn Marinosemantics for floating-point comparisons, taking NaN into account. 412*e4b17023SJohn MarinoPay careful attention to the return values defined for each set. 413*e4b17023SJohn MarinoUnder the hood, all of these routines are implemented as 414*e4b17023SJohn Marino 415*e4b17023SJohn Marino@smallexample 416*e4b17023SJohn Marino if (__unord@var{X}f2 (a, b)) 417*e4b17023SJohn Marino return @var{E}; 418*e4b17023SJohn Marino return __cmp@var{X}f2 (a, b); 419*e4b17023SJohn Marino@end smallexample 420*e4b17023SJohn Marino 421*e4b17023SJohn Marino@noindent 422*e4b17023SJohn Marinowhere @var{E} is a constant chosen to give the proper behavior for 423*e4b17023SJohn MarinoNaN@. Thus, the meaning of the return value is different for each set. 424*e4b17023SJohn MarinoDo not rely on this implementation; only the semantics documented 425*e4b17023SJohn Marinobelow are guaranteed. 426*e4b17023SJohn Marino 427*e4b17023SJohn Marino@deftypefn {Runtime Function} int __eqsf2 (float @var{a}, float @var{b}) 428*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __eqdf2 (double @var{a}, double @var{b}) 429*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __eqtf2 (long double @var{a}, long double @var{b}) 430*e4b17023SJohn MarinoThese functions return zero if neither argument is NaN, and @var{a} and 431*e4b17023SJohn Marino@var{b} are equal. 432*e4b17023SJohn Marino@end deftypefn 433*e4b17023SJohn Marino 434*e4b17023SJohn Marino@deftypefn {Runtime Function} int __nesf2 (float @var{a}, float @var{b}) 435*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __nedf2 (double @var{a}, double @var{b}) 436*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __netf2 (long double @var{a}, long double @var{b}) 437*e4b17023SJohn MarinoThese functions return a nonzero value if either argument is NaN, or 438*e4b17023SJohn Marinoif @var{a} and @var{b} are unequal. 439*e4b17023SJohn Marino@end deftypefn 440*e4b17023SJohn Marino 441*e4b17023SJohn Marino@deftypefn {Runtime Function} int __gesf2 (float @var{a}, float @var{b}) 442*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __gedf2 (double @var{a}, double @var{b}) 443*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __getf2 (long double @var{a}, long double @var{b}) 444*e4b17023SJohn MarinoThese functions return a value greater than or equal to zero if 445*e4b17023SJohn Marinoneither argument is NaN, and @var{a} is greater than or equal to 446*e4b17023SJohn Marino@var{b}. 447*e4b17023SJohn Marino@end deftypefn 448*e4b17023SJohn Marino 449*e4b17023SJohn Marino@deftypefn {Runtime Function} int __ltsf2 (float @var{a}, float @var{b}) 450*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __ltdf2 (double @var{a}, double @var{b}) 451*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __lttf2 (long double @var{a}, long double @var{b}) 452*e4b17023SJohn MarinoThese functions return a value less than zero if neither argument is 453*e4b17023SJohn MarinoNaN, and @var{a} is strictly less than @var{b}. 454*e4b17023SJohn Marino@end deftypefn 455*e4b17023SJohn Marino 456*e4b17023SJohn Marino@deftypefn {Runtime Function} int __lesf2 (float @var{a}, float @var{b}) 457*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __ledf2 (double @var{a}, double @var{b}) 458*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __letf2 (long double @var{a}, long double @var{b}) 459*e4b17023SJohn MarinoThese functions return a value less than or equal to zero if neither 460*e4b17023SJohn Marinoargument is NaN, and @var{a} is less than or equal to @var{b}. 461*e4b17023SJohn Marino@end deftypefn 462*e4b17023SJohn Marino 463*e4b17023SJohn Marino@deftypefn {Runtime Function} int __gtsf2 (float @var{a}, float @var{b}) 464*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __gtdf2 (double @var{a}, double @var{b}) 465*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __gttf2 (long double @var{a}, long double @var{b}) 466*e4b17023SJohn MarinoThese functions return a value greater than zero if neither argument 467*e4b17023SJohn Marinois NaN, and @var{a} is strictly greater than @var{b}. 468*e4b17023SJohn Marino@end deftypefn 469*e4b17023SJohn Marino 470*e4b17023SJohn Marino@subsection Other floating-point functions 471*e4b17023SJohn Marino 472*e4b17023SJohn Marino@deftypefn {Runtime Function} float __powisf2 (float @var{a}, int @var{b}) 473*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __powidf2 (double @var{a}, int @var{b}) 474*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __powitf2 (long double @var{a}, int @var{b}) 475*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __powixf2 (long double @var{a}, int @var{b}) 476*e4b17023SJohn MarinoThese functions convert raise @var{a} to the power @var{b}. 477*e4b17023SJohn Marino@end deftypefn 478*e4b17023SJohn Marino 479*e4b17023SJohn Marino@deftypefn {Runtime Function} {complex float} __mulsc3 (float @var{a}, float @var{b}, float @var{c}, float @var{d}) 480*e4b17023SJohn Marino@deftypefnx {Runtime Function} {complex double} __muldc3 (double @var{a}, double @var{b}, double @var{c}, double @var{d}) 481*e4b17023SJohn Marino@deftypefnx {Runtime Function} {complex long double} __multc3 (long double @var{a}, long double @var{b}, long double @var{c}, long double @var{d}) 482*e4b17023SJohn Marino@deftypefnx {Runtime Function} {complex long double} __mulxc3 (long double @var{a}, long double @var{b}, long double @var{c}, long double @var{d}) 483*e4b17023SJohn MarinoThese functions return the product of @math{@var{a} + i@var{b}} and 484*e4b17023SJohn Marino@math{@var{c} + i@var{d}}, following the rules of C99 Annex G@. 485*e4b17023SJohn Marino@end deftypefn 486*e4b17023SJohn Marino 487*e4b17023SJohn Marino@deftypefn {Runtime Function} {complex float} __divsc3 (float @var{a}, float @var{b}, float @var{c}, float @var{d}) 488*e4b17023SJohn Marino@deftypefnx {Runtime Function} {complex double} __divdc3 (double @var{a}, double @var{b}, double @var{c}, double @var{d}) 489*e4b17023SJohn Marino@deftypefnx {Runtime Function} {complex long double} __divtc3 (long double @var{a}, long double @var{b}, long double @var{c}, long double @var{d}) 490*e4b17023SJohn Marino@deftypefnx {Runtime Function} {complex long double} __divxc3 (long double @var{a}, long double @var{b}, long double @var{c}, long double @var{d}) 491*e4b17023SJohn MarinoThese functions return the quotient of @math{@var{a} + i@var{b}} and 492*e4b17023SJohn Marino@math{@var{c} + i@var{d}} (i.e., @math{(@var{a} + i@var{b}) / (@var{c} 493*e4b17023SJohn Marino+ i@var{d})}), following the rules of C99 Annex G@. 494*e4b17023SJohn Marino@end deftypefn 495*e4b17023SJohn Marino 496*e4b17023SJohn Marino@node Decimal float library routines 497*e4b17023SJohn Marino@section Routines for decimal floating point emulation 498*e4b17023SJohn Marino@cindex decimal float library 499*e4b17023SJohn Marino@cindex IEEE 754-2008 500*e4b17023SJohn Marino 501*e4b17023SJohn MarinoThe software decimal floating point library implements IEEE 754-2008 502*e4b17023SJohn Marinodecimal floating point arithmetic and is only activated on selected 503*e4b17023SJohn Marinotargets. 504*e4b17023SJohn Marino 505*e4b17023SJohn MarinoThe software decimal floating point library supports either DPD 506*e4b17023SJohn Marino(Densely Packed Decimal) or BID (Binary Integer Decimal) encoding 507*e4b17023SJohn Marinoas selected at configure time. 508*e4b17023SJohn Marino 509*e4b17023SJohn Marino 510*e4b17023SJohn Marino@subsection Arithmetic functions 511*e4b17023SJohn Marino 512*e4b17023SJohn Marino@deftypefn {Runtime Function} _Decimal32 __dpd_addsd3 (_Decimal32 @var{a}, _Decimal32 @var{b}) 513*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __bid_addsd3 (_Decimal32 @var{a}, _Decimal32 @var{b}) 514*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __dpd_adddd3 (_Decimal64 @var{a}, _Decimal64 @var{b}) 515*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __bid_adddd3 (_Decimal64 @var{a}, _Decimal64 @var{b}) 516*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __dpd_addtd3 (_Decimal128 @var{a}, _Decimal128 @var{b}) 517*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __bid_addtd3 (_Decimal128 @var{a}, _Decimal128 @var{b}) 518*e4b17023SJohn MarinoThese functions return the sum of @var{a} and @var{b}. 519*e4b17023SJohn Marino@end deftypefn 520*e4b17023SJohn Marino 521*e4b17023SJohn Marino@deftypefn {Runtime Function} _Decimal32 __dpd_subsd3 (_Decimal32 @var{a}, _Decimal32 @var{b}) 522*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __bid_subsd3 (_Decimal32 @var{a}, _Decimal32 @var{b}) 523*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __dpd_subdd3 (_Decimal64 @var{a}, _Decimal64 @var{b}) 524*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __bid_subdd3 (_Decimal64 @var{a}, _Decimal64 @var{b}) 525*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __dpd_subtd3 (_Decimal128 @var{a}, _Decimal128 @var{b}) 526*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __bid_subtd3 (_Decimal128 @var{a}, _Decimal128 @var{b}) 527*e4b17023SJohn MarinoThese functions return the difference between @var{b} and @var{a}; 528*e4b17023SJohn Marinothat is, @w{@math{@var{a} - @var{b}}}. 529*e4b17023SJohn Marino@end deftypefn 530*e4b17023SJohn Marino 531*e4b17023SJohn Marino@deftypefn {Runtime Function} _Decimal32 __dpd_mulsd3 (_Decimal32 @var{a}, _Decimal32 @var{b}) 532*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __bid_mulsd3 (_Decimal32 @var{a}, _Decimal32 @var{b}) 533*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __dpd_muldd3 (_Decimal64 @var{a}, _Decimal64 @var{b}) 534*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __bid_muldd3 (_Decimal64 @var{a}, _Decimal64 @var{b}) 535*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __dpd_multd3 (_Decimal128 @var{a}, _Decimal128 @var{b}) 536*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __bid_multd3 (_Decimal128 @var{a}, _Decimal128 @var{b}) 537*e4b17023SJohn MarinoThese functions return the product of @var{a} and @var{b}. 538*e4b17023SJohn Marino@end deftypefn 539*e4b17023SJohn Marino 540*e4b17023SJohn Marino@deftypefn {Runtime Function} _Decimal32 __dpd_divsd3 (_Decimal32 @var{a}, _Decimal32 @var{b}) 541*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __bid_divsd3 (_Decimal32 @var{a}, _Decimal32 @var{b}) 542*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __dpd_divdd3 (_Decimal64 @var{a}, _Decimal64 @var{b}) 543*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __bid_divdd3 (_Decimal64 @var{a}, _Decimal64 @var{b}) 544*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __dpd_divtd3 (_Decimal128 @var{a}, _Decimal128 @var{b}) 545*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __bid_divtd3 (_Decimal128 @var{a}, _Decimal128 @var{b}) 546*e4b17023SJohn MarinoThese functions return the quotient of @var{a} and @var{b}; that is, 547*e4b17023SJohn Marino@w{@math{@var{a} / @var{b}}}. 548*e4b17023SJohn Marino@end deftypefn 549*e4b17023SJohn Marino 550*e4b17023SJohn Marino@deftypefn {Runtime Function} _Decimal32 __dpd_negsd2 (_Decimal32 @var{a}) 551*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __bid_negsd2 (_Decimal32 @var{a}) 552*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __dpd_negdd2 (_Decimal64 @var{a}) 553*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __bid_negdd2 (_Decimal64 @var{a}) 554*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __dpd_negtd2 (_Decimal128 @var{a}) 555*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __bid_negtd2 (_Decimal128 @var{a}) 556*e4b17023SJohn MarinoThese functions return the negation of @var{a}. They simply flip the 557*e4b17023SJohn Marinosign bit, so they can produce negative zero and negative NaN@. 558*e4b17023SJohn Marino@end deftypefn 559*e4b17023SJohn Marino 560*e4b17023SJohn Marino@subsection Conversion functions 561*e4b17023SJohn Marino 562*e4b17023SJohn Marino@deftypefn {Runtime Function} _Decimal64 __dpd_extendsddd2 (_Decimal32 @var{a}) 563*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __bid_extendsddd2 (_Decimal32 @var{a}) 564*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __dpd_extendsdtd2 (_Decimal32 @var{a}) 565*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __bid_extendsdtd2 (_Decimal32 @var{a}) 566*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __dpd_extendddtd2 (_Decimal64 @var{a}) 567*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __bid_extendddtd2 (_Decimal64 @var{a}) 568*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __dpd_truncddsd2 (_Decimal64 @var{a}) 569*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __bid_truncddsd2 (_Decimal64 @var{a}) 570*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __dpd_trunctdsd2 (_Decimal128 @var{a}) 571*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __bid_trunctdsd2 (_Decimal128 @var{a}) 572*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __dpd_trunctddd2 (_Decimal128 @var{a}) 573*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __bid_trunctddd2 (_Decimal128 @var{a}) 574*e4b17023SJohn MarinoThese functions convert the value @var{a} from one decimal floating type 575*e4b17023SJohn Marinoto another. 576*e4b17023SJohn Marino@end deftypefn 577*e4b17023SJohn Marino 578*e4b17023SJohn Marino@deftypefn {Runtime Function} _Decimal64 __dpd_extendsfdd (float @var{a}) 579*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __bid_extendsfdd (float @var{a}) 580*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __dpd_extendsftd (float @var{a}) 581*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __bid_extendsftd (float @var{a}) 582*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __dpd_extenddftd (double @var{a}) 583*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __bid_extenddftd (double @var{a}) 584*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __dpd_extendxftd ({long double} @var{a}) 585*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __bid_extendxftd ({long double} @var{a}) 586*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __dpd_truncdfsd (double @var{a}) 587*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __bid_truncdfsd (double @var{a}) 588*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __dpd_truncxfsd ({long double} @var{a}) 589*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __bid_truncxfsd ({long double} @var{a}) 590*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __dpd_trunctfsd ({long double} @var{a}) 591*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __bid_trunctfsd ({long double} @var{a}) 592*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __dpd_truncxfdd ({long double} @var{a}) 593*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __bid_truncxfdd ({long double} @var{a}) 594*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __dpd_trunctfdd ({long double} @var{a}) 595*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __bid_trunctfdd ({long double} @var{a}) 596*e4b17023SJohn MarinoThese functions convert the value of @var{a} from a binary floating type 597*e4b17023SJohn Marinoto a decimal floating type of a different size. 598*e4b17023SJohn Marino@end deftypefn 599*e4b17023SJohn Marino 600*e4b17023SJohn Marino@deftypefn {Runtime Function} float __dpd_truncddsf (_Decimal64 @var{a}) 601*e4b17023SJohn Marino@deftypefnx {Runtime Function} float __bid_truncddsf (_Decimal64 @var{a}) 602*e4b17023SJohn Marino@deftypefnx {Runtime Function} float __dpd_trunctdsf (_Decimal128 @var{a}) 603*e4b17023SJohn Marino@deftypefnx {Runtime Function} float __bid_trunctdsf (_Decimal128 @var{a}) 604*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __dpd_extendsddf (_Decimal32 @var{a}) 605*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __bid_extendsddf (_Decimal32 @var{a}) 606*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __dpd_trunctddf (_Decimal128 @var{a}) 607*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __bid_trunctddf (_Decimal128 @var{a}) 608*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __dpd_extendsdxf (_Decimal32 @var{a}) 609*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __bid_extendsdxf (_Decimal32 @var{a}) 610*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __dpd_extendddxf (_Decimal64 @var{a}) 611*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __bid_extendddxf (_Decimal64 @var{a}) 612*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __dpd_trunctdxf (_Decimal128 @var{a}) 613*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __bid_trunctdxf (_Decimal128 @var{a}) 614*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __dpd_extendsdtf (_Decimal32 @var{a}) 615*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __bid_extendsdtf (_Decimal32 @var{a}) 616*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __dpd_extendddtf (_Decimal64 @var{a}) 617*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __bid_extendddtf (_Decimal64 @var{a}) 618*e4b17023SJohn MarinoThese functions convert the value of @var{a} from a decimal floating type 619*e4b17023SJohn Marinoto a binary floating type of a different size. 620*e4b17023SJohn Marino@end deftypefn 621*e4b17023SJohn Marino 622*e4b17023SJohn Marino@deftypefn {Runtime Function} _Decimal32 __dpd_extendsfsd (float @var{a}) 623*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __bid_extendsfsd (float @var{a}) 624*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __dpd_extenddfdd (double @var{a}) 625*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __bid_extenddfdd (double @var{a}) 626*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __dpd_extendtftd ({long double} @var{a}) 627*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __bid_extendtftd ({long double} @var{a}) 628*e4b17023SJohn Marino@deftypefnx {Runtime Function} float __dpd_truncsdsf (_Decimal32 @var{a}) 629*e4b17023SJohn Marino@deftypefnx {Runtime Function} float __bid_truncsdsf (_Decimal32 @var{a}) 630*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __dpd_truncdddf (_Decimal64 @var{a}) 631*e4b17023SJohn Marino@deftypefnx {Runtime Function} double __bid_truncdddf (_Decimal64 @var{a}) 632*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __dpd_trunctdtf (_Decimal128 @var{a}) 633*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long double} __bid_trunctdtf (_Decimal128 @var{a}) 634*e4b17023SJohn MarinoThese functions convert the value of @var{a} between decimal and 635*e4b17023SJohn Marinobinary floating types of the same size. 636*e4b17023SJohn Marino@end deftypefn 637*e4b17023SJohn Marino 638*e4b17023SJohn Marino@deftypefn {Runtime Function} int __dpd_fixsdsi (_Decimal32 @var{a}) 639*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_fixsdsi (_Decimal32 @var{a}) 640*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_fixddsi (_Decimal64 @var{a}) 641*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_fixddsi (_Decimal64 @var{a}) 642*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_fixtdsi (_Decimal128 @var{a}) 643*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_fixtdsi (_Decimal128 @var{a}) 644*e4b17023SJohn MarinoThese functions convert @var{a} to a signed integer. 645*e4b17023SJohn Marino@end deftypefn 646*e4b17023SJohn Marino 647*e4b17023SJohn Marino@deftypefn {Runtime Function} long __dpd_fixsddi (_Decimal32 @var{a}) 648*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __bid_fixsddi (_Decimal32 @var{a}) 649*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __dpd_fixdddi (_Decimal64 @var{a}) 650*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __bid_fixdddi (_Decimal64 @var{a}) 651*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __dpd_fixtddi (_Decimal128 @var{a}) 652*e4b17023SJohn Marino@deftypefnx {Runtime Function} long __bid_fixtddi (_Decimal128 @var{a}) 653*e4b17023SJohn MarinoThese functions convert @var{a} to a signed long. 654*e4b17023SJohn Marino@end deftypefn 655*e4b17023SJohn Marino 656*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned int} __dpd_fixunssdsi (_Decimal32 @var{a}) 657*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __bid_fixunssdsi (_Decimal32 @var{a}) 658*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __dpd_fixunsddsi (_Decimal64 @var{a}) 659*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __bid_fixunsddsi (_Decimal64 @var{a}) 660*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __dpd_fixunstdsi (_Decimal128 @var{a}) 661*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __bid_fixunstdsi (_Decimal128 @var{a}) 662*e4b17023SJohn MarinoThese functions convert @var{a} to an unsigned integer. Negative values all become zero. 663*e4b17023SJohn Marino@end deftypefn 664*e4b17023SJohn Marino 665*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned long} __dpd_fixunssddi (_Decimal32 @var{a}) 666*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __bid_fixunssddi (_Decimal32 @var{a}) 667*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __dpd_fixunsdddi (_Decimal64 @var{a}) 668*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __bid_fixunsdddi (_Decimal64 @var{a}) 669*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __dpd_fixunstddi (_Decimal128 @var{a}) 670*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __bid_fixunstddi (_Decimal128 @var{a}) 671*e4b17023SJohn MarinoThese functions convert @var{a} to an unsigned long. Negative values 672*e4b17023SJohn Marinoall become zero. 673*e4b17023SJohn Marino@end deftypefn 674*e4b17023SJohn Marino 675*e4b17023SJohn Marino@deftypefn {Runtime Function} _Decimal32 __dpd_floatsisd (int @var{i}) 676*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __bid_floatsisd (int @var{i}) 677*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __dpd_floatsidd (int @var{i}) 678*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __bid_floatsidd (int @var{i}) 679*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __dpd_floatsitd (int @var{i}) 680*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __bid_floatsitd (int @var{i}) 681*e4b17023SJohn MarinoThese functions convert @var{i}, a signed integer, to decimal floating point. 682*e4b17023SJohn Marino@end deftypefn 683*e4b17023SJohn Marino 684*e4b17023SJohn Marino@deftypefn {Runtime Function} _Decimal32 __dpd_floatdisd (long @var{i}) 685*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __bid_floatdisd (long @var{i}) 686*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __dpd_floatdidd (long @var{i}) 687*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __bid_floatdidd (long @var{i}) 688*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __dpd_floatditd (long @var{i}) 689*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __bid_floatditd (long @var{i}) 690*e4b17023SJohn MarinoThese functions convert @var{i}, a signed long, to decimal floating point. 691*e4b17023SJohn Marino@end deftypefn 692*e4b17023SJohn Marino 693*e4b17023SJohn Marino@deftypefn {Runtime Function} _Decimal32 __dpd_floatunssisd (unsigned int @var{i}) 694*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __bid_floatunssisd (unsigned int @var{i}) 695*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __dpd_floatunssidd (unsigned int @var{i}) 696*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __bid_floatunssidd (unsigned int @var{i}) 697*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __dpd_floatunssitd (unsigned int @var{i}) 698*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __bid_floatunssitd (unsigned int @var{i}) 699*e4b17023SJohn MarinoThese functions convert @var{i}, an unsigned integer, to decimal floating point. 700*e4b17023SJohn Marino@end deftypefn 701*e4b17023SJohn Marino 702*e4b17023SJohn Marino@deftypefn {Runtime Function} _Decimal32 __dpd_floatunsdisd (unsigned long @var{i}) 703*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal32 __bid_floatunsdisd (unsigned long @var{i}) 704*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __dpd_floatunsdidd (unsigned long @var{i}) 705*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal64 __bid_floatunsdidd (unsigned long @var{i}) 706*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __dpd_floatunsditd (unsigned long @var{i}) 707*e4b17023SJohn Marino@deftypefnx {Runtime Function} _Decimal128 __bid_floatunsditd (unsigned long @var{i}) 708*e4b17023SJohn MarinoThese functions convert @var{i}, an unsigned long, to decimal floating point. 709*e4b17023SJohn Marino@end deftypefn 710*e4b17023SJohn Marino 711*e4b17023SJohn Marino@subsection Comparison functions 712*e4b17023SJohn Marino 713*e4b17023SJohn Marino@deftypefn {Runtime Function} int __dpd_unordsd2 (_Decimal32 @var{a}, _Decimal32 @var{b}) 714*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_unordsd2 (_Decimal32 @var{a}, _Decimal32 @var{b}) 715*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_unorddd2 (_Decimal64 @var{a}, _Decimal64 @var{b}) 716*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_unorddd2 (_Decimal64 @var{a}, _Decimal64 @var{b}) 717*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_unordtd2 (_Decimal128 @var{a}, _Decimal128 @var{b}) 718*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_unordtd2 (_Decimal128 @var{a}, _Decimal128 @var{b}) 719*e4b17023SJohn MarinoThese functions return a nonzero value if either argument is NaN, otherwise 0. 720*e4b17023SJohn Marino@end deftypefn 721*e4b17023SJohn Marino 722*e4b17023SJohn MarinoThere is also a complete group of higher level functions which 723*e4b17023SJohn Marinocorrespond directly to comparison operators. They implement the ISO C 724*e4b17023SJohn Marinosemantics for floating-point comparisons, taking NaN into account. 725*e4b17023SJohn MarinoPay careful attention to the return values defined for each set. 726*e4b17023SJohn MarinoUnder the hood, all of these routines are implemented as 727*e4b17023SJohn Marino 728*e4b17023SJohn Marino@smallexample 729*e4b17023SJohn Marino if (__bid_unord@var{X}d2 (a, b)) 730*e4b17023SJohn Marino return @var{E}; 731*e4b17023SJohn Marino return __bid_cmp@var{X}d2 (a, b); 732*e4b17023SJohn Marino@end smallexample 733*e4b17023SJohn Marino 734*e4b17023SJohn Marino@noindent 735*e4b17023SJohn Marinowhere @var{E} is a constant chosen to give the proper behavior for 736*e4b17023SJohn MarinoNaN@. Thus, the meaning of the return value is different for each set. 737*e4b17023SJohn MarinoDo not rely on this implementation; only the semantics documented 738*e4b17023SJohn Marinobelow are guaranteed. 739*e4b17023SJohn Marino 740*e4b17023SJohn Marino@deftypefn {Runtime Function} int __dpd_eqsd2 (_Decimal32 @var{a}, _Decimal32 @var{b}) 741*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_eqsd2 (_Decimal32 @var{a}, _Decimal32 @var{b}) 742*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_eqdd2 (_Decimal64 @var{a}, _Decimal64 @var{b}) 743*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_eqdd2 (_Decimal64 @var{a}, _Decimal64 @var{b}) 744*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_eqtd2 (_Decimal128 @var{a}, _Decimal128 @var{b}) 745*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_eqtd2 (_Decimal128 @var{a}, _Decimal128 @var{b}) 746*e4b17023SJohn MarinoThese functions return zero if neither argument is NaN, and @var{a} and 747*e4b17023SJohn Marino@var{b} are equal. 748*e4b17023SJohn Marino@end deftypefn 749*e4b17023SJohn Marino 750*e4b17023SJohn Marino@deftypefn {Runtime Function} int __dpd_nesd2 (_Decimal32 @var{a}, _Decimal32 @var{b}) 751*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_nesd2 (_Decimal32 @var{a}, _Decimal32 @var{b}) 752*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_nedd2 (_Decimal64 @var{a}, _Decimal64 @var{b}) 753*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_nedd2 (_Decimal64 @var{a}, _Decimal64 @var{b}) 754*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_netd2 (_Decimal128 @var{a}, _Decimal128 @var{b}) 755*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_netd2 (_Decimal128 @var{a}, _Decimal128 @var{b}) 756*e4b17023SJohn MarinoThese functions return a nonzero value if either argument is NaN, or 757*e4b17023SJohn Marinoif @var{a} and @var{b} are unequal. 758*e4b17023SJohn Marino@end deftypefn 759*e4b17023SJohn Marino 760*e4b17023SJohn Marino@deftypefn {Runtime Function} int __dpd_gesd2 (_Decimal32 @var{a}, _Decimal32 @var{b}) 761*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_gesd2 (_Decimal32 @var{a}, _Decimal32 @var{b}) 762*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_gedd2 (_Decimal64 @var{a}, _Decimal64 @var{b}) 763*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_gedd2 (_Decimal64 @var{a}, _Decimal64 @var{b}) 764*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_getd2 (_Decimal128 @var{a}, _Decimal128 @var{b}) 765*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_getd2 (_Decimal128 @var{a}, _Decimal128 @var{b}) 766*e4b17023SJohn MarinoThese functions return a value greater than or equal to zero if 767*e4b17023SJohn Marinoneither argument is NaN, and @var{a} is greater than or equal to 768*e4b17023SJohn Marino@var{b}. 769*e4b17023SJohn Marino@end deftypefn 770*e4b17023SJohn Marino 771*e4b17023SJohn Marino@deftypefn {Runtime Function} int __dpd_ltsd2 (_Decimal32 @var{a}, _Decimal32 @var{b}) 772*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_ltsd2 (_Decimal32 @var{a}, _Decimal32 @var{b}) 773*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_ltdd2 (_Decimal64 @var{a}, _Decimal64 @var{b}) 774*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_ltdd2 (_Decimal64 @var{a}, _Decimal64 @var{b}) 775*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_lttd2 (_Decimal128 @var{a}, _Decimal128 @var{b}) 776*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_lttd2 (_Decimal128 @var{a}, _Decimal128 @var{b}) 777*e4b17023SJohn MarinoThese functions return a value less than zero if neither argument is 778*e4b17023SJohn MarinoNaN, and @var{a} is strictly less than @var{b}. 779*e4b17023SJohn Marino@end deftypefn 780*e4b17023SJohn Marino 781*e4b17023SJohn Marino@deftypefn {Runtime Function} int __dpd_lesd2 (_Decimal32 @var{a}, _Decimal32 @var{b}) 782*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_lesd2 (_Decimal32 @var{a}, _Decimal32 @var{b}) 783*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_ledd2 (_Decimal64 @var{a}, _Decimal64 @var{b}) 784*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_ledd2 (_Decimal64 @var{a}, _Decimal64 @var{b}) 785*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_letd2 (_Decimal128 @var{a}, _Decimal128 @var{b}) 786*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_letd2 (_Decimal128 @var{a}, _Decimal128 @var{b}) 787*e4b17023SJohn MarinoThese functions return a value less than or equal to zero if neither 788*e4b17023SJohn Marinoargument is NaN, and @var{a} is less than or equal to @var{b}. 789*e4b17023SJohn Marino@end deftypefn 790*e4b17023SJohn Marino 791*e4b17023SJohn Marino@deftypefn {Runtime Function} int __dpd_gtsd2 (_Decimal32 @var{a}, _Decimal32 @var{b}) 792*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_gtsd2 (_Decimal32 @var{a}, _Decimal32 @var{b}) 793*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_gtdd2 (_Decimal64 @var{a}, _Decimal64 @var{b}) 794*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_gtdd2 (_Decimal64 @var{a}, _Decimal64 @var{b}) 795*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __dpd_gttd2 (_Decimal128 @var{a}, _Decimal128 @var{b}) 796*e4b17023SJohn Marino@deftypefnx {Runtime Function} int __bid_gttd2 (_Decimal128 @var{a}, _Decimal128 @var{b}) 797*e4b17023SJohn MarinoThese functions return a value greater than zero if neither argument 798*e4b17023SJohn Marinois NaN, and @var{a} is strictly greater than @var{b}. 799*e4b17023SJohn Marino@end deftypefn 800*e4b17023SJohn Marino 801*e4b17023SJohn Marino@node Fixed-point fractional library routines 802*e4b17023SJohn Marino@section Routines for fixed-point fractional emulation 803*e4b17023SJohn Marino@cindex fixed-point fractional library 804*e4b17023SJohn Marino@cindex fractional types 805*e4b17023SJohn Marino@cindex Embedded C 806*e4b17023SJohn Marino 807*e4b17023SJohn MarinoThe software fixed-point library implements fixed-point fractional 808*e4b17023SJohn Marinoarithmetic, and is only activated on selected targets. 809*e4b17023SJohn Marino 810*e4b17023SJohn MarinoFor ease of comprehension @code{fract} is an alias for the 811*e4b17023SJohn Marino@code{_Fract} type, @code{accum} an alias for @code{_Accum}, and 812*e4b17023SJohn Marino@code{sat} an alias for @code{_Sat}. 813*e4b17023SJohn Marino 814*e4b17023SJohn MarinoFor illustrative purposes, in this section the fixed-point fractional type 815*e4b17023SJohn Marino@code{@w{short fract}} is assumed to correspond to machine mode @code{QQmode}; 816*e4b17023SJohn Marino@code{@w{unsigned short fract}} to @code{UQQmode}; 817*e4b17023SJohn Marino@code{fract} to @code{HQmode}; 818*e4b17023SJohn Marino@code{@w{unsigned fract}} to @code{UHQmode}; 819*e4b17023SJohn Marino@code{@w{long fract}} to @code{SQmode}; 820*e4b17023SJohn Marino@code{@w{unsigned long fract}} to @code{USQmode}; 821*e4b17023SJohn Marino@code{@w{long long fract}} to @code{DQmode}; 822*e4b17023SJohn Marinoand @code{@w{unsigned long long fract}} to @code{UDQmode}. 823*e4b17023SJohn MarinoSimilarly the fixed-point accumulator type 824*e4b17023SJohn Marino@code{@w{short accum}} corresponds to @code{HAmode}; 825*e4b17023SJohn Marino@code{@w{unsigned short accum}} to @code{UHAmode}; 826*e4b17023SJohn Marino@code{accum} to @code{SAmode}; 827*e4b17023SJohn Marino@code{@w{unsigned accum}} to @code{USAmode}; 828*e4b17023SJohn Marino@code{@w{long accum}} to @code{DAmode}; 829*e4b17023SJohn Marino@code{@w{unsigned long accum}} to @code{UDAmode}; 830*e4b17023SJohn Marino@code{@w{long long accum}} to @code{TAmode}; 831*e4b17023SJohn Marinoand @code{@w{unsigned long long accum}} to @code{UTAmode}. 832*e4b17023SJohn Marino 833*e4b17023SJohn Marino@subsection Arithmetic functions 834*e4b17023SJohn Marino 835*e4b17023SJohn Marino@deftypefn {Runtime Function} {short fract} __addqq3 (short fract @var{a}, short fract @var{b}) 836*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __addhq3 (fract @var{a}, fract @var{b}) 837*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __addsq3 (long fract @var{a}, long fract @var{b}) 838*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __adddq3 (long long fract @var{a}, long long fract @var{b}) 839*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __adduqq3 (unsigned short fract @var{a}, unsigned short fract @var{b}) 840*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __adduhq3 (unsigned fract @var{a}, unsigned fract @var{b}) 841*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __addusq3 (unsigned long fract @var{a}, unsigned long fract @var{b}) 842*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __addudq3 (unsigned long long fract @var{a}, unsigned long long fract @var{b}) 843*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __addha3 (short accum @var{a}, short accum @var{b}) 844*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __addsa3 (accum @var{a}, accum @var{b}) 845*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __addda3 (long accum @var{a}, long accum @var{b}) 846*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __addta3 (long long accum @var{a}, long long accum @var{b}) 847*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __adduha3 (unsigned short accum @var{a}, unsigned short accum @var{b}) 848*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __addusa3 (unsigned accum @var{a}, unsigned accum @var{b}) 849*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __adduda3 (unsigned long accum @var{a}, unsigned long accum @var{b}) 850*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __adduta3 (unsigned long long accum @var{a}, unsigned long long accum @var{b}) 851*e4b17023SJohn MarinoThese functions return the sum of @var{a} and @var{b}. 852*e4b17023SJohn Marino@end deftypefn 853*e4b17023SJohn Marino 854*e4b17023SJohn Marino@deftypefn {Runtime Function} {short fract} __ssaddqq3 (short fract @var{a}, short fract @var{b}) 855*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __ssaddhq3 (fract @var{a}, fract @var{b}) 856*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __ssaddsq3 (long fract @var{a}, long fract @var{b}) 857*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __ssadddq3 (long long fract @var{a}, long long fract @var{b}) 858*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __ssaddha3 (short accum @var{a}, short accum @var{b}) 859*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __ssaddsa3 (accum @var{a}, accum @var{b}) 860*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __ssaddda3 (long accum @var{a}, long accum @var{b}) 861*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __ssaddta3 (long long accum @var{a}, long long accum @var{b}) 862*e4b17023SJohn MarinoThese functions return the sum of @var{a} and @var{b} with signed saturation. 863*e4b17023SJohn Marino@end deftypefn 864*e4b17023SJohn Marino 865*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned short fract} __usadduqq3 (unsigned short fract @var{a}, unsigned short fract @var{b}) 866*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __usadduhq3 (unsigned fract @var{a}, unsigned fract @var{b}) 867*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __usaddusq3 (unsigned long fract @var{a}, unsigned long fract @var{b}) 868*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __usaddudq3 (unsigned long long fract @var{a}, unsigned long long fract @var{b}) 869*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __usadduha3 (unsigned short accum @var{a}, unsigned short accum @var{b}) 870*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __usaddusa3 (unsigned accum @var{a}, unsigned accum @var{b}) 871*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __usadduda3 (unsigned long accum @var{a}, unsigned long accum @var{b}) 872*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __usadduta3 (unsigned long long accum @var{a}, unsigned long long accum @var{b}) 873*e4b17023SJohn MarinoThese functions return the sum of @var{a} and @var{b} with unsigned saturation. 874*e4b17023SJohn Marino@end deftypefn 875*e4b17023SJohn Marino 876*e4b17023SJohn Marino@deftypefn {Runtime Function} {short fract} __subqq3 (short fract @var{a}, short fract @var{b}) 877*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __subhq3 (fract @var{a}, fract @var{b}) 878*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __subsq3 (long fract @var{a}, long fract @var{b}) 879*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __subdq3 (long long fract @var{a}, long long fract @var{b}) 880*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __subuqq3 (unsigned short fract @var{a}, unsigned short fract @var{b}) 881*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __subuhq3 (unsigned fract @var{a}, unsigned fract @var{b}) 882*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __subusq3 (unsigned long fract @var{a}, unsigned long fract @var{b}) 883*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __subudq3 (unsigned long long fract @var{a}, unsigned long long fract @var{b}) 884*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __subha3 (short accum @var{a}, short accum @var{b}) 885*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __subsa3 (accum @var{a}, accum @var{b}) 886*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __subda3 (long accum @var{a}, long accum @var{b}) 887*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __subta3 (long long accum @var{a}, long long accum @var{b}) 888*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __subuha3 (unsigned short accum @var{a}, unsigned short accum @var{b}) 889*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __subusa3 (unsigned accum @var{a}, unsigned accum @var{b}) 890*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __subuda3 (unsigned long accum @var{a}, unsigned long accum @var{b}) 891*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __subuta3 (unsigned long long accum @var{a}, unsigned long long accum @var{b}) 892*e4b17023SJohn MarinoThese functions return the difference of @var{a} and @var{b}; 893*e4b17023SJohn Marinothat is, @code{@var{a} - @var{b}}. 894*e4b17023SJohn Marino@end deftypefn 895*e4b17023SJohn Marino 896*e4b17023SJohn Marino@deftypefn {Runtime Function} {short fract} __sssubqq3 (short fract @var{a}, short fract @var{b}) 897*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __sssubhq3 (fract @var{a}, fract @var{b}) 898*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __sssubsq3 (long fract @var{a}, long fract @var{b}) 899*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __sssubdq3 (long long fract @var{a}, long long fract @var{b}) 900*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __sssubha3 (short accum @var{a}, short accum @var{b}) 901*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __sssubsa3 (accum @var{a}, accum @var{b}) 902*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __sssubda3 (long accum @var{a}, long accum @var{b}) 903*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __sssubta3 (long long accum @var{a}, long long accum @var{b}) 904*e4b17023SJohn MarinoThese functions return the difference of @var{a} and @var{b} with signed 905*e4b17023SJohn Marinosaturation; that is, @code{@var{a} - @var{b}}. 906*e4b17023SJohn Marino@end deftypefn 907*e4b17023SJohn Marino 908*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned short fract} __ussubuqq3 (unsigned short fract @var{a}, unsigned short fract @var{b}) 909*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __ussubuhq3 (unsigned fract @var{a}, unsigned fract @var{b}) 910*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __ussubusq3 (unsigned long fract @var{a}, unsigned long fract @var{b}) 911*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __ussubudq3 (unsigned long long fract @var{a}, unsigned long long fract @var{b}) 912*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __ussubuha3 (unsigned short accum @var{a}, unsigned short accum @var{b}) 913*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __ussubusa3 (unsigned accum @var{a}, unsigned accum @var{b}) 914*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __ussubuda3 (unsigned long accum @var{a}, unsigned long accum @var{b}) 915*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __ussubuta3 (unsigned long long accum @var{a}, unsigned long long accum @var{b}) 916*e4b17023SJohn MarinoThese functions return the difference of @var{a} and @var{b} with unsigned 917*e4b17023SJohn Marinosaturation; that is, @code{@var{a} - @var{b}}. 918*e4b17023SJohn Marino@end deftypefn 919*e4b17023SJohn Marino 920*e4b17023SJohn Marino@deftypefn {Runtime Function} {short fract} __mulqq3 (short fract @var{a}, short fract @var{b}) 921*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __mulhq3 (fract @var{a}, fract @var{b}) 922*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __mulsq3 (long fract @var{a}, long fract @var{b}) 923*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __muldq3 (long long fract @var{a}, long long fract @var{b}) 924*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __muluqq3 (unsigned short fract @var{a}, unsigned short fract @var{b}) 925*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __muluhq3 (unsigned fract @var{a}, unsigned fract @var{b}) 926*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __mulusq3 (unsigned long fract @var{a}, unsigned long fract @var{b}) 927*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __muludq3 (unsigned long long fract @var{a}, unsigned long long fract @var{b}) 928*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __mulha3 (short accum @var{a}, short accum @var{b}) 929*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __mulsa3 (accum @var{a}, accum @var{b}) 930*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __mulda3 (long accum @var{a}, long accum @var{b}) 931*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __multa3 (long long accum @var{a}, long long accum @var{b}) 932*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __muluha3 (unsigned short accum @var{a}, unsigned short accum @var{b}) 933*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __mulusa3 (unsigned accum @var{a}, unsigned accum @var{b}) 934*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __muluda3 (unsigned long accum @var{a}, unsigned long accum @var{b}) 935*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __muluta3 (unsigned long long accum @var{a}, unsigned long long accum @var{b}) 936*e4b17023SJohn MarinoThese functions return the product of @var{a} and @var{b}. 937*e4b17023SJohn Marino@end deftypefn 938*e4b17023SJohn Marino 939*e4b17023SJohn Marino@deftypefn {Runtime Function} {short fract} __ssmulqq3 (short fract @var{a}, short fract @var{b}) 940*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __ssmulhq3 (fract @var{a}, fract @var{b}) 941*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __ssmulsq3 (long fract @var{a}, long fract @var{b}) 942*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __ssmuldq3 (long long fract @var{a}, long long fract @var{b}) 943*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __ssmulha3 (short accum @var{a}, short accum @var{b}) 944*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __ssmulsa3 (accum @var{a}, accum @var{b}) 945*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __ssmulda3 (long accum @var{a}, long accum @var{b}) 946*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __ssmulta3 (long long accum @var{a}, long long accum @var{b}) 947*e4b17023SJohn MarinoThese functions return the product of @var{a} and @var{b} with signed 948*e4b17023SJohn Marinosaturation. 949*e4b17023SJohn Marino@end deftypefn 950*e4b17023SJohn Marino 951*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned short fract} __usmuluqq3 (unsigned short fract @var{a}, unsigned short fract @var{b}) 952*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __usmuluhq3 (unsigned fract @var{a}, unsigned fract @var{b}) 953*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __usmulusq3 (unsigned long fract @var{a}, unsigned long fract @var{b}) 954*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __usmuludq3 (unsigned long long fract @var{a}, unsigned long long fract @var{b}) 955*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __usmuluha3 (unsigned short accum @var{a}, unsigned short accum @var{b}) 956*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __usmulusa3 (unsigned accum @var{a}, unsigned accum @var{b}) 957*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __usmuluda3 (unsigned long accum @var{a}, unsigned long accum @var{b}) 958*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __usmuluta3 (unsigned long long accum @var{a}, unsigned long long accum @var{b}) 959*e4b17023SJohn MarinoThese functions return the product of @var{a} and @var{b} with unsigned 960*e4b17023SJohn Marinosaturation. 961*e4b17023SJohn Marino@end deftypefn 962*e4b17023SJohn Marino 963*e4b17023SJohn Marino@deftypefn {Runtime Function} {short fract} __divqq3 (short fract @var{a}, short fract @var{b}) 964*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __divhq3 (fract @var{a}, fract @var{b}) 965*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __divsq3 (long fract @var{a}, long fract @var{b}) 966*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __divdq3 (long long fract @var{a}, long long fract @var{b}) 967*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __divha3 (short accum @var{a}, short accum @var{b}) 968*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __divsa3 (accum @var{a}, accum @var{b}) 969*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __divda3 (long accum @var{a}, long accum @var{b}) 970*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __divta3 (long long accum @var{a}, long long accum @var{b}) 971*e4b17023SJohn MarinoThese functions return the quotient of the signed division of @var{a} 972*e4b17023SJohn Marinoand @var{b}. 973*e4b17023SJohn Marino@end deftypefn 974*e4b17023SJohn Marino 975*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned short fract} __udivuqq3 (unsigned short fract @var{a}, unsigned short fract @var{b}) 976*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __udivuhq3 (unsigned fract @var{a}, unsigned fract @var{b}) 977*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __udivusq3 (unsigned long fract @var{a}, unsigned long fract @var{b}) 978*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __udivudq3 (unsigned long long fract @var{a}, unsigned long long fract @var{b}) 979*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __udivuha3 (unsigned short accum @var{a}, unsigned short accum @var{b}) 980*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __udivusa3 (unsigned accum @var{a}, unsigned accum @var{b}) 981*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __udivuda3 (unsigned long accum @var{a}, unsigned long accum @var{b}) 982*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __udivuta3 (unsigned long long accum @var{a}, unsigned long long accum @var{b}) 983*e4b17023SJohn MarinoThese functions return the quotient of the unsigned division of @var{a} 984*e4b17023SJohn Marinoand @var{b}. 985*e4b17023SJohn Marino@end deftypefn 986*e4b17023SJohn Marino 987*e4b17023SJohn Marino@deftypefn {Runtime Function} {short fract} __ssdivqq3 (short fract @var{a}, short fract @var{b}) 988*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __ssdivhq3 (fract @var{a}, fract @var{b}) 989*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __ssdivsq3 (long fract @var{a}, long fract @var{b}) 990*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __ssdivdq3 (long long fract @var{a}, long long fract @var{b}) 991*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __ssdivha3 (short accum @var{a}, short accum @var{b}) 992*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __ssdivsa3 (accum @var{a}, accum @var{b}) 993*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __ssdivda3 (long accum @var{a}, long accum @var{b}) 994*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __ssdivta3 (long long accum @var{a}, long long accum @var{b}) 995*e4b17023SJohn MarinoThese functions return the quotient of the signed division of @var{a} 996*e4b17023SJohn Marinoand @var{b} with signed saturation. 997*e4b17023SJohn Marino@end deftypefn 998*e4b17023SJohn Marino 999*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned short fract} __usdivuqq3 (unsigned short fract @var{a}, unsigned short fract @var{b}) 1000*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __usdivuhq3 (unsigned fract @var{a}, unsigned fract @var{b}) 1001*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __usdivusq3 (unsigned long fract @var{a}, unsigned long fract @var{b}) 1002*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __usdivudq3 (unsigned long long fract @var{a}, unsigned long long fract @var{b}) 1003*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __usdivuha3 (unsigned short accum @var{a}, unsigned short accum @var{b}) 1004*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __usdivusa3 (unsigned accum @var{a}, unsigned accum @var{b}) 1005*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __usdivuda3 (unsigned long accum @var{a}, unsigned long accum @var{b}) 1006*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __usdivuta3 (unsigned long long accum @var{a}, unsigned long long accum @var{b}) 1007*e4b17023SJohn MarinoThese functions return the quotient of the unsigned division of @var{a} 1008*e4b17023SJohn Marinoand @var{b} with unsigned saturation. 1009*e4b17023SJohn Marino@end deftypefn 1010*e4b17023SJohn Marino 1011*e4b17023SJohn Marino@deftypefn {Runtime Function} {short fract} __negqq2 (short fract @var{a}) 1012*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __neghq2 (fract @var{a}) 1013*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __negsq2 (long fract @var{a}) 1014*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __negdq2 (long long fract @var{a}) 1015*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __neguqq2 (unsigned short fract @var{a}) 1016*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __neguhq2 (unsigned fract @var{a}) 1017*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __negusq2 (unsigned long fract @var{a}) 1018*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __negudq2 (unsigned long long fract @var{a}) 1019*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __negha2 (short accum @var{a}) 1020*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __negsa2 (accum @var{a}) 1021*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __negda2 (long accum @var{a}) 1022*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __negta2 (long long accum @var{a}) 1023*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __neguha2 (unsigned short accum @var{a}) 1024*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __negusa2 (unsigned accum @var{a}) 1025*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __neguda2 (unsigned long accum @var{a}) 1026*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __neguta2 (unsigned long long accum @var{a}) 1027*e4b17023SJohn MarinoThese functions return the negation of @var{a}. 1028*e4b17023SJohn Marino@end deftypefn 1029*e4b17023SJohn Marino 1030*e4b17023SJohn Marino@deftypefn {Runtime Function} {short fract} __ssnegqq2 (short fract @var{a}) 1031*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __ssneghq2 (fract @var{a}) 1032*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __ssnegsq2 (long fract @var{a}) 1033*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __ssnegdq2 (long long fract @var{a}) 1034*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __ssnegha2 (short accum @var{a}) 1035*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __ssnegsa2 (accum @var{a}) 1036*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __ssnegda2 (long accum @var{a}) 1037*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __ssnegta2 (long long accum @var{a}) 1038*e4b17023SJohn MarinoThese functions return the negation of @var{a} with signed saturation. 1039*e4b17023SJohn Marino@end deftypefn 1040*e4b17023SJohn Marino 1041*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned short fract} __usneguqq2 (unsigned short fract @var{a}) 1042*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __usneguhq2 (unsigned fract @var{a}) 1043*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __usnegusq2 (unsigned long fract @var{a}) 1044*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __usnegudq2 (unsigned long long fract @var{a}) 1045*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __usneguha2 (unsigned short accum @var{a}) 1046*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __usnegusa2 (unsigned accum @var{a}) 1047*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __usneguda2 (unsigned long accum @var{a}) 1048*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __usneguta2 (unsigned long long accum @var{a}) 1049*e4b17023SJohn MarinoThese functions return the negation of @var{a} with unsigned saturation. 1050*e4b17023SJohn Marino@end deftypefn 1051*e4b17023SJohn Marino 1052*e4b17023SJohn Marino@deftypefn {Runtime Function} {short fract} __ashlqq3 (short fract @var{a}, int @var{b}) 1053*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __ashlhq3 (fract @var{a}, int @var{b}) 1054*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __ashlsq3 (long fract @var{a}, int @var{b}) 1055*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __ashldq3 (long long fract @var{a}, int @var{b}) 1056*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __ashluqq3 (unsigned short fract @var{a}, int @var{b}) 1057*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __ashluhq3 (unsigned fract @var{a}, int @var{b}) 1058*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __ashlusq3 (unsigned long fract @var{a}, int @var{b}) 1059*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __ashludq3 (unsigned long long fract @var{a}, int @var{b}) 1060*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __ashlha3 (short accum @var{a}, int @var{b}) 1061*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __ashlsa3 (accum @var{a}, int @var{b}) 1062*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __ashlda3 (long accum @var{a}, int @var{b}) 1063*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __ashlta3 (long long accum @var{a}, int @var{b}) 1064*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __ashluha3 (unsigned short accum @var{a}, int @var{b}) 1065*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __ashlusa3 (unsigned accum @var{a}, int @var{b}) 1066*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __ashluda3 (unsigned long accum @var{a}, int @var{b}) 1067*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __ashluta3 (unsigned long long accum @var{a}, int @var{b}) 1068*e4b17023SJohn MarinoThese functions return the result of shifting @var{a} left by @var{b} bits. 1069*e4b17023SJohn Marino@end deftypefn 1070*e4b17023SJohn Marino 1071*e4b17023SJohn Marino@deftypefn {Runtime Function} {short fract} __ashrqq3 (short fract @var{a}, int @var{b}) 1072*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __ashrhq3 (fract @var{a}, int @var{b}) 1073*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __ashrsq3 (long fract @var{a}, int @var{b}) 1074*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __ashrdq3 (long long fract @var{a}, int @var{b}) 1075*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __ashrha3 (short accum @var{a}, int @var{b}) 1076*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __ashrsa3 (accum @var{a}, int @var{b}) 1077*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __ashrda3 (long accum @var{a}, int @var{b}) 1078*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __ashrta3 (long long accum @var{a}, int @var{b}) 1079*e4b17023SJohn MarinoThese functions return the result of arithmetically shifting @var{a} right 1080*e4b17023SJohn Marinoby @var{b} bits. 1081*e4b17023SJohn Marino@end deftypefn 1082*e4b17023SJohn Marino 1083*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned short fract} __lshruqq3 (unsigned short fract @var{a}, int @var{b}) 1084*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __lshruhq3 (unsigned fract @var{a}, int @var{b}) 1085*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __lshrusq3 (unsigned long fract @var{a}, int @var{b}) 1086*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __lshrudq3 (unsigned long long fract @var{a}, int @var{b}) 1087*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __lshruha3 (unsigned short accum @var{a}, int @var{b}) 1088*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __lshrusa3 (unsigned accum @var{a}, int @var{b}) 1089*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __lshruda3 (unsigned long accum @var{a}, int @var{b}) 1090*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __lshruta3 (unsigned long long accum @var{a}, int @var{b}) 1091*e4b17023SJohn MarinoThese functions return the result of logically shifting @var{a} right 1092*e4b17023SJohn Marinoby @var{b} bits. 1093*e4b17023SJohn Marino@end deftypefn 1094*e4b17023SJohn Marino 1095*e4b17023SJohn Marino@deftypefn {Runtime Function} {fract} __ssashlhq3 (fract @var{a}, int @var{b}) 1096*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __ssashlsq3 (long fract @var{a}, int @var{b}) 1097*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __ssashldq3 (long long fract @var{a}, int @var{b}) 1098*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __ssashlha3 (short accum @var{a}, int @var{b}) 1099*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __ssashlsa3 (accum @var{a}, int @var{b}) 1100*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __ssashlda3 (long accum @var{a}, int @var{b}) 1101*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __ssashlta3 (long long accum @var{a}, int @var{b}) 1102*e4b17023SJohn MarinoThese functions return the result of shifting @var{a} left by @var{b} bits 1103*e4b17023SJohn Marinowith signed saturation. 1104*e4b17023SJohn Marino@end deftypefn 1105*e4b17023SJohn Marino 1106*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned short fract} __usashluqq3 (unsigned short fract @var{a}, int @var{b}) 1107*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __usashluhq3 (unsigned fract @var{a}, int @var{b}) 1108*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __usashlusq3 (unsigned long fract @var{a}, int @var{b}) 1109*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __usashludq3 (unsigned long long fract @var{a}, int @var{b}) 1110*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __usashluha3 (unsigned short accum @var{a}, int @var{b}) 1111*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __usashlusa3 (unsigned accum @var{a}, int @var{b}) 1112*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __usashluda3 (unsigned long accum @var{a}, int @var{b}) 1113*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __usashluta3 (unsigned long long accum @var{a}, int @var{b}) 1114*e4b17023SJohn MarinoThese functions return the result of shifting @var{a} left by @var{b} bits 1115*e4b17023SJohn Marinowith unsigned saturation. 1116*e4b17023SJohn Marino@end deftypefn 1117*e4b17023SJohn Marino 1118*e4b17023SJohn Marino@subsection Comparison functions 1119*e4b17023SJohn Marino 1120*e4b17023SJohn MarinoThe following functions implement fixed-point comparisons. These functions 1121*e4b17023SJohn Marinoimplement a low-level compare, upon which the higher level comparison 1122*e4b17023SJohn Marinooperators (such as less than and greater than or equal to) can be 1123*e4b17023SJohn Marinoconstructed. The returned values lie in the range zero to two, to allow 1124*e4b17023SJohn Marinothe high-level operators to be implemented by testing the returned 1125*e4b17023SJohn Marinoresult using either signed or unsigned comparison. 1126*e4b17023SJohn Marino 1127*e4b17023SJohn Marino@deftypefn {Runtime Function} {int} __cmpqq2 (short fract @var{a}, short fract @var{b}) 1128*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __cmphq2 (fract @var{a}, fract @var{b}) 1129*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __cmpsq2 (long fract @var{a}, long fract @var{b}) 1130*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __cmpdq2 (long long fract @var{a}, long long fract @var{b}) 1131*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __cmpuqq2 (unsigned short fract @var{a}, unsigned short fract @var{b}) 1132*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __cmpuhq2 (unsigned fract @var{a}, unsigned fract @var{b}) 1133*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __cmpusq2 (unsigned long fract @var{a}, unsigned long fract @var{b}) 1134*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __cmpudq2 (unsigned long long fract @var{a}, unsigned long long fract @var{b}) 1135*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __cmpha2 (short accum @var{a}, short accum @var{b}) 1136*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __cmpsa2 (accum @var{a}, accum @var{b}) 1137*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __cmpda2 (long accum @var{a}, long accum @var{b}) 1138*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __cmpta2 (long long accum @var{a}, long long accum @var{b}) 1139*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __cmpuha2 (unsigned short accum @var{a}, unsigned short accum @var{b}) 1140*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __cmpusa2 (unsigned accum @var{a}, unsigned accum @var{b}) 1141*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __cmpuda2 (unsigned long accum @var{a}, unsigned long accum @var{b}) 1142*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __cmputa2 (unsigned long long accum @var{a}, unsigned long long accum @var{b}) 1143*e4b17023SJohn MarinoThese functions perform a signed or unsigned comparison of @var{a} and 1144*e4b17023SJohn Marino@var{b} (depending on the selected machine mode). If @var{a} is less 1145*e4b17023SJohn Marinothan @var{b}, they return 0; if @var{a} is greater than @var{b}, they 1146*e4b17023SJohn Marinoreturn 2; and if @var{a} and @var{b} are equal they return 1. 1147*e4b17023SJohn Marino@end deftypefn 1148*e4b17023SJohn Marino 1149*e4b17023SJohn Marino@subsection Conversion functions 1150*e4b17023SJohn Marino 1151*e4b17023SJohn Marino@deftypefn {Runtime Function} {fract} __fractqqhq2 (short fract @var{a}) 1152*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractqqsq2 (short fract @var{a}) 1153*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractqqdq2 (short fract @var{a}) 1154*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractqqha (short fract @var{a}) 1155*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractqqsa (short fract @var{a}) 1156*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractqqda (short fract @var{a}) 1157*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractqqta (short fract @var{a}) 1158*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractqquqq (short fract @var{a}) 1159*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractqquhq (short fract @var{a}) 1160*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractqqusq (short fract @var{a}) 1161*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractqqudq (short fract @var{a}) 1162*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractqquha (short fract @var{a}) 1163*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractqqusa (short fract @var{a}) 1164*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractqquda (short fract @var{a}) 1165*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractqquta (short fract @var{a}) 1166*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fractqqqi (short fract @var{a}) 1167*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fractqqhi (short fract @var{a}) 1168*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fractqqsi (short fract @var{a}) 1169*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fractqqdi (short fract @var{a}) 1170*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fractqqti (short fract @var{a}) 1171*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fractqqsf (short fract @var{a}) 1172*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fractqqdf (short fract @var{a}) 1173*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fracthqqq2 (fract @var{a}) 1174*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fracthqsq2 (fract @var{a}) 1175*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fracthqdq2 (fract @var{a}) 1176*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fracthqha (fract @var{a}) 1177*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fracthqsa (fract @var{a}) 1178*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fracthqda (fract @var{a}) 1179*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fracthqta (fract @var{a}) 1180*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fracthquqq (fract @var{a}) 1181*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fracthquhq (fract @var{a}) 1182*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fracthqusq (fract @var{a}) 1183*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fracthqudq (fract @var{a}) 1184*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fracthquha (fract @var{a}) 1185*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fracthqusa (fract @var{a}) 1186*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fracthquda (fract @var{a}) 1187*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fracthquta (fract @var{a}) 1188*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fracthqqi (fract @var{a}) 1189*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fracthqhi (fract @var{a}) 1190*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fracthqsi (fract @var{a}) 1191*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fracthqdi (fract @var{a}) 1192*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fracthqti (fract @var{a}) 1193*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fracthqsf (fract @var{a}) 1194*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fracthqdf (fract @var{a}) 1195*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractsqqq2 (long fract @var{a}) 1196*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractsqhq2 (long fract @var{a}) 1197*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractsqdq2 (long fract @var{a}) 1198*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractsqha (long fract @var{a}) 1199*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractsqsa (long fract @var{a}) 1200*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractsqda (long fract @var{a}) 1201*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractsqta (long fract @var{a}) 1202*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractsquqq (long fract @var{a}) 1203*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractsquhq (long fract @var{a}) 1204*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractsqusq (long fract @var{a}) 1205*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractsqudq (long fract @var{a}) 1206*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractsquha (long fract @var{a}) 1207*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractsqusa (long fract @var{a}) 1208*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractsquda (long fract @var{a}) 1209*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractsquta (long fract @var{a}) 1210*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fractsqqi (long fract @var{a}) 1211*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fractsqhi (long fract @var{a}) 1212*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fractsqsi (long fract @var{a}) 1213*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fractsqdi (long fract @var{a}) 1214*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fractsqti (long fract @var{a}) 1215*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fractsqsf (long fract @var{a}) 1216*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fractsqdf (long fract @var{a}) 1217*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractdqqq2 (long long fract @var{a}) 1218*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractdqhq2 (long long fract @var{a}) 1219*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractdqsq2 (long long fract @var{a}) 1220*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractdqha (long long fract @var{a}) 1221*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractdqsa (long long fract @var{a}) 1222*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractdqda (long long fract @var{a}) 1223*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractdqta (long long fract @var{a}) 1224*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractdquqq (long long fract @var{a}) 1225*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractdquhq (long long fract @var{a}) 1226*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractdqusq (long long fract @var{a}) 1227*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractdqudq (long long fract @var{a}) 1228*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractdquha (long long fract @var{a}) 1229*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractdqusa (long long fract @var{a}) 1230*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractdquda (long long fract @var{a}) 1231*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractdquta (long long fract @var{a}) 1232*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fractdqqi (long long fract @var{a}) 1233*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fractdqhi (long long fract @var{a}) 1234*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fractdqsi (long long fract @var{a}) 1235*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fractdqdi (long long fract @var{a}) 1236*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fractdqti (long long fract @var{a}) 1237*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fractdqsf (long long fract @var{a}) 1238*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fractdqdf (long long fract @var{a}) 1239*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fracthaqq (short accum @var{a}) 1240*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fracthahq (short accum @var{a}) 1241*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fracthasq (short accum @var{a}) 1242*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fracthadq (short accum @var{a}) 1243*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fracthasa2 (short accum @var{a}) 1244*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fracthada2 (short accum @var{a}) 1245*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fracthata2 (short accum @var{a}) 1246*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fracthauqq (short accum @var{a}) 1247*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fracthauhq (short accum @var{a}) 1248*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fracthausq (short accum @var{a}) 1249*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fracthaudq (short accum @var{a}) 1250*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fracthauha (short accum @var{a}) 1251*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fracthausa (short accum @var{a}) 1252*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fracthauda (short accum @var{a}) 1253*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fracthauta (short accum @var{a}) 1254*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fracthaqi (short accum @var{a}) 1255*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fracthahi (short accum @var{a}) 1256*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fracthasi (short accum @var{a}) 1257*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fracthadi (short accum @var{a}) 1258*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fracthati (short accum @var{a}) 1259*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fracthasf (short accum @var{a}) 1260*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fracthadf (short accum @var{a}) 1261*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractsaqq (accum @var{a}) 1262*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractsahq (accum @var{a}) 1263*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractsasq (accum @var{a}) 1264*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractsadq (accum @var{a}) 1265*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractsaha2 (accum @var{a}) 1266*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractsada2 (accum @var{a}) 1267*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractsata2 (accum @var{a}) 1268*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractsauqq (accum @var{a}) 1269*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractsauhq (accum @var{a}) 1270*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractsausq (accum @var{a}) 1271*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractsaudq (accum @var{a}) 1272*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractsauha (accum @var{a}) 1273*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractsausa (accum @var{a}) 1274*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractsauda (accum @var{a}) 1275*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractsauta (accum @var{a}) 1276*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fractsaqi (accum @var{a}) 1277*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fractsahi (accum @var{a}) 1278*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fractsasi (accum @var{a}) 1279*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fractsadi (accum @var{a}) 1280*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fractsati (accum @var{a}) 1281*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fractsasf (accum @var{a}) 1282*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fractsadf (accum @var{a}) 1283*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractdaqq (long accum @var{a}) 1284*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractdahq (long accum @var{a}) 1285*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractdasq (long accum @var{a}) 1286*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractdadq (long accum @var{a}) 1287*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractdaha2 (long accum @var{a}) 1288*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractdasa2 (long accum @var{a}) 1289*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractdata2 (long accum @var{a}) 1290*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractdauqq (long accum @var{a}) 1291*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractdauhq (long accum @var{a}) 1292*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractdausq (long accum @var{a}) 1293*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractdaudq (long accum @var{a}) 1294*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractdauha (long accum @var{a}) 1295*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractdausa (long accum @var{a}) 1296*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractdauda (long accum @var{a}) 1297*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractdauta (long accum @var{a}) 1298*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fractdaqi (long accum @var{a}) 1299*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fractdahi (long accum @var{a}) 1300*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fractdasi (long accum @var{a}) 1301*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fractdadi (long accum @var{a}) 1302*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fractdati (long accum @var{a}) 1303*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fractdasf (long accum @var{a}) 1304*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fractdadf (long accum @var{a}) 1305*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fracttaqq (long long accum @var{a}) 1306*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fracttahq (long long accum @var{a}) 1307*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fracttasq (long long accum @var{a}) 1308*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fracttadq (long long accum @var{a}) 1309*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fracttaha2 (long long accum @var{a}) 1310*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fracttasa2 (long long accum @var{a}) 1311*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fracttada2 (long long accum @var{a}) 1312*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fracttauqq (long long accum @var{a}) 1313*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fracttauhq (long long accum @var{a}) 1314*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fracttausq (long long accum @var{a}) 1315*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fracttaudq (long long accum @var{a}) 1316*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fracttauha (long long accum @var{a}) 1317*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fracttausa (long long accum @var{a}) 1318*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fracttauda (long long accum @var{a}) 1319*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fracttauta (long long accum @var{a}) 1320*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fracttaqi (long long accum @var{a}) 1321*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fracttahi (long long accum @var{a}) 1322*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fracttasi (long long accum @var{a}) 1323*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fracttadi (long long accum @var{a}) 1324*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fracttati (long long accum @var{a}) 1325*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fracttasf (long long accum @var{a}) 1326*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fracttadf (long long accum @var{a}) 1327*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractuqqqq (unsigned short fract @var{a}) 1328*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractuqqhq (unsigned short fract @var{a}) 1329*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractuqqsq (unsigned short fract @var{a}) 1330*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractuqqdq (unsigned short fract @var{a}) 1331*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractuqqha (unsigned short fract @var{a}) 1332*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractuqqsa (unsigned short fract @var{a}) 1333*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractuqqda (unsigned short fract @var{a}) 1334*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractuqqta (unsigned short fract @var{a}) 1335*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractuqquhq2 (unsigned short fract @var{a}) 1336*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractuqqusq2 (unsigned short fract @var{a}) 1337*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractuqqudq2 (unsigned short fract @var{a}) 1338*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractuqquha (unsigned short fract @var{a}) 1339*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractuqqusa (unsigned short fract @var{a}) 1340*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractuqquda (unsigned short fract @var{a}) 1341*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractuqquta (unsigned short fract @var{a}) 1342*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fractuqqqi (unsigned short fract @var{a}) 1343*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fractuqqhi (unsigned short fract @var{a}) 1344*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fractuqqsi (unsigned short fract @var{a}) 1345*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fractuqqdi (unsigned short fract @var{a}) 1346*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fractuqqti (unsigned short fract @var{a}) 1347*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fractuqqsf (unsigned short fract @var{a}) 1348*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fractuqqdf (unsigned short fract @var{a}) 1349*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractuhqqq (unsigned fract @var{a}) 1350*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractuhqhq (unsigned fract @var{a}) 1351*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractuhqsq (unsigned fract @var{a}) 1352*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractuhqdq (unsigned fract @var{a}) 1353*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractuhqha (unsigned fract @var{a}) 1354*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractuhqsa (unsigned fract @var{a}) 1355*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractuhqda (unsigned fract @var{a}) 1356*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractuhqta (unsigned fract @var{a}) 1357*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractuhquqq2 (unsigned fract @var{a}) 1358*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractuhqusq2 (unsigned fract @var{a}) 1359*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractuhqudq2 (unsigned fract @var{a}) 1360*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractuhquha (unsigned fract @var{a}) 1361*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractuhqusa (unsigned fract @var{a}) 1362*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractuhquda (unsigned fract @var{a}) 1363*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractuhquta (unsigned fract @var{a}) 1364*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fractuhqqi (unsigned fract @var{a}) 1365*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fractuhqhi (unsigned fract @var{a}) 1366*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fractuhqsi (unsigned fract @var{a}) 1367*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fractuhqdi (unsigned fract @var{a}) 1368*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fractuhqti (unsigned fract @var{a}) 1369*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fractuhqsf (unsigned fract @var{a}) 1370*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fractuhqdf (unsigned fract @var{a}) 1371*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractusqqq (unsigned long fract @var{a}) 1372*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractusqhq (unsigned long fract @var{a}) 1373*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractusqsq (unsigned long fract @var{a}) 1374*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractusqdq (unsigned long fract @var{a}) 1375*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractusqha (unsigned long fract @var{a}) 1376*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractusqsa (unsigned long fract @var{a}) 1377*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractusqda (unsigned long fract @var{a}) 1378*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractusqta (unsigned long fract @var{a}) 1379*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractusquqq2 (unsigned long fract @var{a}) 1380*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractusquhq2 (unsigned long fract @var{a}) 1381*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractusqudq2 (unsigned long fract @var{a}) 1382*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractusquha (unsigned long fract @var{a}) 1383*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractusqusa (unsigned long fract @var{a}) 1384*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractusquda (unsigned long fract @var{a}) 1385*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractusquta (unsigned long fract @var{a}) 1386*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fractusqqi (unsigned long fract @var{a}) 1387*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fractusqhi (unsigned long fract @var{a}) 1388*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fractusqsi (unsigned long fract @var{a}) 1389*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fractusqdi (unsigned long fract @var{a}) 1390*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fractusqti (unsigned long fract @var{a}) 1391*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fractusqsf (unsigned long fract @var{a}) 1392*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fractusqdf (unsigned long fract @var{a}) 1393*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractudqqq (unsigned long long fract @var{a}) 1394*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractudqhq (unsigned long long fract @var{a}) 1395*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractudqsq (unsigned long long fract @var{a}) 1396*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractudqdq (unsigned long long fract @var{a}) 1397*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractudqha (unsigned long long fract @var{a}) 1398*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractudqsa (unsigned long long fract @var{a}) 1399*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractudqda (unsigned long long fract @var{a}) 1400*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractudqta (unsigned long long fract @var{a}) 1401*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractudquqq2 (unsigned long long fract @var{a}) 1402*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractudquhq2 (unsigned long long fract @var{a}) 1403*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractudqusq2 (unsigned long long fract @var{a}) 1404*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractudquha (unsigned long long fract @var{a}) 1405*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractudqusa (unsigned long long fract @var{a}) 1406*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractudquda (unsigned long long fract @var{a}) 1407*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractudquta (unsigned long long fract @var{a}) 1408*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fractudqqi (unsigned long long fract @var{a}) 1409*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fractudqhi (unsigned long long fract @var{a}) 1410*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fractudqsi (unsigned long long fract @var{a}) 1411*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fractudqdi (unsigned long long fract @var{a}) 1412*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fractudqti (unsigned long long fract @var{a}) 1413*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fractudqsf (unsigned long long fract @var{a}) 1414*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fractudqdf (unsigned long long fract @var{a}) 1415*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractuhaqq (unsigned short accum @var{a}) 1416*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractuhahq (unsigned short accum @var{a}) 1417*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractuhasq (unsigned short accum @var{a}) 1418*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractuhadq (unsigned short accum @var{a}) 1419*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractuhaha (unsigned short accum @var{a}) 1420*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractuhasa (unsigned short accum @var{a}) 1421*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractuhada (unsigned short accum @var{a}) 1422*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractuhata (unsigned short accum @var{a}) 1423*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractuhauqq (unsigned short accum @var{a}) 1424*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractuhauhq (unsigned short accum @var{a}) 1425*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractuhausq (unsigned short accum @var{a}) 1426*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractuhaudq (unsigned short accum @var{a}) 1427*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractuhausa2 (unsigned short accum @var{a}) 1428*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractuhauda2 (unsigned short accum @var{a}) 1429*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractuhauta2 (unsigned short accum @var{a}) 1430*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fractuhaqi (unsigned short accum @var{a}) 1431*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fractuhahi (unsigned short accum @var{a}) 1432*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fractuhasi (unsigned short accum @var{a}) 1433*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fractuhadi (unsigned short accum @var{a}) 1434*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fractuhati (unsigned short accum @var{a}) 1435*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fractuhasf (unsigned short accum @var{a}) 1436*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fractuhadf (unsigned short accum @var{a}) 1437*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractusaqq (unsigned accum @var{a}) 1438*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractusahq (unsigned accum @var{a}) 1439*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractusasq (unsigned accum @var{a}) 1440*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractusadq (unsigned accum @var{a}) 1441*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractusaha (unsigned accum @var{a}) 1442*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractusasa (unsigned accum @var{a}) 1443*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractusada (unsigned accum @var{a}) 1444*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractusata (unsigned accum @var{a}) 1445*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractusauqq (unsigned accum @var{a}) 1446*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractusauhq (unsigned accum @var{a}) 1447*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractusausq (unsigned accum @var{a}) 1448*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractusaudq (unsigned accum @var{a}) 1449*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractusauha2 (unsigned accum @var{a}) 1450*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractusauda2 (unsigned accum @var{a}) 1451*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractusauta2 (unsigned accum @var{a}) 1452*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fractusaqi (unsigned accum @var{a}) 1453*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fractusahi (unsigned accum @var{a}) 1454*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fractusasi (unsigned accum @var{a}) 1455*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fractusadi (unsigned accum @var{a}) 1456*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fractusati (unsigned accum @var{a}) 1457*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fractusasf (unsigned accum @var{a}) 1458*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fractusadf (unsigned accum @var{a}) 1459*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractudaqq (unsigned long accum @var{a}) 1460*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractudahq (unsigned long accum @var{a}) 1461*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractudasq (unsigned long accum @var{a}) 1462*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractudadq (unsigned long accum @var{a}) 1463*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractudaha (unsigned long accum @var{a}) 1464*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractudasa (unsigned long accum @var{a}) 1465*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractudada (unsigned long accum @var{a}) 1466*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractudata (unsigned long accum @var{a}) 1467*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractudauqq (unsigned long accum @var{a}) 1468*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractudauhq (unsigned long accum @var{a}) 1469*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractudausq (unsigned long accum @var{a}) 1470*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractudaudq (unsigned long accum @var{a}) 1471*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractudauha2 (unsigned long accum @var{a}) 1472*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractudausa2 (unsigned long accum @var{a}) 1473*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractudauta2 (unsigned long accum @var{a}) 1474*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fractudaqi (unsigned long accum @var{a}) 1475*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fractudahi (unsigned long accum @var{a}) 1476*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fractudasi (unsigned long accum @var{a}) 1477*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fractudadi (unsigned long accum @var{a}) 1478*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fractudati (unsigned long accum @var{a}) 1479*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fractudasf (unsigned long accum @var{a}) 1480*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fractudadf (unsigned long accum @var{a}) 1481*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractutaqq (unsigned long long accum @var{a}) 1482*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractutahq (unsigned long long accum @var{a}) 1483*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractutasq (unsigned long long accum @var{a}) 1484*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractutadq (unsigned long long accum @var{a}) 1485*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractutaha (unsigned long long accum @var{a}) 1486*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractutasa (unsigned long long accum @var{a}) 1487*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractutada (unsigned long long accum @var{a}) 1488*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractutata (unsigned long long accum @var{a}) 1489*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractutauqq (unsigned long long accum @var{a}) 1490*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractutauhq (unsigned long long accum @var{a}) 1491*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractutausq (unsigned long long accum @var{a}) 1492*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractutaudq (unsigned long long accum @var{a}) 1493*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractutauha2 (unsigned long long accum @var{a}) 1494*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractutausa2 (unsigned long long accum @var{a}) 1495*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractutauda2 (unsigned long long accum @var{a}) 1496*e4b17023SJohn Marino@deftypefnx {Runtime Function} {signed char} __fractutaqi (unsigned long long accum @var{a}) 1497*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short} __fractutahi (unsigned long long accum @var{a}) 1498*e4b17023SJohn Marino@deftypefnx {Runtime Function} {int} __fractutasi (unsigned long long accum @var{a}) 1499*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long} __fractutadi (unsigned long long accum @var{a}) 1500*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long} __fractutati (unsigned long long accum @var{a}) 1501*e4b17023SJohn Marino@deftypefnx {Runtime Function} {float} __fractutasf (unsigned long long accum @var{a}) 1502*e4b17023SJohn Marino@deftypefnx {Runtime Function} {double} __fractutadf (unsigned long long accum @var{a}) 1503*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractqiqq (signed char @var{a}) 1504*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractqihq (signed char @var{a}) 1505*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractqisq (signed char @var{a}) 1506*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractqidq (signed char @var{a}) 1507*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractqiha (signed char @var{a}) 1508*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractqisa (signed char @var{a}) 1509*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractqida (signed char @var{a}) 1510*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractqita (signed char @var{a}) 1511*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractqiuqq (signed char @var{a}) 1512*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractqiuhq (signed char @var{a}) 1513*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractqiusq (signed char @var{a}) 1514*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractqiudq (signed char @var{a}) 1515*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractqiuha (signed char @var{a}) 1516*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractqiusa (signed char @var{a}) 1517*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractqiuda (signed char @var{a}) 1518*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractqiuta (signed char @var{a}) 1519*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fracthiqq (short @var{a}) 1520*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fracthihq (short @var{a}) 1521*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fracthisq (short @var{a}) 1522*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fracthidq (short @var{a}) 1523*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fracthiha (short @var{a}) 1524*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fracthisa (short @var{a}) 1525*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fracthida (short @var{a}) 1526*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fracthita (short @var{a}) 1527*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fracthiuqq (short @var{a}) 1528*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fracthiuhq (short @var{a}) 1529*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fracthiusq (short @var{a}) 1530*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fracthiudq (short @var{a}) 1531*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fracthiuha (short @var{a}) 1532*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fracthiusa (short @var{a}) 1533*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fracthiuda (short @var{a}) 1534*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fracthiuta (short @var{a}) 1535*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractsiqq (int @var{a}) 1536*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractsihq (int @var{a}) 1537*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractsisq (int @var{a}) 1538*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractsidq (int @var{a}) 1539*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractsiha (int @var{a}) 1540*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractsisa (int @var{a}) 1541*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractsida (int @var{a}) 1542*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractsita (int @var{a}) 1543*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractsiuqq (int @var{a}) 1544*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractsiuhq (int @var{a}) 1545*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractsiusq (int @var{a}) 1546*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractsiudq (int @var{a}) 1547*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractsiuha (int @var{a}) 1548*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractsiusa (int @var{a}) 1549*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractsiuda (int @var{a}) 1550*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractsiuta (int @var{a}) 1551*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractdiqq (long @var{a}) 1552*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractdihq (long @var{a}) 1553*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractdisq (long @var{a}) 1554*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractdidq (long @var{a}) 1555*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractdiha (long @var{a}) 1556*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractdisa (long @var{a}) 1557*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractdida (long @var{a}) 1558*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractdita (long @var{a}) 1559*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractdiuqq (long @var{a}) 1560*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractdiuhq (long @var{a}) 1561*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractdiusq (long @var{a}) 1562*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractdiudq (long @var{a}) 1563*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractdiuha (long @var{a}) 1564*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractdiusa (long @var{a}) 1565*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractdiuda (long @var{a}) 1566*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractdiuta (long @var{a}) 1567*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fracttiqq (long long @var{a}) 1568*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fracttihq (long long @var{a}) 1569*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fracttisq (long long @var{a}) 1570*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fracttidq (long long @var{a}) 1571*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fracttiha (long long @var{a}) 1572*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fracttisa (long long @var{a}) 1573*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fracttida (long long @var{a}) 1574*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fracttita (long long @var{a}) 1575*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fracttiuqq (long long @var{a}) 1576*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fracttiuhq (long long @var{a}) 1577*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fracttiusq (long long @var{a}) 1578*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fracttiudq (long long @var{a}) 1579*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fracttiuha (long long @var{a}) 1580*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fracttiusa (long long @var{a}) 1581*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fracttiuda (long long @var{a}) 1582*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fracttiuta (long long @var{a}) 1583*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractsfqq (float @var{a}) 1584*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractsfhq (float @var{a}) 1585*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractsfsq (float @var{a}) 1586*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractsfdq (float @var{a}) 1587*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractsfha (float @var{a}) 1588*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractsfsa (float @var{a}) 1589*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractsfda (float @var{a}) 1590*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractsfta (float @var{a}) 1591*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractsfuqq (float @var{a}) 1592*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractsfuhq (float @var{a}) 1593*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractsfusq (float @var{a}) 1594*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractsfudq (float @var{a}) 1595*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractsfuha (float @var{a}) 1596*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractsfusa (float @var{a}) 1597*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractsfuda (float @var{a}) 1598*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractsfuta (float @var{a}) 1599*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractdfqq (double @var{a}) 1600*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractdfhq (double @var{a}) 1601*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractdfsq (double @var{a}) 1602*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractdfdq (double @var{a}) 1603*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractdfha (double @var{a}) 1604*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractdfsa (double @var{a}) 1605*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractdfda (double @var{a}) 1606*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractdfta (double @var{a}) 1607*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractdfuqq (double @var{a}) 1608*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractdfuhq (double @var{a}) 1609*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractdfusq (double @var{a}) 1610*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractdfudq (double @var{a}) 1611*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractdfuha (double @var{a}) 1612*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractdfusa (double @var{a}) 1613*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractdfuda (double @var{a}) 1614*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractdfuta (double @var{a}) 1615*e4b17023SJohn MarinoThese functions convert from fractional and signed non-fractionals to 1616*e4b17023SJohn Marinofractionals and signed non-fractionals, without saturation. 1617*e4b17023SJohn Marino@end deftypefn 1618*e4b17023SJohn Marino 1619*e4b17023SJohn Marino@deftypefn {Runtime Function} {fract} __satfractqqhq2 (short fract @var{a}) 1620*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractqqsq2 (short fract @var{a}) 1621*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractqqdq2 (short fract @var{a}) 1622*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractqqha (short fract @var{a}) 1623*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractqqsa (short fract @var{a}) 1624*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractqqda (short fract @var{a}) 1625*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractqqta (short fract @var{a}) 1626*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractqquqq (short fract @var{a}) 1627*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractqquhq (short fract @var{a}) 1628*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractqqusq (short fract @var{a}) 1629*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractqqudq (short fract @var{a}) 1630*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractqquha (short fract @var{a}) 1631*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractqqusa (short fract @var{a}) 1632*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractqquda (short fract @var{a}) 1633*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractqquta (short fract @var{a}) 1634*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfracthqqq2 (fract @var{a}) 1635*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfracthqsq2 (fract @var{a}) 1636*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfracthqdq2 (fract @var{a}) 1637*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfracthqha (fract @var{a}) 1638*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfracthqsa (fract @var{a}) 1639*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfracthqda (fract @var{a}) 1640*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfracthqta (fract @var{a}) 1641*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfracthquqq (fract @var{a}) 1642*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfracthquhq (fract @var{a}) 1643*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfracthqusq (fract @var{a}) 1644*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfracthqudq (fract @var{a}) 1645*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfracthquha (fract @var{a}) 1646*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfracthqusa (fract @var{a}) 1647*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfracthquda (fract @var{a}) 1648*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfracthquta (fract @var{a}) 1649*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractsqqq2 (long fract @var{a}) 1650*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractsqhq2 (long fract @var{a}) 1651*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractsqdq2 (long fract @var{a}) 1652*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractsqha (long fract @var{a}) 1653*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractsqsa (long fract @var{a}) 1654*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractsqda (long fract @var{a}) 1655*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractsqta (long fract @var{a}) 1656*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractsquqq (long fract @var{a}) 1657*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractsquhq (long fract @var{a}) 1658*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractsqusq (long fract @var{a}) 1659*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractsqudq (long fract @var{a}) 1660*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractsquha (long fract @var{a}) 1661*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractsqusa (long fract @var{a}) 1662*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractsquda (long fract @var{a}) 1663*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractsquta (long fract @var{a}) 1664*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractdqqq2 (long long fract @var{a}) 1665*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractdqhq2 (long long fract @var{a}) 1666*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractdqsq2 (long long fract @var{a}) 1667*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractdqha (long long fract @var{a}) 1668*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractdqsa (long long fract @var{a}) 1669*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractdqda (long long fract @var{a}) 1670*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractdqta (long long fract @var{a}) 1671*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractdquqq (long long fract @var{a}) 1672*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractdquhq (long long fract @var{a}) 1673*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractdqusq (long long fract @var{a}) 1674*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractdqudq (long long fract @var{a}) 1675*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractdquha (long long fract @var{a}) 1676*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractdqusa (long long fract @var{a}) 1677*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractdquda (long long fract @var{a}) 1678*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractdquta (long long fract @var{a}) 1679*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfracthaqq (short accum @var{a}) 1680*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfracthahq (short accum @var{a}) 1681*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfracthasq (short accum @var{a}) 1682*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfracthadq (short accum @var{a}) 1683*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfracthasa2 (short accum @var{a}) 1684*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfracthada2 (short accum @var{a}) 1685*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfracthata2 (short accum @var{a}) 1686*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfracthauqq (short accum @var{a}) 1687*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfracthauhq (short accum @var{a}) 1688*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfracthausq (short accum @var{a}) 1689*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfracthaudq (short accum @var{a}) 1690*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfracthauha (short accum @var{a}) 1691*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfracthausa (short accum @var{a}) 1692*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfracthauda (short accum @var{a}) 1693*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfracthauta (short accum @var{a}) 1694*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractsaqq (accum @var{a}) 1695*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractsahq (accum @var{a}) 1696*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractsasq (accum @var{a}) 1697*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractsadq (accum @var{a}) 1698*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractsaha2 (accum @var{a}) 1699*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractsada2 (accum @var{a}) 1700*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractsata2 (accum @var{a}) 1701*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractsauqq (accum @var{a}) 1702*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractsauhq (accum @var{a}) 1703*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractsausq (accum @var{a}) 1704*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractsaudq (accum @var{a}) 1705*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractsauha (accum @var{a}) 1706*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractsausa (accum @var{a}) 1707*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractsauda (accum @var{a}) 1708*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractsauta (accum @var{a}) 1709*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractdaqq (long accum @var{a}) 1710*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractdahq (long accum @var{a}) 1711*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractdasq (long accum @var{a}) 1712*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractdadq (long accum @var{a}) 1713*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractdaha2 (long accum @var{a}) 1714*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractdasa2 (long accum @var{a}) 1715*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractdata2 (long accum @var{a}) 1716*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractdauqq (long accum @var{a}) 1717*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractdauhq (long accum @var{a}) 1718*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractdausq (long accum @var{a}) 1719*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractdaudq (long accum @var{a}) 1720*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractdauha (long accum @var{a}) 1721*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractdausa (long accum @var{a}) 1722*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractdauda (long accum @var{a}) 1723*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractdauta (long accum @var{a}) 1724*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfracttaqq (long long accum @var{a}) 1725*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfracttahq (long long accum @var{a}) 1726*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfracttasq (long long accum @var{a}) 1727*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfracttadq (long long accum @var{a}) 1728*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfracttaha2 (long long accum @var{a}) 1729*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfracttasa2 (long long accum @var{a}) 1730*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfracttada2 (long long accum @var{a}) 1731*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfracttauqq (long long accum @var{a}) 1732*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfracttauhq (long long accum @var{a}) 1733*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfracttausq (long long accum @var{a}) 1734*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfracttaudq (long long accum @var{a}) 1735*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfracttauha (long long accum @var{a}) 1736*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfracttausa (long long accum @var{a}) 1737*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfracttauda (long long accum @var{a}) 1738*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfracttauta (long long accum @var{a}) 1739*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractuqqqq (unsigned short fract @var{a}) 1740*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractuqqhq (unsigned short fract @var{a}) 1741*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractuqqsq (unsigned short fract @var{a}) 1742*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractuqqdq (unsigned short fract @var{a}) 1743*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractuqqha (unsigned short fract @var{a}) 1744*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractuqqsa (unsigned short fract @var{a}) 1745*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractuqqda (unsigned short fract @var{a}) 1746*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractuqqta (unsigned short fract @var{a}) 1747*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractuqquhq2 (unsigned short fract @var{a}) 1748*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractuqqusq2 (unsigned short fract @var{a}) 1749*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractuqqudq2 (unsigned short fract @var{a}) 1750*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractuqquha (unsigned short fract @var{a}) 1751*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractuqqusa (unsigned short fract @var{a}) 1752*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractuqquda (unsigned short fract @var{a}) 1753*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractuqquta (unsigned short fract @var{a}) 1754*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractuhqqq (unsigned fract @var{a}) 1755*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractuhqhq (unsigned fract @var{a}) 1756*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractuhqsq (unsigned fract @var{a}) 1757*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractuhqdq (unsigned fract @var{a}) 1758*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractuhqha (unsigned fract @var{a}) 1759*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractuhqsa (unsigned fract @var{a}) 1760*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractuhqda (unsigned fract @var{a}) 1761*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractuhqta (unsigned fract @var{a}) 1762*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractuhquqq2 (unsigned fract @var{a}) 1763*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractuhqusq2 (unsigned fract @var{a}) 1764*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractuhqudq2 (unsigned fract @var{a}) 1765*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractuhquha (unsigned fract @var{a}) 1766*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractuhqusa (unsigned fract @var{a}) 1767*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractuhquda (unsigned fract @var{a}) 1768*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractuhquta (unsigned fract @var{a}) 1769*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractusqqq (unsigned long fract @var{a}) 1770*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractusqhq (unsigned long fract @var{a}) 1771*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractusqsq (unsigned long fract @var{a}) 1772*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractusqdq (unsigned long fract @var{a}) 1773*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractusqha (unsigned long fract @var{a}) 1774*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractusqsa (unsigned long fract @var{a}) 1775*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractusqda (unsigned long fract @var{a}) 1776*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractusqta (unsigned long fract @var{a}) 1777*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractusquqq2 (unsigned long fract @var{a}) 1778*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractusquhq2 (unsigned long fract @var{a}) 1779*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractusqudq2 (unsigned long fract @var{a}) 1780*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractusquha (unsigned long fract @var{a}) 1781*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractusqusa (unsigned long fract @var{a}) 1782*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractusquda (unsigned long fract @var{a}) 1783*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractusquta (unsigned long fract @var{a}) 1784*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractudqqq (unsigned long long fract @var{a}) 1785*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractudqhq (unsigned long long fract @var{a}) 1786*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractudqsq (unsigned long long fract @var{a}) 1787*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractudqdq (unsigned long long fract @var{a}) 1788*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractudqha (unsigned long long fract @var{a}) 1789*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractudqsa (unsigned long long fract @var{a}) 1790*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractudqda (unsigned long long fract @var{a}) 1791*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractudqta (unsigned long long fract @var{a}) 1792*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractudquqq2 (unsigned long long fract @var{a}) 1793*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractudquhq2 (unsigned long long fract @var{a}) 1794*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractudqusq2 (unsigned long long fract @var{a}) 1795*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractudquha (unsigned long long fract @var{a}) 1796*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractudqusa (unsigned long long fract @var{a}) 1797*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractudquda (unsigned long long fract @var{a}) 1798*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractudquta (unsigned long long fract @var{a}) 1799*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractuhaqq (unsigned short accum @var{a}) 1800*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractuhahq (unsigned short accum @var{a}) 1801*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractuhasq (unsigned short accum @var{a}) 1802*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractuhadq (unsigned short accum @var{a}) 1803*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractuhaha (unsigned short accum @var{a}) 1804*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractuhasa (unsigned short accum @var{a}) 1805*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractuhada (unsigned short accum @var{a}) 1806*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractuhata (unsigned short accum @var{a}) 1807*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractuhauqq (unsigned short accum @var{a}) 1808*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractuhauhq (unsigned short accum @var{a}) 1809*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractuhausq (unsigned short accum @var{a}) 1810*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractuhaudq (unsigned short accum @var{a}) 1811*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractuhausa2 (unsigned short accum @var{a}) 1812*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractuhauda2 (unsigned short accum @var{a}) 1813*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractuhauta2 (unsigned short accum @var{a}) 1814*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractusaqq (unsigned accum @var{a}) 1815*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractusahq (unsigned accum @var{a}) 1816*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractusasq (unsigned accum @var{a}) 1817*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractusadq (unsigned accum @var{a}) 1818*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractusaha (unsigned accum @var{a}) 1819*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractusasa (unsigned accum @var{a}) 1820*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractusada (unsigned accum @var{a}) 1821*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractusata (unsigned accum @var{a}) 1822*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractusauqq (unsigned accum @var{a}) 1823*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractusauhq (unsigned accum @var{a}) 1824*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractusausq (unsigned accum @var{a}) 1825*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractusaudq (unsigned accum @var{a}) 1826*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractusauha2 (unsigned accum @var{a}) 1827*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractusauda2 (unsigned accum @var{a}) 1828*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractusauta2 (unsigned accum @var{a}) 1829*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractudaqq (unsigned long accum @var{a}) 1830*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractudahq (unsigned long accum @var{a}) 1831*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractudasq (unsigned long accum @var{a}) 1832*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractudadq (unsigned long accum @var{a}) 1833*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractudaha (unsigned long accum @var{a}) 1834*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractudasa (unsigned long accum @var{a}) 1835*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractudada (unsigned long accum @var{a}) 1836*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractudata (unsigned long accum @var{a}) 1837*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractudauqq (unsigned long accum @var{a}) 1838*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractudauhq (unsigned long accum @var{a}) 1839*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractudausq (unsigned long accum @var{a}) 1840*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractudaudq (unsigned long accum @var{a}) 1841*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractudauha2 (unsigned long accum @var{a}) 1842*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractudausa2 (unsigned long accum @var{a}) 1843*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractudauta2 (unsigned long accum @var{a}) 1844*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractutaqq (unsigned long long accum @var{a}) 1845*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractutahq (unsigned long long accum @var{a}) 1846*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractutasq (unsigned long long accum @var{a}) 1847*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractutadq (unsigned long long accum @var{a}) 1848*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractutaha (unsigned long long accum @var{a}) 1849*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractutasa (unsigned long long accum @var{a}) 1850*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractutada (unsigned long long accum @var{a}) 1851*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractutata (unsigned long long accum @var{a}) 1852*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractutauqq (unsigned long long accum @var{a}) 1853*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractutauhq (unsigned long long accum @var{a}) 1854*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractutausq (unsigned long long accum @var{a}) 1855*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractutaudq (unsigned long long accum @var{a}) 1856*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractutauha2 (unsigned long long accum @var{a}) 1857*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractutausa2 (unsigned long long accum @var{a}) 1858*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractutauda2 (unsigned long long accum @var{a}) 1859*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractqiqq (signed char @var{a}) 1860*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractqihq (signed char @var{a}) 1861*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractqisq (signed char @var{a}) 1862*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractqidq (signed char @var{a}) 1863*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractqiha (signed char @var{a}) 1864*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractqisa (signed char @var{a}) 1865*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractqida (signed char @var{a}) 1866*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractqita (signed char @var{a}) 1867*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractqiuqq (signed char @var{a}) 1868*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractqiuhq (signed char @var{a}) 1869*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractqiusq (signed char @var{a}) 1870*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractqiudq (signed char @var{a}) 1871*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractqiuha (signed char @var{a}) 1872*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractqiusa (signed char @var{a}) 1873*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractqiuda (signed char @var{a}) 1874*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractqiuta (signed char @var{a}) 1875*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfracthiqq (short @var{a}) 1876*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfracthihq (short @var{a}) 1877*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfracthisq (short @var{a}) 1878*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfracthidq (short @var{a}) 1879*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfracthiha (short @var{a}) 1880*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfracthisa (short @var{a}) 1881*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfracthida (short @var{a}) 1882*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfracthita (short @var{a}) 1883*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfracthiuqq (short @var{a}) 1884*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfracthiuhq (short @var{a}) 1885*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfracthiusq (short @var{a}) 1886*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfracthiudq (short @var{a}) 1887*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfracthiuha (short @var{a}) 1888*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfracthiusa (short @var{a}) 1889*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfracthiuda (short @var{a}) 1890*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfracthiuta (short @var{a}) 1891*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractsiqq (int @var{a}) 1892*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractsihq (int @var{a}) 1893*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractsisq (int @var{a}) 1894*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractsidq (int @var{a}) 1895*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractsiha (int @var{a}) 1896*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractsisa (int @var{a}) 1897*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractsida (int @var{a}) 1898*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractsita (int @var{a}) 1899*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractsiuqq (int @var{a}) 1900*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractsiuhq (int @var{a}) 1901*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractsiusq (int @var{a}) 1902*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractsiudq (int @var{a}) 1903*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractsiuha (int @var{a}) 1904*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractsiusa (int @var{a}) 1905*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractsiuda (int @var{a}) 1906*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractsiuta (int @var{a}) 1907*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractdiqq (long @var{a}) 1908*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractdihq (long @var{a}) 1909*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractdisq (long @var{a}) 1910*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractdidq (long @var{a}) 1911*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractdiha (long @var{a}) 1912*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractdisa (long @var{a}) 1913*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractdida (long @var{a}) 1914*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractdita (long @var{a}) 1915*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractdiuqq (long @var{a}) 1916*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractdiuhq (long @var{a}) 1917*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractdiusq (long @var{a}) 1918*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractdiudq (long @var{a}) 1919*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractdiuha (long @var{a}) 1920*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractdiusa (long @var{a}) 1921*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractdiuda (long @var{a}) 1922*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractdiuta (long @var{a}) 1923*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfracttiqq (long long @var{a}) 1924*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfracttihq (long long @var{a}) 1925*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfracttisq (long long @var{a}) 1926*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfracttidq (long long @var{a}) 1927*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfracttiha (long long @var{a}) 1928*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfracttisa (long long @var{a}) 1929*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfracttida (long long @var{a}) 1930*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfracttita (long long @var{a}) 1931*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfracttiuqq (long long @var{a}) 1932*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfracttiuhq (long long @var{a}) 1933*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfracttiusq (long long @var{a}) 1934*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfracttiudq (long long @var{a}) 1935*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfracttiuha (long long @var{a}) 1936*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfracttiusa (long long @var{a}) 1937*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfracttiuda (long long @var{a}) 1938*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfracttiuta (long long @var{a}) 1939*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractsfqq (float @var{a}) 1940*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractsfhq (float @var{a}) 1941*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractsfsq (float @var{a}) 1942*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractsfdq (float @var{a}) 1943*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractsfha (float @var{a}) 1944*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractsfsa (float @var{a}) 1945*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractsfda (float @var{a}) 1946*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractsfta (float @var{a}) 1947*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractsfuqq (float @var{a}) 1948*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractsfuhq (float @var{a}) 1949*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractsfusq (float @var{a}) 1950*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractsfudq (float @var{a}) 1951*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractsfuha (float @var{a}) 1952*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractsfusa (float @var{a}) 1953*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractsfuda (float @var{a}) 1954*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractsfuta (float @var{a}) 1955*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractdfqq (double @var{a}) 1956*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractdfhq (double @var{a}) 1957*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractdfsq (double @var{a}) 1958*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractdfdq (double @var{a}) 1959*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractdfha (double @var{a}) 1960*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractdfsa (double @var{a}) 1961*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractdfda (double @var{a}) 1962*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractdfta (double @var{a}) 1963*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractdfuqq (double @var{a}) 1964*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractdfuhq (double @var{a}) 1965*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractdfusq (double @var{a}) 1966*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractdfudq (double @var{a}) 1967*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractdfuha (double @var{a}) 1968*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractdfusa (double @var{a}) 1969*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractdfuda (double @var{a}) 1970*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractdfuta (double @var{a}) 1971*e4b17023SJohn MarinoThe functions convert from fractional and signed non-fractionals to 1972*e4b17023SJohn Marinofractionals, with saturation. 1973*e4b17023SJohn Marino@end deftypefn 1974*e4b17023SJohn Marino 1975*e4b17023SJohn Marino@deftypefn {Runtime Function} {unsigned char} __fractunsqqqi (short fract @var{a}) 1976*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunsqqhi (short fract @var{a}) 1977*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunsqqsi (short fract @var{a}) 1978*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunsqqdi (short fract @var{a}) 1979*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunsqqti (short fract @var{a}) 1980*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned char} __fractunshqqi (fract @var{a}) 1981*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunshqhi (fract @var{a}) 1982*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunshqsi (fract @var{a}) 1983*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunshqdi (fract @var{a}) 1984*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunshqti (fract @var{a}) 1985*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned char} __fractunssqqi (long fract @var{a}) 1986*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunssqhi (long fract @var{a}) 1987*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunssqsi (long fract @var{a}) 1988*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunssqdi (long fract @var{a}) 1989*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunssqti (long fract @var{a}) 1990*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned char} __fractunsdqqi (long long fract @var{a}) 1991*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunsdqhi (long long fract @var{a}) 1992*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunsdqsi (long long fract @var{a}) 1993*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunsdqdi (long long fract @var{a}) 1994*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunsdqti (long long fract @var{a}) 1995*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned char} __fractunshaqi (short accum @var{a}) 1996*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunshahi (short accum @var{a}) 1997*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunshasi (short accum @var{a}) 1998*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunshadi (short accum @var{a}) 1999*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunshati (short accum @var{a}) 2000*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned char} __fractunssaqi (accum @var{a}) 2001*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunssahi (accum @var{a}) 2002*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunssasi (accum @var{a}) 2003*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunssadi (accum @var{a}) 2004*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunssati (accum @var{a}) 2005*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned char} __fractunsdaqi (long accum @var{a}) 2006*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunsdahi (long accum @var{a}) 2007*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunsdasi (long accum @var{a}) 2008*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunsdadi (long accum @var{a}) 2009*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunsdati (long accum @var{a}) 2010*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned char} __fractunstaqi (long long accum @var{a}) 2011*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunstahi (long long accum @var{a}) 2012*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunstasi (long long accum @var{a}) 2013*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunstadi (long long accum @var{a}) 2014*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunstati (long long accum @var{a}) 2015*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned char} __fractunsuqqqi (unsigned short fract @var{a}) 2016*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunsuqqhi (unsigned short fract @var{a}) 2017*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunsuqqsi (unsigned short fract @var{a}) 2018*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunsuqqdi (unsigned short fract @var{a}) 2019*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunsuqqti (unsigned short fract @var{a}) 2020*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned char} __fractunsuhqqi (unsigned fract @var{a}) 2021*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunsuhqhi (unsigned fract @var{a}) 2022*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunsuhqsi (unsigned fract @var{a}) 2023*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunsuhqdi (unsigned fract @var{a}) 2024*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunsuhqti (unsigned fract @var{a}) 2025*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned char} __fractunsusqqi (unsigned long fract @var{a}) 2026*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunsusqhi (unsigned long fract @var{a}) 2027*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunsusqsi (unsigned long fract @var{a}) 2028*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunsusqdi (unsigned long fract @var{a}) 2029*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunsusqti (unsigned long fract @var{a}) 2030*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned char} __fractunsudqqi (unsigned long long fract @var{a}) 2031*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunsudqhi (unsigned long long fract @var{a}) 2032*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunsudqsi (unsigned long long fract @var{a}) 2033*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunsudqdi (unsigned long long fract @var{a}) 2034*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunsudqti (unsigned long long fract @var{a}) 2035*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned char} __fractunsuhaqi (unsigned short accum @var{a}) 2036*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunsuhahi (unsigned short accum @var{a}) 2037*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunsuhasi (unsigned short accum @var{a}) 2038*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunsuhadi (unsigned short accum @var{a}) 2039*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunsuhati (unsigned short accum @var{a}) 2040*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned char} __fractunsusaqi (unsigned accum @var{a}) 2041*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunsusahi (unsigned accum @var{a}) 2042*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunsusasi (unsigned accum @var{a}) 2043*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunsusadi (unsigned accum @var{a}) 2044*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunsusati (unsigned accum @var{a}) 2045*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned char} __fractunsudaqi (unsigned long accum @var{a}) 2046*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunsudahi (unsigned long accum @var{a}) 2047*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunsudasi (unsigned long accum @var{a}) 2048*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunsudadi (unsigned long accum @var{a}) 2049*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunsudati (unsigned long accum @var{a}) 2050*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned char} __fractunsutaqi (unsigned long long accum @var{a}) 2051*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short} __fractunsutahi (unsigned long long accum @var{a}) 2052*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned int} __fractunsutasi (unsigned long long accum @var{a}) 2053*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long} __fractunsutadi (unsigned long long accum @var{a}) 2054*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long} __fractunsutati (unsigned long long accum @var{a}) 2055*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractunsqiqq (unsigned char @var{a}) 2056*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractunsqihq (unsigned char @var{a}) 2057*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractunsqisq (unsigned char @var{a}) 2058*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractunsqidq (unsigned char @var{a}) 2059*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractunsqiha (unsigned char @var{a}) 2060*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractunsqisa (unsigned char @var{a}) 2061*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractunsqida (unsigned char @var{a}) 2062*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractunsqita (unsigned char @var{a}) 2063*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractunsqiuqq (unsigned char @var{a}) 2064*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractunsqiuhq (unsigned char @var{a}) 2065*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractunsqiusq (unsigned char @var{a}) 2066*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractunsqiudq (unsigned char @var{a}) 2067*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractunsqiuha (unsigned char @var{a}) 2068*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractunsqiusa (unsigned char @var{a}) 2069*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractunsqiuda (unsigned char @var{a}) 2070*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractunsqiuta (unsigned char @var{a}) 2071*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractunshiqq (unsigned short @var{a}) 2072*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractunshihq (unsigned short @var{a}) 2073*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractunshisq (unsigned short @var{a}) 2074*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractunshidq (unsigned short @var{a}) 2075*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractunshiha (unsigned short @var{a}) 2076*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractunshisa (unsigned short @var{a}) 2077*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractunshida (unsigned short @var{a}) 2078*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractunshita (unsigned short @var{a}) 2079*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractunshiuqq (unsigned short @var{a}) 2080*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractunshiuhq (unsigned short @var{a}) 2081*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractunshiusq (unsigned short @var{a}) 2082*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractunshiudq (unsigned short @var{a}) 2083*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractunshiuha (unsigned short @var{a}) 2084*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractunshiusa (unsigned short @var{a}) 2085*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractunshiuda (unsigned short @var{a}) 2086*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractunshiuta (unsigned short @var{a}) 2087*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractunssiqq (unsigned int @var{a}) 2088*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractunssihq (unsigned int @var{a}) 2089*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractunssisq (unsigned int @var{a}) 2090*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractunssidq (unsigned int @var{a}) 2091*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractunssiha (unsigned int @var{a}) 2092*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractunssisa (unsigned int @var{a}) 2093*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractunssida (unsigned int @var{a}) 2094*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractunssita (unsigned int @var{a}) 2095*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractunssiuqq (unsigned int @var{a}) 2096*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractunssiuhq (unsigned int @var{a}) 2097*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractunssiusq (unsigned int @var{a}) 2098*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractunssiudq (unsigned int @var{a}) 2099*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractunssiuha (unsigned int @var{a}) 2100*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractunssiusa (unsigned int @var{a}) 2101*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractunssiuda (unsigned int @var{a}) 2102*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractunssiuta (unsigned int @var{a}) 2103*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractunsdiqq (unsigned long @var{a}) 2104*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractunsdihq (unsigned long @var{a}) 2105*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractunsdisq (unsigned long @var{a}) 2106*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractunsdidq (unsigned long @var{a}) 2107*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractunsdiha (unsigned long @var{a}) 2108*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractunsdisa (unsigned long @var{a}) 2109*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractunsdida (unsigned long @var{a}) 2110*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractunsdita (unsigned long @var{a}) 2111*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractunsdiuqq (unsigned long @var{a}) 2112*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractunsdiuhq (unsigned long @var{a}) 2113*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractunsdiusq (unsigned long @var{a}) 2114*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractunsdiudq (unsigned long @var{a}) 2115*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractunsdiuha (unsigned long @var{a}) 2116*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractunsdiusa (unsigned long @var{a}) 2117*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractunsdiuda (unsigned long @var{a}) 2118*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractunsdiuta (unsigned long @var{a}) 2119*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __fractunstiqq (unsigned long long @var{a}) 2120*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __fractunstihq (unsigned long long @var{a}) 2121*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __fractunstisq (unsigned long long @var{a}) 2122*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __fractunstidq (unsigned long long @var{a}) 2123*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __fractunstiha (unsigned long long @var{a}) 2124*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __fractunstisa (unsigned long long @var{a}) 2125*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __fractunstida (unsigned long long @var{a}) 2126*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __fractunstita (unsigned long long @var{a}) 2127*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __fractunstiuqq (unsigned long long @var{a}) 2128*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __fractunstiuhq (unsigned long long @var{a}) 2129*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __fractunstiusq (unsigned long long @var{a}) 2130*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __fractunstiudq (unsigned long long @var{a}) 2131*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __fractunstiuha (unsigned long long @var{a}) 2132*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __fractunstiusa (unsigned long long @var{a}) 2133*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __fractunstiuda (unsigned long long @var{a}) 2134*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __fractunstiuta (unsigned long long @var{a}) 2135*e4b17023SJohn MarinoThese functions convert from fractionals to unsigned non-fractionals; 2136*e4b17023SJohn Marinoand from unsigned non-fractionals to fractionals, without saturation. 2137*e4b17023SJohn Marino@end deftypefn 2138*e4b17023SJohn Marino 2139*e4b17023SJohn Marino@deftypefn {Runtime Function} {short fract} __satfractunsqiqq (unsigned char @var{a}) 2140*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractunsqihq (unsigned char @var{a}) 2141*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractunsqisq (unsigned char @var{a}) 2142*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractunsqidq (unsigned char @var{a}) 2143*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractunsqiha (unsigned char @var{a}) 2144*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractunsqisa (unsigned char @var{a}) 2145*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractunsqida (unsigned char @var{a}) 2146*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractunsqita (unsigned char @var{a}) 2147*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractunsqiuqq (unsigned char @var{a}) 2148*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractunsqiuhq (unsigned char @var{a}) 2149*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractunsqiusq (unsigned char @var{a}) 2150*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractunsqiudq (unsigned char @var{a}) 2151*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractunsqiuha (unsigned char @var{a}) 2152*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractunsqiusa (unsigned char @var{a}) 2153*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractunsqiuda (unsigned char @var{a}) 2154*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractunsqiuta (unsigned char @var{a}) 2155*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractunshiqq (unsigned short @var{a}) 2156*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractunshihq (unsigned short @var{a}) 2157*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractunshisq (unsigned short @var{a}) 2158*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractunshidq (unsigned short @var{a}) 2159*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractunshiha (unsigned short @var{a}) 2160*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractunshisa (unsigned short @var{a}) 2161*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractunshida (unsigned short @var{a}) 2162*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractunshita (unsigned short @var{a}) 2163*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractunshiuqq (unsigned short @var{a}) 2164*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractunshiuhq (unsigned short @var{a}) 2165*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractunshiusq (unsigned short @var{a}) 2166*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractunshiudq (unsigned short @var{a}) 2167*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractunshiuha (unsigned short @var{a}) 2168*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractunshiusa (unsigned short @var{a}) 2169*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractunshiuda (unsigned short @var{a}) 2170*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractunshiuta (unsigned short @var{a}) 2171*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractunssiqq (unsigned int @var{a}) 2172*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractunssihq (unsigned int @var{a}) 2173*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractunssisq (unsigned int @var{a}) 2174*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractunssidq (unsigned int @var{a}) 2175*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractunssiha (unsigned int @var{a}) 2176*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractunssisa (unsigned int @var{a}) 2177*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractunssida (unsigned int @var{a}) 2178*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractunssita (unsigned int @var{a}) 2179*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractunssiuqq (unsigned int @var{a}) 2180*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractunssiuhq (unsigned int @var{a}) 2181*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractunssiusq (unsigned int @var{a}) 2182*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractunssiudq (unsigned int @var{a}) 2183*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractunssiuha (unsigned int @var{a}) 2184*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractunssiusa (unsigned int @var{a}) 2185*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractunssiuda (unsigned int @var{a}) 2186*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractunssiuta (unsigned int @var{a}) 2187*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractunsdiqq (unsigned long @var{a}) 2188*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractunsdihq (unsigned long @var{a}) 2189*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractunsdisq (unsigned long @var{a}) 2190*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractunsdidq (unsigned long @var{a}) 2191*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractunsdiha (unsigned long @var{a}) 2192*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractunsdisa (unsigned long @var{a}) 2193*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractunsdida (unsigned long @var{a}) 2194*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractunsdita (unsigned long @var{a}) 2195*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractunsdiuqq (unsigned long @var{a}) 2196*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractunsdiuhq (unsigned long @var{a}) 2197*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractunsdiusq (unsigned long @var{a}) 2198*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractunsdiudq (unsigned long @var{a}) 2199*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractunsdiuha (unsigned long @var{a}) 2200*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractunsdiusa (unsigned long @var{a}) 2201*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractunsdiuda (unsigned long @var{a}) 2202*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractunsdiuta (unsigned long @var{a}) 2203*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short fract} __satfractunstiqq (unsigned long long @var{a}) 2204*e4b17023SJohn Marino@deftypefnx {Runtime Function} {fract} __satfractunstihq (unsigned long long @var{a}) 2205*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long fract} __satfractunstisq (unsigned long long @var{a}) 2206*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long fract} __satfractunstidq (unsigned long long @var{a}) 2207*e4b17023SJohn Marino@deftypefnx {Runtime Function} {short accum} __satfractunstiha (unsigned long long @var{a}) 2208*e4b17023SJohn Marino@deftypefnx {Runtime Function} {accum} __satfractunstisa (unsigned long long @var{a}) 2209*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long accum} __satfractunstida (unsigned long long @var{a}) 2210*e4b17023SJohn Marino@deftypefnx {Runtime Function} {long long accum} __satfractunstita (unsigned long long @var{a}) 2211*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short fract} __satfractunstiuqq (unsigned long long @var{a}) 2212*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned fract} __satfractunstiuhq (unsigned long long @var{a}) 2213*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long fract} __satfractunstiusq (unsigned long long @var{a}) 2214*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long fract} __satfractunstiudq (unsigned long long @var{a}) 2215*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned short accum} __satfractunstiuha (unsigned long long @var{a}) 2216*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned accum} __satfractunstiusa (unsigned long long @var{a}) 2217*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long accum} __satfractunstiuda (unsigned long long @var{a}) 2218*e4b17023SJohn Marino@deftypefnx {Runtime Function} {unsigned long long accum} __satfractunstiuta (unsigned long long @var{a}) 2219*e4b17023SJohn MarinoThese functions convert from unsigned non-fractionals to fractionals, 2220*e4b17023SJohn Marinowith saturation. 2221*e4b17023SJohn Marino@end deftypefn 2222*e4b17023SJohn Marino 2223*e4b17023SJohn Marino@node Exception handling routines 2224*e4b17023SJohn Marino@section Language-independent routines for exception handling 2225*e4b17023SJohn Marino 2226*e4b17023SJohn Marinodocument me! 2227*e4b17023SJohn Marino 2228*e4b17023SJohn Marino@smallexample 2229*e4b17023SJohn Marino _Unwind_DeleteException 2230*e4b17023SJohn Marino _Unwind_Find_FDE 2231*e4b17023SJohn Marino _Unwind_ForcedUnwind 2232*e4b17023SJohn Marino _Unwind_GetGR 2233*e4b17023SJohn Marino _Unwind_GetIP 2234*e4b17023SJohn Marino _Unwind_GetLanguageSpecificData 2235*e4b17023SJohn Marino _Unwind_GetRegionStart 2236*e4b17023SJohn Marino _Unwind_GetTextRelBase 2237*e4b17023SJohn Marino _Unwind_GetDataRelBase 2238*e4b17023SJohn Marino _Unwind_RaiseException 2239*e4b17023SJohn Marino _Unwind_Resume 2240*e4b17023SJohn Marino _Unwind_SetGR 2241*e4b17023SJohn Marino _Unwind_SetIP 2242*e4b17023SJohn Marino _Unwind_FindEnclosingFunction 2243*e4b17023SJohn Marino _Unwind_SjLj_Register 2244*e4b17023SJohn Marino _Unwind_SjLj_Unregister 2245*e4b17023SJohn Marino _Unwind_SjLj_RaiseException 2246*e4b17023SJohn Marino _Unwind_SjLj_ForcedUnwind 2247*e4b17023SJohn Marino _Unwind_SjLj_Resume 2248*e4b17023SJohn Marino __deregister_frame 2249*e4b17023SJohn Marino __deregister_frame_info 2250*e4b17023SJohn Marino __deregister_frame_info_bases 2251*e4b17023SJohn Marino __register_frame 2252*e4b17023SJohn Marino __register_frame_info 2253*e4b17023SJohn Marino __register_frame_info_bases 2254*e4b17023SJohn Marino __register_frame_info_table 2255*e4b17023SJohn Marino __register_frame_info_table_bases 2256*e4b17023SJohn Marino __register_frame_table 2257*e4b17023SJohn Marino@end smallexample 2258*e4b17023SJohn Marino 2259*e4b17023SJohn Marino@node Miscellaneous routines 2260*e4b17023SJohn Marino@section Miscellaneous runtime library routines 2261*e4b17023SJohn Marino 2262*e4b17023SJohn Marino@subsection Cache control functions 2263*e4b17023SJohn Marino@deftypefn {Runtime Function} void __clear_cache (char *@var{beg}, char *@var{end}) 2264*e4b17023SJohn MarinoThis function clears the instruction cache between @var{beg} and @var{end}. 2265*e4b17023SJohn Marino@end deftypefn 2266*e4b17023SJohn Marino 2267*e4b17023SJohn Marino@subsection Split stack functions and variables 2268*e4b17023SJohn Marino@deftypefn {Runtime Function} {void *} __splitstack_find (void *@var{segment_arg}, @ 2269*e4b17023SJohn Marinovoid *@var{sp}, size_t @var{len}, void **@var{next_segment}, @ 2270*e4b17023SJohn Marinovoid **@var{next_sp}, void **@var{initial_sp}) 2271*e4b17023SJohn MarinoWhen using @option{-fsplit-stack}, this call may be used to iterate 2272*e4b17023SJohn Marinoover the stack segments. It may be called like this: 2273*e4b17023SJohn Marino@smallexample 2274*e4b17023SJohn Marino void *next_segment = NULL; 2275*e4b17023SJohn Marino void *next_sp = NULL; 2276*e4b17023SJohn Marino void *initial_sp = NULL; 2277*e4b17023SJohn Marino void *stack; 2278*e4b17023SJohn Marino size_t stack_size; 2279*e4b17023SJohn Marino while ((stack = __splitstack_find (next_segment, next_sp, 2280*e4b17023SJohn Marino &stack_size, &next_segment, 2281*e4b17023SJohn Marino &next_sp, &initial_sp)) 2282*e4b17023SJohn Marino != NULL) 2283*e4b17023SJohn Marino @{ 2284*e4b17023SJohn Marino /* Stack segment starts at stack and is 2285*e4b17023SJohn Marino stack_size bytes long. */ 2286*e4b17023SJohn Marino @} 2287*e4b17023SJohn Marino@end smallexample 2288*e4b17023SJohn Marino 2289*e4b17023SJohn MarinoThere is no way to iterate over the stack segments of a different 2290*e4b17023SJohn Marinothread. However, what is permitted is for one thread to call this 2291*e4b17023SJohn Marinowith the @var{segment_arg} and @var{sp} arguments NULL, to pass 2292*e4b17023SJohn Marino@var{next_segment}, @var{next_sp}, and @var{initial_sp} to a different 2293*e4b17023SJohn Marinothread, and then to suspend one way or another. A different thread 2294*e4b17023SJohn Marinomay run the subsequent @code{__splitstack_find} iterations. Of 2295*e4b17023SJohn Marinocourse, this will only work if the first thread is suspended while the 2296*e4b17023SJohn Marinosecond thread is calling @code{__splitstack_find}. If not, the second 2297*e4b17023SJohn Marinothread could be looking at the stack while it is changing, and 2298*e4b17023SJohn Marinoanything could happen. 2299*e4b17023SJohn Marino@end deftypefn 2300*e4b17023SJohn Marino 2301*e4b17023SJohn Marino@defvar __morestack_segments 2302*e4b17023SJohn Marino@defvarx __morestack_current_segment 2303*e4b17023SJohn Marino@defvarx __morestack_initial_sp 2304*e4b17023SJohn MarinoInternal variables used by the @option{-fsplit-stack} implementation. 2305*e4b17023SJohn Marino@end defvar 2306