.. Copyright 1988-2022 Free Software Foundation, Inc. This is part of the GCC manual. For copying conditions, see the copyright.rst file. .. default-domain:: c .. index:: fixed-point fractional library, fractional types, Embedded C .. _fixed-point-fractional-library-routines: Routines for fixed-point fractional emulation ********************************************* The software fixed-point library implements fixed-point fractional arithmetic, and is only activated on selected targets. For ease of comprehension ``fract`` is an alias for the ``_Fract`` type, ``accum`` an alias for ``_Accum``, and ``sat`` an alias for ``_Sat``. For illustrative purposes, in this section the fixed-point fractional type ``short fract`` is assumed to correspond to machine mode ``QQmode`` ; ``unsigned short fract`` to ``UQQmode`` ; ``fract`` to ``HQmode`` ; ``unsigned fract`` to ``UHQmode`` ; ``long fract`` to ``SQmode`` ; ``unsigned long fract`` to ``USQmode`` ; ``long long fract`` to ``DQmode`` ; and ``unsigned long long fract`` to ``UDQmode``. Similarly the fixed-point accumulator type ``short accum`` corresponds to ``HAmode`` ; ``unsigned short accum`` to ``UHAmode`` ; ``accum`` to ``SAmode`` ; ``unsigned accum`` to ``USAmode`` ; ``long accum`` to ``DAmode`` ; ``unsigned long accum`` to ``UDAmode`` ; ``long long accum`` to ``TAmode`` ; and ``unsigned long long accum`` to ``UTAmode``. Arithmetic functions ^^^^^^^^^^^^^^^^^^^^ .. function:: short fract __addqq3 (short fract a, short fract b) fract __addhq3 (fract a, fract b) long fract __addsq3 (long fract a, long fract b) long long fract __adddq3 (long long fract a, long long fract b) unsigned short fract __adduqq3 (unsigned short fract a, unsigned short fract b) unsigned fract __adduhq3 (unsigned fract a, unsigned fract b) unsigned long fract __addusq3 (unsigned long fract a, unsigned long fract b) unsigned long long fract __addudq3 (unsigned long long fract a, unsigned long long fract b) short accum __addha3 (short accum a, short accum b) accum __addsa3 (accum a, accum b) long accum __addda3 (long accum a, long accum b) long long accum __addta3 (long long accum a, long long accum b) unsigned short accum __adduha3 (unsigned short accum a, unsigned short accum b) unsigned accum __addusa3 (unsigned accum a, unsigned accum b) unsigned long accum __adduda3 (unsigned long accum a, unsigned long accum b) unsigned long long accum __adduta3 (unsigned long long accum a, unsigned long long accum b) These functions return the sum of :samp:`{a}` and :samp:`{b}`. .. function:: short fract __ssaddqq3 (short fract a, short fract b) fract __ssaddhq3 (fract a, fract b) long fract __ssaddsq3 (long fract a, long fract b) long long fract __ssadddq3 (long long fract a, long long fract b) short accum __ssaddha3 (short accum a, short accum b) accum __ssaddsa3 (accum a, accum b) long accum __ssaddda3 (long accum a, long accum b) long long accum __ssaddta3 (long long accum a, long long accum b) These functions return the sum of :samp:`{a}` and :samp:`{b}` with signed saturation. .. function:: unsigned short fract __usadduqq3 (unsigned short fract a, unsigned short fract b) unsigned fract __usadduhq3 (unsigned fract a, unsigned fract b) unsigned long fract __usaddusq3 (unsigned long fract a, unsigned long fract b) unsigned long long fract __usaddudq3 (unsigned long long fract a, unsigned long long fract b) unsigned short accum __usadduha3 (unsigned short accum a, unsigned short accum b) unsigned accum __usaddusa3 (unsigned accum a, unsigned accum b) unsigned long accum __usadduda3 (unsigned long accum a, unsigned long accum b) unsigned long long accum __usadduta3 (unsigned long long accum a, unsigned long long accum b) These functions return the sum of :samp:`{a}` and :samp:`{b}` with unsigned saturation. .. function:: short fract __subqq3 (short fract a, short fract b) fract __subhq3 (fract a, fract b) long fract __subsq3 (long fract a, long fract b) long long fract __subdq3 (long long fract a, long long fract b) unsigned short fract __subuqq3 (unsigned short fract a, unsigned short fract b) unsigned fract __subuhq3 (unsigned fract a, unsigned fract b) unsigned long fract __subusq3 (unsigned long fract a, unsigned long fract b) unsigned long long fract __subudq3 (unsigned long long fract a, unsigned long long fract b) short accum __subha3 (short accum a, short accum b) accum __subsa3 (accum a, accum b) long accum __subda3 (long accum a, long accum b) long long accum __subta3 (long long accum a, long long accum b) unsigned short accum __subuha3 (unsigned short accum a, unsigned short accum b) unsigned accum __subusa3 (unsigned accum a, unsigned accum b) unsigned long accum __subuda3 (unsigned long accum a, unsigned long accum b) unsigned long long accum __subuta3 (unsigned long long accum a, unsigned long long accum b) These functions return the difference of :samp:`{a}` and :samp:`{b}` ; that is, ``a - b``. .. function:: short fract __sssubqq3 (short fract a, short fract b) fract __sssubhq3 (fract a, fract b) long fract __sssubsq3 (long fract a, long fract b) long long fract __sssubdq3 (long long fract a, long long fract b) short accum __sssubha3 (short accum a, short accum b) accum __sssubsa3 (accum a, accum b) long accum __sssubda3 (long accum a, long accum b) long long accum __sssubta3 (long long accum a, long long accum b) These functions return the difference of :samp:`{a}` and :samp:`{b}` with signed saturation; that is, ``a - b``. .. function:: unsigned short fract __ussubuqq3 (unsigned short fract a, unsigned short fract b) unsigned fract __ussubuhq3 (unsigned fract a, unsigned fract b) unsigned long fract __ussubusq3 (unsigned long fract a, unsigned long fract b) unsigned long long fract __ussubudq3 (unsigned long long fract a, unsigned long long fract b) unsigned short accum __ussubuha3 (unsigned short accum a, unsigned short accum b) unsigned accum __ussubusa3 (unsigned accum a, unsigned accum b) unsigned long accum __ussubuda3 (unsigned long accum a, unsigned long accum b) unsigned long long accum __ussubuta3 (unsigned long long accum a, unsigned long long accum b) These functions return the difference of :samp:`{a}` and :samp:`{b}` with unsigned saturation; that is, ``a - b``. .. function:: short fract __mulqq3 (short fract a, short fract b) fract __mulhq3 (fract a, fract b) long fract __mulsq3 (long fract a, long fract b) long long fract __muldq3 (long long fract a, long long fract b) unsigned short fract __muluqq3 (unsigned short fract a, unsigned short fract b) unsigned fract __muluhq3 (unsigned fract a, unsigned fract b) unsigned long fract __mulusq3 (unsigned long fract a, unsigned long fract b) unsigned long long fract __muludq3 (unsigned long long fract a, unsigned long long fract b) short accum __mulha3 (short accum a, short accum b) accum __mulsa3 (accum a, accum b) long accum __mulda3 (long accum a, long accum b) long long accum __multa3 (long long accum a, long long accum b) unsigned short accum __muluha3 (unsigned short accum a, unsigned short accum b) unsigned accum __mulusa3 (unsigned accum a, unsigned accum b) unsigned long accum __muluda3 (unsigned long accum a, unsigned long accum b) unsigned long long accum __muluta3 (unsigned long long accum a, unsigned long long accum b) These functions return the product of :samp:`{a}` and :samp:`{b}`. .. function:: short fract __ssmulqq3 (short fract a, short fract b) fract __ssmulhq3 (fract a, fract b) long fract __ssmulsq3 (long fract a, long fract b) long long fract __ssmuldq3 (long long fract a, long long fract b) short accum __ssmulha3 (short accum a, short accum b) accum __ssmulsa3 (accum a, accum b) long accum __ssmulda3 (long accum a, long accum b) long long accum __ssmulta3 (long long accum a, long long accum b) These functions return the product of :samp:`{a}` and :samp:`{b}` with signed saturation. .. function:: unsigned short fract __usmuluqq3 (unsigned short fract a, unsigned short fract b) unsigned fract __usmuluhq3 (unsigned fract a, unsigned fract b) unsigned long fract __usmulusq3 (unsigned long fract a, unsigned long fract b) unsigned long long fract __usmuludq3 (unsigned long long fract a, unsigned long long fract b) unsigned short accum __usmuluha3 (unsigned short accum a, unsigned short accum b) unsigned accum __usmulusa3 (unsigned accum a, unsigned accum b) unsigned long accum __usmuluda3 (unsigned long accum a, unsigned long accum b) unsigned long long accum __usmuluta3 (unsigned long long accum a, unsigned long long accum b) These functions return the product of :samp:`{a}` and :samp:`{b}` with unsigned saturation. .. function:: short fract __divqq3 (short fract a, short fract b) fract __divhq3 (fract a, fract b) long fract __divsq3 (long fract a, long fract b) long long fract __divdq3 (long long fract a, long long fract b) short accum __divha3 (short accum a, short accum b) accum __divsa3 (accum a, accum b) long accum __divda3 (long accum a, long accum b) long long accum __divta3 (long long accum a, long long accum b) These functions return the quotient of the signed division of :samp:`{a}` and :samp:`{b}`. .. function:: unsigned short fract __udivuqq3 (unsigned short fract a, unsigned short fract b) unsigned fract __udivuhq3 (unsigned fract a, unsigned fract b) unsigned long fract __udivusq3 (unsigned long fract a, unsigned long fract b) unsigned long long fract __udivudq3 (unsigned long long fract a, unsigned long long fract b) unsigned short accum __udivuha3 (unsigned short accum a, unsigned short accum b) unsigned accum __udivusa3 (unsigned accum a, unsigned accum b) unsigned long accum __udivuda3 (unsigned long accum a, unsigned long accum b) unsigned long long accum __udivuta3 (unsigned long long accum a, unsigned long long accum b) These functions return the quotient of the unsigned division of :samp:`{a}` and :samp:`{b}`. .. function:: short fract __ssdivqq3 (short fract a, short fract b) fract __ssdivhq3 (fract a, fract b) long fract __ssdivsq3 (long fract a, long fract b) long long fract __ssdivdq3 (long long fract a, long long fract b) short accum __ssdivha3 (short accum a, short accum b) accum __ssdivsa3 (accum a, accum b) long accum __ssdivda3 (long accum a, long accum b) long long accum __ssdivta3 (long long accum a, long long accum b) These functions return the quotient of the signed division of :samp:`{a}` and :samp:`{b}` with signed saturation. .. function:: unsigned short fract __usdivuqq3 (unsigned short fract a, unsigned short fract b) unsigned fract __usdivuhq3 (unsigned fract a, unsigned fract b) unsigned long fract __usdivusq3 (unsigned long fract a, unsigned long fract b) unsigned long long fract __usdivudq3 (unsigned long long fract a, unsigned long long fract b) unsigned short accum __usdivuha3 (unsigned short accum a, unsigned short accum b) unsigned accum __usdivusa3 (unsigned accum a, unsigned accum b) unsigned long accum __usdivuda3 (unsigned long accum a, unsigned long accum b) unsigned long long accum __usdivuta3 (unsigned long long accum a, unsigned long long accum b) These functions return the quotient of the unsigned division of :samp:`{a}` and :samp:`{b}` with unsigned saturation. .. function:: short fract __negqq2 (short fract a) fract __neghq2 (fract a) long fract __negsq2 (long fract a) long long fract __negdq2 (long long fract a) unsigned short fract __neguqq2 (unsigned short fract a) unsigned fract __neguhq2 (unsigned fract a) unsigned long fract __negusq2 (unsigned long fract a) unsigned long long fract __negudq2 (unsigned long long fract a) short accum __negha2 (short accum a) accum __negsa2 (accum a) long accum __negda2 (long accum a) long long accum __negta2 (long long accum a) unsigned short accum __neguha2 (unsigned short accum a) unsigned accum __negusa2 (unsigned accum a) unsigned long accum __neguda2 (unsigned long accum a) unsigned long long accum __neguta2 (unsigned long long accum a) These functions return the negation of :samp:`{a}`. .. function:: short fract __ssnegqq2 (short fract a) fract __ssneghq2 (fract a) long fract __ssnegsq2 (long fract a) long long fract __ssnegdq2 (long long fract a) short accum __ssnegha2 (short accum a) accum __ssnegsa2 (accum a) long accum __ssnegda2 (long accum a) long long accum __ssnegta2 (long long accum a) These functions return the negation of :samp:`{a}` with signed saturation. .. function:: unsigned short fract __usneguqq2 (unsigned short fract a) unsigned fract __usneguhq2 (unsigned fract a) unsigned long fract __usnegusq2 (unsigned long fract a) unsigned long long fract __usnegudq2 (unsigned long long fract a) unsigned short accum __usneguha2 (unsigned short accum a) unsigned accum __usnegusa2 (unsigned accum a) unsigned long accum __usneguda2 (unsigned long accum a) unsigned long long accum __usneguta2 (unsigned long long accum a) These functions return the negation of :samp:`{a}` with unsigned saturation. .. function:: short fract __ashlqq3 (short fract a, int b) fract __ashlhq3 (fract a, int b) long fract __ashlsq3 (long fract a, int b) long long fract __ashldq3 (long long fract a, int b) unsigned short fract __ashluqq3 (unsigned short fract a, int b) unsigned fract __ashluhq3 (unsigned fract a, int b) unsigned long fract __ashlusq3 (unsigned long fract a, int b) unsigned long long fract __ashludq3 (unsigned long long fract a, int b) short accum __ashlha3 (short accum a, int b) accum __ashlsa3 (accum a, int b) long accum __ashlda3 (long accum a, int b) long long accum __ashlta3 (long long accum a, int b) unsigned short accum __ashluha3 (unsigned short accum a, int b) unsigned accum __ashlusa3 (unsigned accum a, int b) unsigned long accum __ashluda3 (unsigned long accum a, int b) unsigned long long accum __ashluta3 (unsigned long long accum a, int b) These functions return the result of shifting :samp:`{a}` left by :samp:`{b}` bits. .. function:: short fract __ashrqq3 (short fract a, int b) fract __ashrhq3 (fract a, int b) long fract __ashrsq3 (long fract a, int b) long long fract __ashrdq3 (long long fract a, int b) short accum __ashrha3 (short accum a, int b) accum __ashrsa3 (accum a, int b) long accum __ashrda3 (long accum a, int b) long long accum __ashrta3 (long long accum a, int b) These functions return the result of arithmetically shifting :samp:`{a}` right by :samp:`{b}` bits. .. function:: unsigned short fract __lshruqq3 (unsigned short fract a, int b) unsigned fract __lshruhq3 (unsigned fract a, int b) unsigned long fract __lshrusq3 (unsigned long fract a, int b) unsigned long long fract __lshrudq3 (unsigned long long fract a, int b) unsigned short accum __lshruha3 (unsigned short accum a, int b) unsigned accum __lshrusa3 (unsigned accum a, int b) unsigned long accum __lshruda3 (unsigned long accum a, int b) unsigned long long accum __lshruta3 (unsigned long long accum a, int b) These functions return the result of logically shifting :samp:`{a}` right by :samp:`{b}` bits. .. function:: fract __ssashlhq3 (fract a, int b) long fract __ssashlsq3 (long fract a, int b) long long fract __ssashldq3 (long long fract a, int b) short accum __ssashlha3 (short accum a, int b) accum __ssashlsa3 (accum a, int b) long accum __ssashlda3 (long accum a, int b) long long accum __ssashlta3 (long long accum a, int b) These functions return the result of shifting :samp:`{a}` left by :samp:`{b}` bits with signed saturation. .. function:: unsigned short fract __usashluqq3 (unsigned short fract a, int b) unsigned fract __usashluhq3 (unsigned fract a, int b) unsigned long fract __usashlusq3 (unsigned long fract a, int b) unsigned long long fract __usashludq3 (unsigned long long fract a, int b) unsigned short accum __usashluha3 (unsigned short accum a, int b) unsigned accum __usashlusa3 (unsigned accum a, int b) unsigned long accum __usashluda3 (unsigned long accum a, int b) unsigned long long accum __usashluta3 (unsigned long long accum a, int b) These functions return the result of shifting :samp:`{a}` left by :samp:`{b}` bits with unsigned saturation. Comparison functions ^^^^^^^^^^^^^^^^^^^^ The following functions implement fixed-point comparisons. These functions implement a low-level compare, upon which the higher level comparison operators (such as less than and greater than or equal to) can be constructed. The returned values lie in the range zero to two, to allow the high-level operators to be implemented by testing the returned result using either signed or unsigned comparison. .. function:: int __cmpqq2 (short fract a, short fract b) int __cmphq2 (fract a, fract b) int __cmpsq2 (long fract a, long fract b) int __cmpdq2 (long long fract a, long long fract b) int __cmpuqq2 (unsigned short fract a, unsigned short fract b) int __cmpuhq2 (unsigned fract a, unsigned fract b) int __cmpusq2 (unsigned long fract a, unsigned long fract b) int __cmpudq2 (unsigned long long fract a, unsigned long long fract b) int __cmpha2 (short accum a, short accum b) int __cmpsa2 (accum a, accum b) int __cmpda2 (long accum a, long accum b) int __cmpta2 (long long accum a, long long accum b) int __cmpuha2 (unsigned short accum a, unsigned short accum b) int __cmpusa2 (unsigned accum a, unsigned accum b) int __cmpuda2 (unsigned long accum a, unsigned long accum b) int __cmputa2 (unsigned long long accum a, unsigned long long accum b) These functions perform a signed or unsigned comparison of :samp:`{a}` and :samp:`{b}` (depending on the selected machine mode). If :samp:`{a}` is less than :samp:`{b}`, they return 0; if :samp:`{a}` is greater than :samp:`{b}`, they return 2; and if :samp:`{a}` and :samp:`{b}` are equal they return 1. Conversion functions ^^^^^^^^^^^^^^^^^^^^ .. function:: fract __fractqqhq2 (short fract a) long fract __fractqqsq2 (short fract a) long long fract __fractqqdq2 (short fract a) short accum __fractqqha (short fract a) accum __fractqqsa (short fract a) long accum __fractqqda (short fract a) long long accum __fractqqta (short fract a) unsigned short fract __fractqquqq (short fract a) unsigned fract __fractqquhq (short fract a) unsigned long fract __fractqqusq (short fract a) unsigned long long fract __fractqqudq (short fract a) unsigned short accum __fractqquha (short fract a) unsigned accum __fractqqusa (short fract a) unsigned long accum __fractqquda (short fract a) unsigned long long accum __fractqquta (short fract a) signed char __fractqqqi (short fract a) short __fractqqhi (short fract a) int __fractqqsi (short fract a) long __fractqqdi (short fract a) long long __fractqqti (short fract a) float __fractqqsf (short fract a) double __fractqqdf (short fract a) short fract __fracthqqq2 (fract a) long fract __fracthqsq2 (fract a) long long fract __fracthqdq2 (fract a) short accum __fracthqha (fract a) accum __fracthqsa (fract a) long accum __fracthqda (fract a) long long accum __fracthqta (fract a) unsigned short fract __fracthquqq (fract a) unsigned fract __fracthquhq (fract a) unsigned long fract __fracthqusq (fract a) unsigned long long fract __fracthqudq (fract a) unsigned short accum __fracthquha (fract a) unsigned accum __fracthqusa (fract a) unsigned long accum __fracthquda (fract a) unsigned long long accum __fracthquta (fract a) signed char __fracthqqi (fract a) short __fracthqhi (fract a) int __fracthqsi (fract a) long __fracthqdi (fract a) long long __fracthqti (fract a) float __fracthqsf (fract a) double __fracthqdf (fract a) short fract __fractsqqq2 (long fract a) fract __fractsqhq2 (long fract a) long long fract __fractsqdq2 (long fract a) short accum __fractsqha (long fract a) accum __fractsqsa (long fract a) long accum __fractsqda (long fract a) long long accum __fractsqta (long fract a) unsigned short fract __fractsquqq (long fract a) unsigned fract __fractsquhq (long fract a) unsigned long fract __fractsqusq (long fract a) unsigned long long fract __fractsqudq (long fract a) unsigned short accum __fractsquha (long fract a) unsigned accum __fractsqusa (long fract a) unsigned long accum __fractsquda (long fract a) unsigned long long accum __fractsquta (long fract a) signed char __fractsqqi (long fract a) short __fractsqhi (long fract a) int __fractsqsi (long fract a) long __fractsqdi (long fract a) long long __fractsqti (long fract a) float __fractsqsf (long fract a) double __fractsqdf (long fract a) short fract __fractdqqq2 (long long fract a) fract __fractdqhq2 (long long fract a) long fract __fractdqsq2 (long long fract a) short accum __fractdqha (long long fract a) accum __fractdqsa (long long fract a) long accum __fractdqda (long long fract a) long long accum __fractdqta (long long fract a) unsigned short fract __fractdquqq (long long fract a) unsigned fract __fractdquhq (long long fract a) unsigned long fract __fractdqusq (long long fract a) unsigned long long fract __fractdqudq (long long fract a) unsigned short accum __fractdquha (long long fract a) unsigned accum __fractdqusa (long long fract a) unsigned long accum __fractdquda (long long fract a) unsigned long long accum __fractdquta (long long fract a) signed char __fractdqqi (long long fract a) short __fractdqhi (long long fract a) int __fractdqsi (long long fract a) long __fractdqdi (long long fract a) long long __fractdqti (long long fract a) float __fractdqsf (long long fract a) double __fractdqdf (long long fract a) short fract __fracthaqq (short accum a) fract __fracthahq (short accum a) long fract __fracthasq (short accum a) long long fract __fracthadq (short accum a) accum __fracthasa2 (short accum a) long accum __fracthada2 (short accum a) long long accum __fracthata2 (short accum a) unsigned short fract __fracthauqq (short accum a) unsigned fract __fracthauhq (short accum a) unsigned long fract __fracthausq (short accum a) unsigned long long fract __fracthaudq (short accum a) unsigned short accum __fracthauha (short accum a) unsigned accum __fracthausa (short accum a) unsigned long accum __fracthauda (short accum a) unsigned long long accum __fracthauta (short accum a) signed char __fracthaqi (short accum a) short __fracthahi (short accum a) int __fracthasi (short accum a) long __fracthadi (short accum a) long long __fracthati (short accum a) float __fracthasf (short accum a) double __fracthadf (short accum a) short fract __fractsaqq (accum a) fract __fractsahq (accum a) long fract __fractsasq (accum a) long long fract __fractsadq (accum a) short accum __fractsaha2 (accum a) long accum __fractsada2 (accum a) long long accum __fractsata2 (accum a) unsigned short fract __fractsauqq (accum a) unsigned fract __fractsauhq (accum a) unsigned long fract __fractsausq (accum a) unsigned long long fract __fractsaudq (accum a) unsigned short accum __fractsauha (accum a) unsigned accum __fractsausa (accum a) unsigned long accum __fractsauda (accum a) unsigned long long accum __fractsauta (accum a) signed char __fractsaqi (accum a) short __fractsahi (accum a) int __fractsasi (accum a) long __fractsadi (accum a) long long __fractsati (accum a) float __fractsasf (accum a) double __fractsadf (accum a) short fract __fractdaqq (long accum a) fract __fractdahq (long accum a) long fract __fractdasq (long accum a) long long fract __fractdadq (long accum a) short accum __fractdaha2 (long accum a) accum __fractdasa2 (long accum a) long long accum __fractdata2 (long accum a) unsigned short fract __fractdauqq (long accum a) unsigned fract __fractdauhq (long accum a) unsigned long fract __fractdausq (long accum a) unsigned long long fract __fractdaudq (long accum a) unsigned short accum __fractdauha (long accum a) unsigned accum __fractdausa (long accum a) unsigned long accum __fractdauda (long accum a) unsigned long long accum __fractdauta (long accum a) signed char __fractdaqi (long accum a) short __fractdahi (long accum a) int __fractdasi (long accum a) long __fractdadi (long accum a) long long __fractdati (long accum a) float __fractdasf (long accum a) double __fractdadf (long accum a) short fract __fracttaqq (long long accum a) fract __fracttahq (long long accum a) long fract __fracttasq (long long accum a) long long fract __fracttadq (long long accum a) short accum __fracttaha2 (long long accum a) accum __fracttasa2 (long long accum a) long accum __fracttada2 (long long accum a) unsigned short fract __fracttauqq (long long accum a) unsigned fract __fracttauhq (long long accum a) unsigned long fract __fracttausq (long long accum a) unsigned long long fract __fracttaudq (long long accum a) unsigned short accum __fracttauha (long long accum a) unsigned accum __fracttausa (long long accum a) unsigned long accum __fracttauda (long long accum a) unsigned long long accum __fracttauta (long long accum a) signed char __fracttaqi (long long accum a) short __fracttahi (long long accum a) int __fracttasi (long long accum a) long __fracttadi (long long accum a) long long __fracttati (long long accum a) float __fracttasf (long long accum a) double __fracttadf (long long accum a) short fract __fractuqqqq (unsigned short fract a) fract __fractuqqhq (unsigned short fract a) long fract __fractuqqsq (unsigned short fract a) long long fract __fractuqqdq (unsigned short fract a) short accum __fractuqqha (unsigned short fract a) accum __fractuqqsa (unsigned short fract a) long accum __fractuqqda (unsigned short fract a) long long accum __fractuqqta (unsigned short fract a) unsigned fract __fractuqquhq2 (unsigned short fract a) unsigned long fract __fractuqqusq2 (unsigned short fract a) unsigned long long fract __fractuqqudq2 (unsigned short fract a) unsigned short accum __fractuqquha (unsigned short fract a) unsigned accum __fractuqqusa (unsigned short fract a) unsigned long accum __fractuqquda (unsigned short fract a) unsigned long long accum __fractuqquta (unsigned short fract a) signed char __fractuqqqi (unsigned short fract a) short __fractuqqhi (unsigned short fract a) int __fractuqqsi (unsigned short fract a) long __fractuqqdi (unsigned short fract a) long long __fractuqqti (unsigned short fract a) float __fractuqqsf (unsigned short fract a) double __fractuqqdf (unsigned short fract a) short fract __fractuhqqq (unsigned fract a) fract __fractuhqhq (unsigned fract a) long fract __fractuhqsq (unsigned fract a) long long fract __fractuhqdq (unsigned fract a) short accum __fractuhqha (unsigned fract a) accum __fractuhqsa (unsigned fract a) long accum __fractuhqda (unsigned fract a) long long accum __fractuhqta (unsigned fract a) unsigned short fract __fractuhquqq2 (unsigned fract a) unsigned long fract __fractuhqusq2 (unsigned fract a) unsigned long long fract __fractuhqudq2 (unsigned fract a) unsigned short accum __fractuhquha (unsigned fract a) unsigned accum __fractuhqusa (unsigned fract a) unsigned long accum __fractuhquda (unsigned fract a) unsigned long long accum __fractuhquta (unsigned fract a) signed char __fractuhqqi (unsigned fract a) short __fractuhqhi (unsigned fract a) int __fractuhqsi (unsigned fract a) long __fractuhqdi (unsigned fract a) long long __fractuhqti (unsigned fract a) float __fractuhqsf (unsigned fract a) double __fractuhqdf (unsigned fract a) short fract __fractusqqq (unsigned long fract a) fract __fractusqhq (unsigned long fract a) long fract __fractusqsq (unsigned long fract a) long long fract __fractusqdq (unsigned long fract a) short accum __fractusqha (unsigned long fract a) accum __fractusqsa (unsigned long fract a) long accum __fractusqda (unsigned long fract a) long long accum __fractusqta (unsigned long fract a) unsigned short fract __fractusquqq2 (unsigned long fract a) unsigned fract __fractusquhq2 (unsigned long fract a) unsigned long long fract __fractusqudq2 (unsigned long fract a) unsigned short accum __fractusquha (unsigned long fract a) unsigned accum __fractusqusa (unsigned long fract a) unsigned long accum __fractusquda (unsigned long fract a) unsigned long long accum __fractusquta (unsigned long fract a) signed char __fractusqqi (unsigned long fract a) short __fractusqhi (unsigned long fract a) int __fractusqsi (unsigned long fract a) long __fractusqdi (unsigned long fract a) long long __fractusqti (unsigned long fract a) float __fractusqsf (unsigned long fract a) double __fractusqdf (unsigned long fract a) short fract __fractudqqq (unsigned long long fract a) fract __fractudqhq (unsigned long long fract a) long fract __fractudqsq (unsigned long long fract a) long long fract __fractudqdq (unsigned long long fract a) short accum __fractudqha (unsigned long long fract a) accum __fractudqsa (unsigned long long fract a) long accum __fractudqda (unsigned long long fract a) long long accum __fractudqta (unsigned long long fract a) unsigned short fract __fractudquqq2 (unsigned long long fract a) unsigned fract __fractudquhq2 (unsigned long long fract a) unsigned long fract __fractudqusq2 (unsigned long long fract a) unsigned short accum __fractudquha (unsigned long long fract a) unsigned accum __fractudqusa (unsigned long long fract a) unsigned long accum __fractudquda (unsigned long long fract a) unsigned long long accum __fractudquta (unsigned long long fract a) signed char __fractudqqi (unsigned long long fract a) short __fractudqhi (unsigned long long fract a) int __fractudqsi (unsigned long long fract a) long __fractudqdi (unsigned long long fract a) long long __fractudqti (unsigned long long fract a) float __fractudqsf (unsigned long long fract a) double __fractudqdf (unsigned long long fract a) short fract __fractuhaqq (unsigned short accum a) fract __fractuhahq (unsigned short accum a) long fract __fractuhasq (unsigned short accum a) long long fract __fractuhadq (unsigned short accum a) short accum __fractuhaha (unsigned short accum a) accum __fractuhasa (unsigned short accum a) long accum __fractuhada (unsigned short accum a) long long accum __fractuhata (unsigned short accum a) unsigned short fract __fractuhauqq (unsigned short accum a) unsigned fract __fractuhauhq (unsigned short accum a) unsigned long fract __fractuhausq (unsigned short accum a) unsigned long long fract __fractuhaudq (unsigned short accum a) unsigned accum __fractuhausa2 (unsigned short accum a) unsigned long accum __fractuhauda2 (unsigned short accum a) unsigned long long accum __fractuhauta2 (unsigned short accum a) signed char __fractuhaqi (unsigned short accum a) short __fractuhahi (unsigned short accum a) int __fractuhasi (unsigned short accum a) long __fractuhadi (unsigned short accum a) long long __fractuhati (unsigned short accum a) float __fractuhasf (unsigned short accum a) double __fractuhadf (unsigned short accum a) short fract __fractusaqq (unsigned accum a) fract __fractusahq (unsigned accum a) long fract __fractusasq (unsigned accum a) long long fract __fractusadq (unsigned accum a) short accum __fractusaha (unsigned accum a) accum __fractusasa (unsigned accum a) long accum __fractusada (unsigned accum a) long long accum __fractusata (unsigned accum a) unsigned short fract __fractusauqq (unsigned accum a) unsigned fract __fractusauhq (unsigned accum a) unsigned long fract __fractusausq (unsigned accum a) unsigned long long fract __fractusaudq (unsigned accum a) unsigned short accum __fractusauha2 (unsigned accum a) unsigned long accum __fractusauda2 (unsigned accum a) unsigned long long accum __fractusauta2 (unsigned accum a) signed char __fractusaqi (unsigned accum a) short __fractusahi (unsigned accum a) int __fractusasi (unsigned accum a) long __fractusadi (unsigned accum a) long long __fractusati (unsigned accum a) float __fractusasf (unsigned accum a) double __fractusadf (unsigned accum a) short fract __fractudaqq (unsigned long accum a) fract __fractudahq (unsigned long accum a) long fract __fractudasq (unsigned long accum a) long long fract __fractudadq (unsigned long accum a) short accum __fractudaha (unsigned long accum a) accum __fractudasa (unsigned long accum a) long accum __fractudada (unsigned long accum a) long long accum __fractudata (unsigned long accum a) unsigned short fract __fractudauqq (unsigned long accum a) unsigned fract __fractudauhq (unsigned long accum a) unsigned long fract __fractudausq (unsigned long accum a) unsigned long long fract __fractudaudq (unsigned long accum a) unsigned short accum __fractudauha2 (unsigned long accum a) unsigned accum __fractudausa2 (unsigned long accum a) unsigned long long accum __fractudauta2 (unsigned long accum a) signed char __fractudaqi (unsigned long accum a) short __fractudahi (unsigned long accum a) int __fractudasi (unsigned long accum a) long __fractudadi (unsigned long accum a) long long __fractudati (unsigned long accum a) float __fractudasf (unsigned long accum a) double __fractudadf (unsigned long accum a) short fract __fractutaqq (unsigned long long accum a) fract __fractutahq (unsigned long long accum a) long fract __fractutasq (unsigned long long accum a) long long fract __fractutadq (unsigned long long accum a) short accum __fractutaha (unsigned long long accum a) accum __fractutasa (unsigned long long accum a) long accum __fractutada (unsigned long long accum a) long long accum __fractutata (unsigned long long accum a) unsigned short fract __fractutauqq (unsigned long long accum a) unsigned fract __fractutauhq (unsigned long long accum a) unsigned long fract __fractutausq (unsigned long long accum a) unsigned long long fract __fractutaudq (unsigned long long accum a) unsigned short accum __fractutauha2 (unsigned long long accum a) unsigned accum __fractutausa2 (unsigned long long accum a) unsigned long accum __fractutauda2 (unsigned long long accum a) signed char __fractutaqi (unsigned long long accum a) short __fractutahi (unsigned long long accum a) int __fractutasi (unsigned long long accum a) long __fractutadi (unsigned long long accum a) long long __fractutati (unsigned long long accum a) float __fractutasf (unsigned long long accum a) double __fractutadf (unsigned long long accum a) short fract __fractqiqq (signed char a) fract __fractqihq (signed char a) long fract __fractqisq (signed char a) long long fract __fractqidq (signed char a) short accum __fractqiha (signed char a) accum __fractqisa (signed char a) long accum __fractqida (signed char a) long long accum __fractqita (signed char a) unsigned short fract __fractqiuqq (signed char a) unsigned fract __fractqiuhq (signed char a) unsigned long fract __fractqiusq (signed char a) unsigned long long fract __fractqiudq (signed char a) unsigned short accum __fractqiuha (signed char a) unsigned accum __fractqiusa (signed char a) unsigned long accum __fractqiuda (signed char a) unsigned long long accum __fractqiuta (signed char a) short fract __fracthiqq (short a) fract __fracthihq (short a) long fract __fracthisq (short a) long long fract __fracthidq (short a) short accum __fracthiha (short a) accum __fracthisa (short a) long accum __fracthida (short a) long long accum __fracthita (short a) unsigned short fract __fracthiuqq (short a) unsigned fract __fracthiuhq (short a) unsigned long fract __fracthiusq (short a) unsigned long long fract __fracthiudq (short a) unsigned short accum __fracthiuha (short a) unsigned accum __fracthiusa (short a) unsigned long accum __fracthiuda (short a) unsigned long long accum __fracthiuta (short a) short fract __fractsiqq (int a) fract __fractsihq (int a) long fract __fractsisq (int a) long long fract __fractsidq (int a) short accum __fractsiha (int a) accum __fractsisa (int a) long accum __fractsida (int a) long long accum __fractsita (int a) unsigned short fract __fractsiuqq (int a) unsigned fract __fractsiuhq (int a) unsigned long fract __fractsiusq (int a) unsigned long long fract __fractsiudq (int a) unsigned short accum __fractsiuha (int a) unsigned accum __fractsiusa (int a) unsigned long accum __fractsiuda (int a) unsigned long long accum __fractsiuta (int a) short fract __fractdiqq (long a) fract __fractdihq (long a) long fract __fractdisq (long a) long long fract __fractdidq (long a) short accum __fractdiha (long a) accum __fractdisa (long a) long accum __fractdida (long a) long long accum __fractdita (long a) unsigned short fract __fractdiuqq (long a) unsigned fract __fractdiuhq (long a) unsigned long fract __fractdiusq (long a) unsigned long long fract __fractdiudq (long a) unsigned short accum __fractdiuha (long a) unsigned accum __fractdiusa (long a) unsigned long accum __fractdiuda (long a) unsigned long long accum __fractdiuta (long a) short fract __fracttiqq (long long a) fract __fracttihq (long long a) long fract __fracttisq (long long a) long long fract __fracttidq (long long a) short accum __fracttiha (long long a) accum __fracttisa (long long a) long accum __fracttida (long long a) long long accum __fracttita (long long a) unsigned short fract __fracttiuqq (long long a) unsigned fract __fracttiuhq (long long a) unsigned long fract __fracttiusq (long long a) unsigned long long fract __fracttiudq (long long a) unsigned short accum __fracttiuha (long long a) unsigned accum __fracttiusa (long long a) unsigned long accum __fracttiuda (long long a) unsigned long long accum __fracttiuta (long long a) short fract __fractsfqq (float a) fract __fractsfhq (float a) long fract __fractsfsq (float a) long long fract __fractsfdq (float a) short accum __fractsfha (float a) accum __fractsfsa (float a) long accum __fractsfda (float a) long long accum __fractsfta (float a) unsigned short fract __fractsfuqq (float a) unsigned fract __fractsfuhq (float a) unsigned long fract __fractsfusq (float a) unsigned long long fract __fractsfudq (float a) unsigned short accum __fractsfuha (float a) unsigned accum __fractsfusa (float a) unsigned long accum __fractsfuda (float a) unsigned long long accum __fractsfuta (float a) short fract __fractdfqq (double a) fract __fractdfhq (double a) long fract __fractdfsq (double a) long long fract __fractdfdq (double a) short accum __fractdfha (double a) accum __fractdfsa (double a) long accum __fractdfda (double a) long long accum __fractdfta (double a) unsigned short fract __fractdfuqq (double a) unsigned fract __fractdfuhq (double a) unsigned long fract __fractdfusq (double a) unsigned long long fract __fractdfudq (double a) unsigned short accum __fractdfuha (double a) unsigned accum __fractdfusa (double a) unsigned long accum __fractdfuda (double a) unsigned long long accum __fractdfuta (double a) These functions convert from fractional and signed non-fractionals to fractionals and signed non-fractionals, without saturation. .. function:: fract __satfractqqhq2 (short fract a) long fract __satfractqqsq2 (short fract a) long long fract __satfractqqdq2 (short fract a) short accum __satfractqqha (short fract a) accum __satfractqqsa (short fract a) long accum __satfractqqda (short fract a) long long accum __satfractqqta (short fract a) unsigned short fract __satfractqquqq (short fract a) unsigned fract __satfractqquhq (short fract a) unsigned long fract __satfractqqusq (short fract a) unsigned long long fract __satfractqqudq (short fract a) unsigned short accum __satfractqquha (short fract a) unsigned accum __satfractqqusa (short fract a) unsigned long accum __satfractqquda (short fract a) unsigned long long accum __satfractqquta (short fract a) short fract __satfracthqqq2 (fract a) long fract __satfracthqsq2 (fract a) long long fract __satfracthqdq2 (fract a) short accum __satfracthqha (fract a) accum __satfracthqsa (fract a) long accum __satfracthqda (fract a) long long accum __satfracthqta (fract a) unsigned short fract __satfracthquqq (fract a) unsigned fract __satfracthquhq (fract a) unsigned long fract __satfracthqusq (fract a) unsigned long long fract __satfracthqudq (fract a) unsigned short accum __satfracthquha (fract a) unsigned accum __satfracthqusa (fract a) unsigned long accum __satfracthquda (fract a) unsigned long long accum __satfracthquta (fract a) short fract __satfractsqqq2 (long fract a) fract __satfractsqhq2 (long fract a) long long fract __satfractsqdq2 (long fract a) short accum __satfractsqha (long fract a) accum __satfractsqsa (long fract a) long accum __satfractsqda (long fract a) long long accum __satfractsqta (long fract a) unsigned short fract __satfractsquqq (long fract a) unsigned fract __satfractsquhq (long fract a) unsigned long fract __satfractsqusq (long fract a) unsigned long long fract __satfractsqudq (long fract a) unsigned short accum __satfractsquha (long fract a) unsigned accum __satfractsqusa (long fract a) unsigned long accum __satfractsquda (long fract a) unsigned long long accum __satfractsquta (long fract a) short fract __satfractdqqq2 (long long fract a) fract __satfractdqhq2 (long long fract a) long fract __satfractdqsq2 (long long fract a) short accum __satfractdqha (long long fract a) accum __satfractdqsa (long long fract a) long accum __satfractdqda (long long fract a) long long accum __satfractdqta (long long fract a) unsigned short fract __satfractdquqq (long long fract a) unsigned fract __satfractdquhq (long long fract a) unsigned long fract __satfractdqusq (long long fract a) unsigned long long fract __satfractdqudq (long long fract a) unsigned short accum __satfractdquha (long long fract a) unsigned accum __satfractdqusa (long long fract a) unsigned long accum __satfractdquda (long long fract a) unsigned long long accum __satfractdquta (long long fract a) short fract __satfracthaqq (short accum a) fract __satfracthahq (short accum a) long fract __satfracthasq (short accum a) long long fract __satfracthadq (short accum a) accum __satfracthasa2 (short accum a) long accum __satfracthada2 (short accum a) long long accum __satfracthata2 (short accum a) unsigned short fract __satfracthauqq (short accum a) unsigned fract __satfracthauhq (short accum a) unsigned long fract __satfracthausq (short accum a) unsigned long long fract __satfracthaudq (short accum a) unsigned short accum __satfracthauha (short accum a) unsigned accum __satfracthausa (short accum a) unsigned long accum __satfracthauda (short accum a) unsigned long long accum __satfracthauta (short accum a) short fract __satfractsaqq (accum a) fract __satfractsahq (accum a) long fract __satfractsasq (accum a) long long fract __satfractsadq (accum a) short accum __satfractsaha2 (accum a) long accum __satfractsada2 (accum a) long long accum __satfractsata2 (accum a) unsigned short fract __satfractsauqq (accum a) unsigned fract __satfractsauhq (accum a) unsigned long fract __satfractsausq (accum a) unsigned long long fract __satfractsaudq (accum a) unsigned short accum __satfractsauha (accum a) unsigned accum __satfractsausa (accum a) unsigned long accum __satfractsauda (accum a) unsigned long long accum __satfractsauta (accum a) short fract __satfractdaqq (long accum a) fract __satfractdahq (long accum a) long fract __satfractdasq (long accum a) long long fract __satfractdadq (long accum a) short accum __satfractdaha2 (long accum a) accum __satfractdasa2 (long accum a) long long accum __satfractdata2 (long accum a) unsigned short fract __satfractdauqq (long accum a) unsigned fract __satfractdauhq (long accum a) unsigned long fract __satfractdausq (long accum a) unsigned long long fract __satfractdaudq (long accum a) unsigned short accum __satfractdauha (long accum a) unsigned accum __satfractdausa (long accum a) unsigned long accum __satfractdauda (long accum a) unsigned long long accum __satfractdauta (long accum a) short fract __satfracttaqq (long long accum a) fract __satfracttahq (long long accum a) long fract __satfracttasq (long long accum a) long long fract __satfracttadq (long long accum a) short accum __satfracttaha2 (long long accum a) accum __satfracttasa2 (long long accum a) long accum __satfracttada2 (long long accum a) unsigned short fract __satfracttauqq (long long accum a) unsigned fract __satfracttauhq (long long accum a) unsigned long fract __satfracttausq (long long accum a) unsigned long long fract __satfracttaudq (long long accum a) unsigned short accum __satfracttauha (long long accum a) unsigned accum __satfracttausa (long long accum a) unsigned long accum __satfracttauda (long long accum a) unsigned long long accum __satfracttauta (long long accum a) short fract __satfractuqqqq (unsigned short fract a) fract __satfractuqqhq (unsigned short fract a) long fract __satfractuqqsq (unsigned short fract a) long long fract __satfractuqqdq (unsigned short fract a) short accum __satfractuqqha (unsigned short fract a) accum __satfractuqqsa (unsigned short fract a) long accum __satfractuqqda (unsigned short fract a) long long accum __satfractuqqta (unsigned short fract a) unsigned fract __satfractuqquhq2 (unsigned short fract a) unsigned long fract __satfractuqqusq2 (unsigned short fract a) unsigned long long fract __satfractuqqudq2 (unsigned short fract a) unsigned short accum __satfractuqquha (unsigned short fract a) unsigned accum __satfractuqqusa (unsigned short fract a) unsigned long accum __satfractuqquda (unsigned short fract a) unsigned long long accum __satfractuqquta (unsigned short fract a) short fract __satfractuhqqq (unsigned fract a) fract __satfractuhqhq (unsigned fract a) long fract __satfractuhqsq (unsigned fract a) long long fract __satfractuhqdq (unsigned fract a) short accum __satfractuhqha (unsigned fract a) accum __satfractuhqsa (unsigned fract a) long accum __satfractuhqda (unsigned fract a) long long accum __satfractuhqta (unsigned fract a) unsigned short fract __satfractuhquqq2 (unsigned fract a) unsigned long fract __satfractuhqusq2 (unsigned fract a) unsigned long long fract __satfractuhqudq2 (unsigned fract a) unsigned short accum __satfractuhquha (unsigned fract a) unsigned accum __satfractuhqusa (unsigned fract a) unsigned long accum __satfractuhquda (unsigned fract a) unsigned long long accum __satfractuhquta (unsigned fract a) short fract __satfractusqqq (unsigned long fract a) fract __satfractusqhq (unsigned long fract a) long fract __satfractusqsq (unsigned long fract a) long long fract __satfractusqdq (unsigned long fract a) short accum __satfractusqha (unsigned long fract a) accum __satfractusqsa (unsigned long fract a) long accum __satfractusqda (unsigned long fract a) long long accum __satfractusqta (unsigned long fract a) unsigned short fract __satfractusquqq2 (unsigned long fract a) unsigned fract __satfractusquhq2 (unsigned long fract a) unsigned long long fract __satfractusqudq2 (unsigned long fract a) unsigned short accum __satfractusquha (unsigned long fract a) unsigned accum __satfractusqusa (unsigned long fract a) unsigned long accum __satfractusquda (unsigned long fract a) unsigned long long accum __satfractusquta (unsigned long fract a) short fract __satfractudqqq (unsigned long long fract a) fract __satfractudqhq (unsigned long long fract a) long fract __satfractudqsq (unsigned long long fract a) long long fract __satfractudqdq (unsigned long long fract a) short accum __satfractudqha (unsigned long long fract a) accum __satfractudqsa (unsigned long long fract a) long accum __satfractudqda (unsigned long long fract a) long long accum __satfractudqta (unsigned long long fract a) unsigned short fract __satfractudquqq2 (unsigned long long fract a) unsigned fract __satfractudquhq2 (unsigned long long fract a) unsigned long fract __satfractudqusq2 (unsigned long long fract a) unsigned short accum __satfractudquha (unsigned long long fract a) unsigned accum __satfractudqusa (unsigned long long fract a) unsigned long accum __satfractudquda (unsigned long long fract a) unsigned long long accum __satfractudquta (unsigned long long fract a) short fract __satfractuhaqq (unsigned short accum a) fract __satfractuhahq (unsigned short accum a) long fract __satfractuhasq (unsigned short accum a) long long fract __satfractuhadq (unsigned short accum a) short accum __satfractuhaha (unsigned short accum a) accum __satfractuhasa (unsigned short accum a) long accum __satfractuhada (unsigned short accum a) long long accum __satfractuhata (unsigned short accum a) unsigned short fract __satfractuhauqq (unsigned short accum a) unsigned fract __satfractuhauhq (unsigned short accum a) unsigned long fract __satfractuhausq (unsigned short accum a) unsigned long long fract __satfractuhaudq (unsigned short accum a) unsigned accum __satfractuhausa2 (unsigned short accum a) unsigned long accum __satfractuhauda2 (unsigned short accum a) unsigned long long accum __satfractuhauta2 (unsigned short accum a) short fract __satfractusaqq (unsigned accum a) fract __satfractusahq (unsigned accum a) long fract __satfractusasq (unsigned accum a) long long fract __satfractusadq (unsigned accum a) short accum __satfractusaha (unsigned accum a) accum __satfractusasa (unsigned accum a) long accum __satfractusada (unsigned accum a) long long accum __satfractusata (unsigned accum a) unsigned short fract __satfractusauqq (unsigned accum a) unsigned fract __satfractusauhq (unsigned accum a) unsigned long fract __satfractusausq (unsigned accum a) unsigned long long fract __satfractusaudq (unsigned accum a) unsigned short accum __satfractusauha2 (unsigned accum a) unsigned long accum __satfractusauda2 (unsigned accum a) unsigned long long accum __satfractusauta2 (unsigned accum a) short fract __satfractudaqq (unsigned long accum a) fract __satfractudahq (unsigned long accum a) long fract __satfractudasq (unsigned long accum a) long long fract __satfractudadq (unsigned long accum a) short accum __satfractudaha (unsigned long accum a) accum __satfractudasa (unsigned long accum a) long accum __satfractudada (unsigned long accum a) long long accum __satfractudata (unsigned long accum a) unsigned short fract __satfractudauqq (unsigned long accum a) unsigned fract __satfractudauhq (unsigned long accum a) unsigned long fract __satfractudausq (unsigned long accum a) unsigned long long fract __satfractudaudq (unsigned long accum a) unsigned short accum __satfractudauha2 (unsigned long accum a) unsigned accum __satfractudausa2 (unsigned long accum a) unsigned long long accum __satfractudauta2 (unsigned long accum a) short fract __satfractutaqq (unsigned long long accum a) fract __satfractutahq (unsigned long long accum a) long fract __satfractutasq (unsigned long long accum a) long long fract __satfractutadq (unsigned long long accum a) short accum __satfractutaha (unsigned long long accum a) accum __satfractutasa (unsigned long long accum a) long accum __satfractutada (unsigned long long accum a) long long accum __satfractutata (unsigned long long accum a) unsigned short fract __satfractutauqq (unsigned long long accum a) unsigned fract __satfractutauhq (unsigned long long accum a) unsigned long fract __satfractutausq (unsigned long long accum a) unsigned long long fract __satfractutaudq (unsigned long long accum a) unsigned short accum __satfractutauha2 (unsigned long long accum a) unsigned accum __satfractutausa2 (unsigned long long accum a) unsigned long accum __satfractutauda2 (unsigned long long accum a) short fract __satfractqiqq (signed char a) fract __satfractqihq (signed char a) long fract __satfractqisq (signed char a) long long fract __satfractqidq (signed char a) short accum __satfractqiha (signed char a) accum __satfractqisa (signed char a) long accum __satfractqida (signed char a) long long accum __satfractqita (signed char a) unsigned short fract __satfractqiuqq (signed char a) unsigned fract __satfractqiuhq (signed char a) unsigned long fract __satfractqiusq (signed char a) unsigned long long fract __satfractqiudq (signed char a) unsigned short accum __satfractqiuha (signed char a) unsigned accum __satfractqiusa (signed char a) unsigned long accum __satfractqiuda (signed char a) unsigned long long accum __satfractqiuta (signed char a) short fract __satfracthiqq (short a) fract __satfracthihq (short a) long fract __satfracthisq (short a) long long fract __satfracthidq (short a) short accum __satfracthiha (short a) accum __satfracthisa (short a) long accum __satfracthida (short a) long long accum __satfracthita (short a) unsigned short fract __satfracthiuqq (short a) unsigned fract __satfracthiuhq (short a) unsigned long fract __satfracthiusq (short a) unsigned long long fract __satfracthiudq (short a) unsigned short accum __satfracthiuha (short a) unsigned accum __satfracthiusa (short a) unsigned long accum __satfracthiuda (short a) unsigned long long accum __satfracthiuta (short a) short fract __satfractsiqq (int a) fract __satfractsihq (int a) long fract __satfractsisq (int a) long long fract __satfractsidq (int a) short accum __satfractsiha (int a) accum __satfractsisa (int a) long accum __satfractsida (int a) long long accum __satfractsita (int a) unsigned short fract __satfractsiuqq (int a) unsigned fract __satfractsiuhq (int a) unsigned long fract __satfractsiusq (int a) unsigned long long fract __satfractsiudq (int a) unsigned short accum __satfractsiuha (int a) unsigned accum __satfractsiusa (int a) unsigned long accum __satfractsiuda (int a) unsigned long long accum __satfractsiuta (int a) short fract __satfractdiqq (long a) fract __satfractdihq (long a) long fract __satfractdisq (long a) long long fract __satfractdidq (long a) short accum __satfractdiha (long a) accum __satfractdisa (long a) long accum __satfractdida (long a) long long accum __satfractdita (long a) unsigned short fract __satfractdiuqq (long a) unsigned fract __satfractdiuhq (long a) unsigned long fract __satfractdiusq (long a) unsigned long long fract __satfractdiudq (long a) unsigned short accum __satfractdiuha (long a) unsigned accum __satfractdiusa (long a) unsigned long accum __satfractdiuda (long a) unsigned long long accum __satfractdiuta (long a) short fract __satfracttiqq (long long a) fract __satfracttihq (long long a) long fract __satfracttisq (long long a) long long fract __satfracttidq (long long a) short accum __satfracttiha (long long a) accum __satfracttisa (long long a) long accum __satfracttida (long long a) long long accum __satfracttita (long long a) unsigned short fract __satfracttiuqq (long long a) unsigned fract __satfracttiuhq (long long a) unsigned long fract __satfracttiusq (long long a) unsigned long long fract __satfracttiudq (long long a) unsigned short accum __satfracttiuha (long long a) unsigned accum __satfracttiusa (long long a) unsigned long accum __satfracttiuda (long long a) unsigned long long accum __satfracttiuta (long long a) short fract __satfractsfqq (float a) fract __satfractsfhq (float a) long fract __satfractsfsq (float a) long long fract __satfractsfdq (float a) short accum __satfractsfha (float a) accum __satfractsfsa (float a) long accum __satfractsfda (float a) long long accum __satfractsfta (float a) unsigned short fract __satfractsfuqq (float a) unsigned fract __satfractsfuhq (float a) unsigned long fract __satfractsfusq (float a) unsigned long long fract __satfractsfudq (float a) unsigned short accum __satfractsfuha (float a) unsigned accum __satfractsfusa (float a) unsigned long accum __satfractsfuda (float a) unsigned long long accum __satfractsfuta (float a) short fract __satfractdfqq (double a) fract __satfractdfhq (double a) long fract __satfractdfsq (double a) long long fract __satfractdfdq (double a) short accum __satfractdfha (double a) accum __satfractdfsa (double a) long accum __satfractdfda (double a) long long accum __satfractdfta (double a) unsigned short fract __satfractdfuqq (double a) unsigned fract __satfractdfuhq (double a) unsigned long fract __satfractdfusq (double a) unsigned long long fract __satfractdfudq (double a) unsigned short accum __satfractdfuha (double a) unsigned accum __satfractdfusa (double a) unsigned long accum __satfractdfuda (double a) unsigned long long accum __satfractdfuta (double a) The functions convert from fractional and signed non-fractionals to fractionals, with saturation. .. function:: unsigned char __fractunsqqqi (short fract a) unsigned short __fractunsqqhi (short fract a) unsigned int __fractunsqqsi (short fract a) unsigned long __fractunsqqdi (short fract a) unsigned long long __fractunsqqti (short fract a) unsigned char __fractunshqqi (fract a) unsigned short __fractunshqhi (fract a) unsigned int __fractunshqsi (fract a) unsigned long __fractunshqdi (fract a) unsigned long long __fractunshqti (fract a) unsigned char __fractunssqqi (long fract a) unsigned short __fractunssqhi (long fract a) unsigned int __fractunssqsi (long fract a) unsigned long __fractunssqdi (long fract a) unsigned long long __fractunssqti (long fract a) unsigned char __fractunsdqqi (long long fract a) unsigned short __fractunsdqhi (long long fract a) unsigned int __fractunsdqsi (long long fract a) unsigned long __fractunsdqdi (long long fract a) unsigned long long __fractunsdqti (long long fract a) unsigned char __fractunshaqi (short accum a) unsigned short __fractunshahi (short accum a) unsigned int __fractunshasi (short accum a) unsigned long __fractunshadi (short accum a) unsigned long long __fractunshati (short accum a) unsigned char __fractunssaqi (accum a) unsigned short __fractunssahi (accum a) unsigned int __fractunssasi (accum a) unsigned long __fractunssadi (accum a) unsigned long long __fractunssati (accum a) unsigned char __fractunsdaqi (long accum a) unsigned short __fractunsdahi (long accum a) unsigned int __fractunsdasi (long accum a) unsigned long __fractunsdadi (long accum a) unsigned long long __fractunsdati (long accum a) unsigned char __fractunstaqi (long long accum a) unsigned short __fractunstahi (long long accum a) unsigned int __fractunstasi (long long accum a) unsigned long __fractunstadi (long long accum a) unsigned long long __fractunstati (long long accum a) unsigned char __fractunsuqqqi (unsigned short fract a) unsigned short __fractunsuqqhi (unsigned short fract a) unsigned int __fractunsuqqsi (unsigned short fract a) unsigned long __fractunsuqqdi (unsigned short fract a) unsigned long long __fractunsuqqti (unsigned short fract a) unsigned char __fractunsuhqqi (unsigned fract a) unsigned short __fractunsuhqhi (unsigned fract a) unsigned int __fractunsuhqsi (unsigned fract a) unsigned long __fractunsuhqdi (unsigned fract a) unsigned long long __fractunsuhqti (unsigned fract a) unsigned char __fractunsusqqi (unsigned long fract a) unsigned short __fractunsusqhi (unsigned long fract a) unsigned int __fractunsusqsi (unsigned long fract a) unsigned long __fractunsusqdi (unsigned long fract a) unsigned long long __fractunsusqti (unsigned long fract a) unsigned char __fractunsudqqi (unsigned long long fract a) unsigned short __fractunsudqhi (unsigned long long fract a) unsigned int __fractunsudqsi (unsigned long long fract a) unsigned long __fractunsudqdi (unsigned long long fract a) unsigned long long __fractunsudqti (unsigned long long fract a) unsigned char __fractunsuhaqi (unsigned short accum a) unsigned short __fractunsuhahi (unsigned short accum a) unsigned int __fractunsuhasi (unsigned short accum a) unsigned long __fractunsuhadi (unsigned short accum a) unsigned long long __fractunsuhati (unsigned short accum a) unsigned char __fractunsusaqi (unsigned accum a) unsigned short __fractunsusahi (unsigned accum a) unsigned int __fractunsusasi (unsigned accum a) unsigned long __fractunsusadi (unsigned accum a) unsigned long long __fractunsusati (unsigned accum a) unsigned char __fractunsudaqi (unsigned long accum a) unsigned short __fractunsudahi (unsigned long accum a) unsigned int __fractunsudasi (unsigned long accum a) unsigned long __fractunsudadi (unsigned long accum a) unsigned long long __fractunsudati (unsigned long accum a) unsigned char __fractunsutaqi (unsigned long long accum a) unsigned short __fractunsutahi (unsigned long long accum a) unsigned int __fractunsutasi (unsigned long long accum a) unsigned long __fractunsutadi (unsigned long long accum a) unsigned long long __fractunsutati (unsigned long long accum a) short fract __fractunsqiqq (unsigned char a) fract __fractunsqihq (unsigned char a) long fract __fractunsqisq (unsigned char a) long long fract __fractunsqidq (unsigned char a) short accum __fractunsqiha (unsigned char a) accum __fractunsqisa (unsigned char a) long accum __fractunsqida (unsigned char a) long long accum __fractunsqita (unsigned char a) unsigned short fract __fractunsqiuqq (unsigned char a) unsigned fract __fractunsqiuhq (unsigned char a) unsigned long fract __fractunsqiusq (unsigned char a) unsigned long long fract __fractunsqiudq (unsigned char a) unsigned short accum __fractunsqiuha (unsigned char a) unsigned accum __fractunsqiusa (unsigned char a) unsigned long accum __fractunsqiuda (unsigned char a) unsigned long long accum __fractunsqiuta (unsigned char a) short fract __fractunshiqq (unsigned short a) fract __fractunshihq (unsigned short a) long fract __fractunshisq (unsigned short a) long long fract __fractunshidq (unsigned short a) short accum __fractunshiha (unsigned short a) accum __fractunshisa (unsigned short a) long accum __fractunshida (unsigned short a) long long accum __fractunshita (unsigned short a) unsigned short fract __fractunshiuqq (unsigned short a) unsigned fract __fractunshiuhq (unsigned short a) unsigned long fract __fractunshiusq (unsigned short a) unsigned long long fract __fractunshiudq (unsigned short a) unsigned short accum __fractunshiuha (unsigned short a) unsigned accum __fractunshiusa (unsigned short a) unsigned long accum __fractunshiuda (unsigned short a) unsigned long long accum __fractunshiuta (unsigned short a) short fract __fractunssiqq (unsigned int a) fract __fractunssihq (unsigned int a) long fract __fractunssisq (unsigned int a) long long fract __fractunssidq (unsigned int a) short accum __fractunssiha (unsigned int a) accum __fractunssisa (unsigned int a) long accum __fractunssida (unsigned int a) long long accum __fractunssita (unsigned int a) unsigned short fract __fractunssiuqq (unsigned int a) unsigned fract __fractunssiuhq (unsigned int a) unsigned long fract __fractunssiusq (unsigned int a) unsigned long long fract __fractunssiudq (unsigned int a) unsigned short accum __fractunssiuha (unsigned int a) unsigned accum __fractunssiusa (unsigned int a) unsigned long accum __fractunssiuda (unsigned int a) unsigned long long accum __fractunssiuta (unsigned int a) short fract __fractunsdiqq (unsigned long a) fract __fractunsdihq (unsigned long a) long fract __fractunsdisq (unsigned long a) long long fract __fractunsdidq (unsigned long a) short accum __fractunsdiha (unsigned long a) accum __fractunsdisa (unsigned long a) long accum __fractunsdida (unsigned long a) long long accum __fractunsdita (unsigned long a) unsigned short fract __fractunsdiuqq (unsigned long a) unsigned fract __fractunsdiuhq (unsigned long a) unsigned long fract __fractunsdiusq (unsigned long a) unsigned long long fract __fractunsdiudq (unsigned long a) unsigned short accum __fractunsdiuha (unsigned long a) unsigned accum __fractunsdiusa (unsigned long a) unsigned long accum __fractunsdiuda (unsigned long a) unsigned long long accum __fractunsdiuta (unsigned long a) short fract __fractunstiqq (unsigned long long a) fract __fractunstihq (unsigned long long a) long fract __fractunstisq (unsigned long long a) long long fract __fractunstidq (unsigned long long a) short accum __fractunstiha (unsigned long long a) accum __fractunstisa (unsigned long long a) long accum __fractunstida (unsigned long long a) long long accum __fractunstita (unsigned long long a) unsigned short fract __fractunstiuqq (unsigned long long a) unsigned fract __fractunstiuhq (unsigned long long a) unsigned long fract __fractunstiusq (unsigned long long a) unsigned long long fract __fractunstiudq (unsigned long long a) unsigned short accum __fractunstiuha (unsigned long long a) unsigned accum __fractunstiusa (unsigned long long a) unsigned long accum __fractunstiuda (unsigned long long a) unsigned long long accum __fractunstiuta (unsigned long long a) These functions convert from fractionals to unsigned non-fractionals; and from unsigned non-fractionals to fractionals, without saturation. .. function:: short fract __satfractunsqiqq (unsigned char a) fract __satfractunsqihq (unsigned char a) long fract __satfractunsqisq (unsigned char a) long long fract __satfractunsqidq (unsigned char a) short accum __satfractunsqiha (unsigned char a) accum __satfractunsqisa (unsigned char a) long accum __satfractunsqida (unsigned char a) long long accum __satfractunsqita (unsigned char a) unsigned short fract __satfractunsqiuqq (unsigned char a) unsigned fract __satfractunsqiuhq (unsigned char a) unsigned long fract __satfractunsqiusq (unsigned char a) unsigned long long fract __satfractunsqiudq (unsigned char a) unsigned short accum __satfractunsqiuha (unsigned char a) unsigned accum __satfractunsqiusa (unsigned char a) unsigned long accum __satfractunsqiuda (unsigned char a) unsigned long long accum __satfractunsqiuta (unsigned char a) short fract __satfractunshiqq (unsigned short a) fract __satfractunshihq (unsigned short a) long fract __satfractunshisq (unsigned short a) long long fract __satfractunshidq (unsigned short a) short accum __satfractunshiha (unsigned short a) accum __satfractunshisa (unsigned short a) long accum __satfractunshida (unsigned short a) long long accum __satfractunshita (unsigned short a) unsigned short fract __satfractunshiuqq (unsigned short a) unsigned fract __satfractunshiuhq (unsigned short a) unsigned long fract __satfractunshiusq (unsigned short a) unsigned long long fract __satfractunshiudq (unsigned short a) unsigned short accum __satfractunshiuha (unsigned short a) unsigned accum __satfractunshiusa (unsigned short a) unsigned long accum __satfractunshiuda (unsigned short a) unsigned long long accum __satfractunshiuta (unsigned short a) short fract __satfractunssiqq (unsigned int a) fract __satfractunssihq (unsigned int a) long fract __satfractunssisq (unsigned int a) long long fract __satfractunssidq (unsigned int a) short accum __satfractunssiha (unsigned int a) accum __satfractunssisa (unsigned int a) long accum __satfractunssida (unsigned int a) long long accum __satfractunssita (unsigned int a) unsigned short fract __satfractunssiuqq (unsigned int a) unsigned fract __satfractunssiuhq (unsigned int a) unsigned long fract __satfractunssiusq (unsigned int a) unsigned long long fract __satfractunssiudq (unsigned int a) unsigned short accum __satfractunssiuha (unsigned int a) unsigned accum __satfractunssiusa (unsigned int a) unsigned long accum __satfractunssiuda (unsigned int a) unsigned long long accum __satfractunssiuta (unsigned int a) short fract __satfractunsdiqq (unsigned long a) fract __satfractunsdihq (unsigned long a) long fract __satfractunsdisq (unsigned long a) long long fract __satfractunsdidq (unsigned long a) short accum __satfractunsdiha (unsigned long a) accum __satfractunsdisa (unsigned long a) long accum __satfractunsdida (unsigned long a) long long accum __satfractunsdita (unsigned long a) unsigned short fract __satfractunsdiuqq (unsigned long a) unsigned fract __satfractunsdiuhq (unsigned long a) unsigned long fract __satfractunsdiusq (unsigned long a) unsigned long long fract __satfractunsdiudq (unsigned long a) unsigned short accum __satfractunsdiuha (unsigned long a) unsigned accum __satfractunsdiusa (unsigned long a) unsigned long accum __satfractunsdiuda (unsigned long a) unsigned long long accum __satfractunsdiuta (unsigned long a) short fract __satfractunstiqq (unsigned long long a) fract __satfractunstihq (unsigned long long a) long fract __satfractunstisq (unsigned long long a) long long fract __satfractunstidq (unsigned long long a) short accum __satfractunstiha (unsigned long long a) accum __satfractunstisa (unsigned long long a) long accum __satfractunstida (unsigned long long a) long long accum __satfractunstita (unsigned long long a) unsigned short fract __satfractunstiuqq (unsigned long long a) unsigned fract __satfractunstiuhq (unsigned long long a) unsigned long fract __satfractunstiusq (unsigned long long a) unsigned long long fract __satfractunstiudq (unsigned long long a) unsigned short accum __satfractunstiuha (unsigned long long a) unsigned accum __satfractunstiusa (unsigned long long a) unsigned long accum __satfractunstiuda (unsigned long long a) unsigned long long accum __satfractunstiuta (unsigned long long a) These functions convert from unsigned non-fractionals to fractionals, with saturation.