Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
sgl_float.h File Reference

Go to the source code of this file.

Macros

#define Sgl_firstword(value)   Sall(value)
 
#define Sgl_secondword(value)   dummy_location
 
#define Sgl_thirdword(value)   dummy_location
 
#define Sgl_fourthword(value)   dummy_location
 
#define Sgl_sign(object)   Ssign(object)
 
#define Sgl_exponent(object)   Sexponent(object)
 
#define Sgl_signexponent(object)   Ssignexponent(object)
 
#define Sgl_mantissa(object)   Smantissa(object)
 
#define Sgl_exponentmantissa(object)   Sexponentmantissa(object)
 
#define Sgl_all(object)   Sall(object)
 
#define Sgl_and_signs(src1dst, src2)   Sall(src1dst) = (Sall(src2)|~((unsigned int)1<<31)) & Sall(src1dst)
 
#define Sgl_or_signs(src1dst, src2)   Sall(src1dst) = (Sall(src2)&((unsigned int)1<<31)) | Sall(src1dst)
 
#define Sgl_clear_exponent_set_hidden(srcdst)   Deposit_sexponent(srcdst,1)
 
#define Sgl_clear_signexponent_set_hidden(srcdst)   Deposit_ssignexponent(srcdst,1)
 
#define Sgl_clear_sign(srcdst)   Sall(srcdst) &= ~((unsigned int)1<<31)
 
#define Sgl_clear_signexponent(srcdst)   Sall(srcdst) &= 0x007fffff
 
#define Sgl_rightshift(srcdst, varamount)   Sall(srcdst) >>= varamount
 
#define Sgl_leftshift(srcdst, varamount)   Sall(srcdst) <<= varamount
 
#define Sgl_rightshift_exponentmantissa(srcdst, varamount)
 
#define Sgl_leftshiftby1_withextent(left, right, result)   Shiftdouble(Sall(left),Extall(right),31,Sall(result))
 
#define Sgl_rightshiftby1_withextent(left, right, dst)   Shiftdouble(Sall(left),Extall(right),1,Extall(right))
 
#define Sgl_arithrightshiftby1(srcdst)   Sall(srcdst) = (int)Sall(srcdst) >> 1
 
#define Sgl_signextendedsign(value)   Ssignedsign(value)
 
#define Sgl_isone_hidden(sgl_value)   (Shidden(sgl_value))
 
#define Sgl_increment(sgl_value)   Sall(sgl_value) += 1
 
#define Sgl_increment_mantissa(sgl_value)   Deposit_smantissa(sgl_value,sgl_value+1)
 
#define Sgl_decrement(sgl_value)   Sall(sgl_value) -= 1
 
#define Sgl_isone_sign(sgl_value)   (Is_ssign(sgl_value)!=0)
 
#define Sgl_isone_hiddenoverflow(sgl_value)   (Is_shiddenoverflow(sgl_value)!=0)
 
#define Sgl_isone_lowmantissa(sgl_value)   (Is_slow(sgl_value)!=0)
 
#define Sgl_isone_signaling(sgl_value)   (Is_ssignaling(sgl_value)!=0)
 
#define Sgl_is_signalingnan(sgl_value)   (Ssignalingnan(sgl_value)==0x1ff)
 
#define Sgl_isnotzero(sgl_value)   (Sall(sgl_value)!=0)
 
#define Sgl_isnotzero_hiddenhigh7mantissa(sgl_value)   (Shiddenhigh7mantissa(sgl_value)!=0)
 
#define Sgl_isnotzero_low4(sgl_value)   (Slow4(sgl_value)!=0)
 
#define Sgl_isnotzero_exponent(sgl_value)   (Sexponent(sgl_value)!=0)
 
#define Sgl_isnotzero_mantissa(sgl_value)   (Smantissa(sgl_value)!=0)
 
#define Sgl_isnotzero_exponentmantissa(sgl_value)   (Sexponentmantissa(sgl_value)!=0)
 
#define Sgl_iszero(sgl_value)   (Sall(sgl_value)==0)
 
#define Sgl_iszero_signaling(sgl_value)   (Is_ssignaling(sgl_value)==0)
 
#define Sgl_iszero_hidden(sgl_value)   (Is_shidden(sgl_value)==0)
 
#define Sgl_iszero_hiddenoverflow(sgl_value)   (Is_shiddenoverflow(sgl_value)==0)
 
#define Sgl_iszero_hiddenhigh3mantissa(sgl_value)   (Shiddenhigh3mantissa(sgl_value)==0)
 
#define Sgl_iszero_hiddenhigh7mantissa(sgl_value)   (Shiddenhigh7mantissa(sgl_value)==0)
 
#define Sgl_iszero_sign(sgl_value)   (Is_ssign(sgl_value)==0)
 
#define Sgl_iszero_exponent(sgl_value)   (Sexponent(sgl_value)==0)
 
#define Sgl_iszero_mantissa(sgl_value)   (Smantissa(sgl_value)==0)
 
#define Sgl_iszero_exponentmantissa(sgl_value)   (Sexponentmantissa(sgl_value)==0)
 
#define Sgl_isinfinity_exponent(sgl_value)   (Sgl_exponent(sgl_value)==SGL_INFINITY_EXPONENT)
 
#define Sgl_isnotinfinity_exponent(sgl_value)   (Sgl_exponent(sgl_value)!=SGL_INFINITY_EXPONENT)
 
#define Sgl_isinfinity(sgl_value)
 
#define Sgl_isnan(sgl_value)
 
#define Sgl_isnotnan(sgl_value)
 
#define Sgl_islessthan(sgl_op1, sgl_op2)   (Sall(sgl_op1) < Sall(sgl_op2))
 
#define Sgl_isgreaterthan(sgl_op1, sgl_op2)   (Sall(sgl_op1) > Sall(sgl_op2))
 
#define Sgl_isnotlessthan(sgl_op1, sgl_op2)   (Sall(sgl_op1) >= Sall(sgl_op2))
 
#define Sgl_isequal(sgl_op1, sgl_op2)   (Sall(sgl_op1) == Sall(sgl_op2))
 
#define Sgl_leftshiftby8(sgl_value)   Sall(sgl_value) <<= 8
 
#define Sgl_leftshiftby4(sgl_value)   Sall(sgl_value) <<= 4
 
#define Sgl_leftshiftby3(sgl_value)   Sall(sgl_value) <<= 3
 
#define Sgl_leftshiftby2(sgl_value)   Sall(sgl_value) <<= 2
 
#define Sgl_leftshiftby1(sgl_value)   Sall(sgl_value) <<= 1
 
#define Sgl_rightshiftby1(sgl_value)   Sall(sgl_value) >>= 1
 
#define Sgl_rightshiftby4(sgl_value)   Sall(sgl_value) >>= 4
 
#define Sgl_rightshiftby8(sgl_value)   Sall(sgl_value) >>= 8
 
#define Sgl_ismagnitudeless(signlessleft, signlessright)
 
#define Sgl_copytoint_exponentmantissa(source, dest)   dest = Sexponentmantissa(source)
 
#define Sgl_set_quiet(sgl_value)   Deposit_shigh2mantissa(sgl_value,1)
 
#define Sgl_set_exponent(sgl_value, exp)   Deposit_sexponent(sgl_value,exp)
 
#define Sgl_set_mantissa(dest, value)   Deposit_smantissa(dest,value)
 
#define Sgl_set_exponentmantissa(dest, value)   Deposit_sexponentmantissa(dest,value)
 
#define Sgl_setinfinity_exponent(sgl_value)   Deposit_sexponent(sgl_value,SGL_INFINITY_EXPONENT)
 
#define Sgl_setinfinity_exponentmantissa(sgl_value)
 
#define Sgl_setinfinitypositive(sgl_value)   Sall(sgl_value) = (SGL_INFINITY_EXPONENT << (32-(1+SGL_EXP_LENGTH)))
 
#define Sgl_setinfinitynegative(sgl_value)
 
#define Sgl_setinfinity(sgl_value, sign)
 
#define Sgl_sethigh4bits(sgl_value, extsign)   Deposit_shigh4(sgl_value,extsign)
 
#define Sgl_set_sign(sgl_value, sign)   Deposit_ssign(sgl_value,sign)
 
#define Sgl_invert_sign(sgl_value)   Deposit_ssign(sgl_value,~Ssign(sgl_value))
 
#define Sgl_setone_sign(sgl_value)   Deposit_ssign(sgl_value,1)
 
#define Sgl_setone_lowmantissa(sgl_value)   Deposit_slow(sgl_value,1)
 
#define Sgl_setzero_sign(sgl_value)   Sall(sgl_value) &= 0x7fffffff
 
#define Sgl_setzero_exponent(sgl_value)   Sall(sgl_value) &= 0x807fffff
 
#define Sgl_setzero_mantissa(sgl_value)   Sall(sgl_value) &= 0xff800000
 
#define Sgl_setzero_exponentmantissa(sgl_value)   Sall(sgl_value) &= 0x80000000
 
#define Sgl_setzero(sgl_value)   Sall(sgl_value) = 0
 
#define Sgl_setnegativezero(sgl_value)   Sall(sgl_value) = (unsigned int)1 << 31
 
#define ovfl   -
 
#define unfl   +
 
#define Sgl_setwrapped_exponent(sgl_value, exponent, op)   Deposit_sexponent(sgl_value,(exponent op SGL_WRAP))
 
#define Sgl_setlargestpositive(sgl_value)
 
#define Sgl_setlargestnegative(sgl_value)
 
#define Sgl_setnegativeinfinity(sgl_value)
 
#define Sgl_setlargest(sgl_value, sign)
 
#define Sgl_setlargest_exponentmantissa(sgl_value)
 
#define Sgl_right_align(srcdst, shift, extent)
 
#define Sgl_hiddenhigh3mantissa(sgl_value)   Shiddenhigh3mantissa(sgl_value)
 
#define Sgl_hidden(sgl_value)   Shidden(sgl_value)
 
#define Sgl_lowmantissa(sgl_value)   Slow(sgl_value)
 
#define Sgl_subtract(sgl_left, sgl_right, sgl_result)   Sall(sgl_result) = Sall(sgl_left) - Sall(sgl_right)
 
#define Sgl_subtract_withextension(left, right, extent, result)
 
#define Sgl_addition(sgl_left, sgl_right, sgl_result)   Sall(sgl_result) = Sall(sgl_left) + Sall(sgl_right)
 
#define Sgl_xortointp1(left, right, result)   result = Sall(left) XOR Sall(right);
 
#define Sgl_xorfromintp1(left, right, result)   Sall(result) = left XOR Sall(right)
 
#define Sgl_makequietnan(dest)
 
#define Sgl_makesignalingnan(dest)
 
#define Sgl_normalize(sgl_opnd, exponent)
 
#define Sgl_setoverflow(sgl_opnd)
 
#define Sgl_denormalize(opnd, exponent, guard, sticky, inexact)
 
#define SGLEXT_THRESHOLD   48
 
#define Sglext_setzero(valA, valB)   Sextallp1(valA) = 0; Sextallp2(valB) = 0
 
#define Sglext_isnotzero_mantissap2(valB)   (Sextallp2(valB)!=0)
 
#define Sglext_isone_lowp1(val)   (Sextlowp1(val)!=0)
 
#define Sglext_isone_highp2(val)   (Sexthighp2(val)!=0)
 
#define Sglext_isnotzero_low31p2(val)   (Sextlow31p2(val)!=0)
 
#define Sglext_iszero(valA, valB)   (Sextallp1(valA)==0 && Sextallp2(valB)==0)
 
#define Sgl_copytoptr(src, destptr)   *destptr = src
 
#define Sgl_copyfromptr(srcptr, dest)   dest = *srcptr
 
#define Sglext_copy(srca, srcb, desta, destb)
 
#define Sgl_copyto_sglext(src1, dest1, dest2)   Sextallp1(dest1) = Sall(src1); Sextallp2(dest2) = 0
 
#define Sglext_swap_lower(leftp2, rightp2)
 
#define Sglext_setone_lowmantissap2(value)   Deposit_dlowp2(value,1)
 
#define Sglext_right_align(srcdstA, srcdstB, shift)
 
#define Sglext_subtract(lefta, leftb, righta, rightb, resulta, resultb)
 
#define Sglext_addition(lefta, leftb, righta, rightb, resulta, resultb)
 
#define Sglext_arithrightshiftby1(srcdstA, srcdstB)
 
#define Sglext_leftshiftby8(valA, valB)
 
#define Sglext_leftshiftby4(valA, valB)
 
#define Sglext_leftshiftby3(valA, valB)
 
#define Sglext_leftshiftby2(valA, valB)
 
#define Sglext_leftshiftby1(valA, valB)
 
#define Sglext_rightshiftby4(valueA, valueB)
 
#define Sglext_rightshiftby3(valueA, valueB)
 
#define Sglext_rightshiftby1(valueA, valueB)
 
#define Sglext_xortointp1(left, right, result)   Sgl_xortointp1(left,right,result)
 
#define Sglext_xorfromintp1(left, right, result)   Sgl_xorfromintp1(left,right,result)
 
#define Sglext_copytoint_exponentmantissa(src, dest)   Sgl_copytoint_exponentmantissa(src,dest)
 
#define Sglext_ismagnitudeless(signlessleft, signlessright)   Sgl_ismagnitudeless(signlessleft,signlessright)
 
#define Sglext_set_sign(dbl_value, sign)   Sgl_set_sign(dbl_value,sign)
 
#define Sglext_clear_signexponent_set_hidden(srcdst)   Sgl_clear_signexponent_set_hidden(srcdst)
 
#define Sglext_clear_signexponent(srcdst)   Sgl_clear_signexponent(srcdst)
 
#define Sglext_clear_sign(srcdst)   Sgl_clear_sign(srcdst)
 
#define Sglext_isone_hidden(dbl_value)   Sgl_isone_hidden(dbl_value)
 
#define Sglext_denormalize(opndp1, opndp2, exponent, is_tiny)
 

Macro Definition Documentation

#define ovfl   -

Definition at line 193 of file sgl_float.h.

#define Sgl_addition (   sgl_left,
  sgl_right,
  sgl_result 
)    Sall(sgl_result) = Sall(sgl_left) + Sall(sgl_right)

Definition at line 245 of file sgl_float.h.

#define Sgl_all (   object)    Sall(object)

Definition at line 37 of file sgl_float.h.

#define Sgl_and_signs (   src1dst,
  src2 
)    Sall(src1dst) = (Sall(src2)|~((unsigned int)1<<31)) & Sall(src1dst)

Definition at line 41 of file sgl_float.h.

#define Sgl_arithrightshiftby1 (   srcdst)    Sall(srcdst) = (int)Sall(srcdst) >> 1

Definition at line 68 of file sgl_float.h.

#define Sgl_clear_exponent_set_hidden (   srcdst)    Deposit_sexponent(srcdst,1)

Definition at line 47 of file sgl_float.h.

#define Sgl_clear_sign (   srcdst)    Sall(srcdst) &= ~((unsigned int)1<<31)

Definition at line 50 of file sgl_float.h.

#define Sgl_clear_signexponent (   srcdst)    Sall(srcdst) &= 0x007fffff

Definition at line 51 of file sgl_float.h.

#define Sgl_clear_signexponent_set_hidden (   srcdst)    Deposit_ssignexponent(srcdst,1)

Definition at line 48 of file sgl_float.h.

#define Sgl_copyfromptr (   srcptr,
  dest 
)    dest = *srcptr

Definition at line 333 of file sgl_float.h.

#define Sgl_copyto_sglext (   src1,
  dest1,
  dest2 
)    Sextallp1(dest1) = Sall(src1); Sextallp2(dest2) = 0

Definition at line 337 of file sgl_float.h.

#define Sgl_copytoint_exponentmantissa (   source,
  dest 
)    dest = Sexponentmantissa(source)

Definition at line 152 of file sgl_float.h.

#define Sgl_copytoptr (   src,
  destptr 
)    *destptr = src

Definition at line 332 of file sgl_float.h.

#define Sgl_decrement (   sgl_value)    Sall(sgl_value) -= 1

Definition at line 78 of file sgl_float.h.

#define Sgl_denormalize (   opnd,
  exponent,
  guard,
  sticky,
  inexact 
)
Value:
if (exponent >= (1 - SGL_P)) { \
guard = (Sall(opnd) >> -exponent) & 1; \
if (exponent < 0) sticky |= Sall(opnd) << (32+exponent); \
inexact = guard | sticky; \
Sall(opnd) >>= (1-exponent); \
} \
else { \
guard = 0; \
sticky |= Sall(opnd); \
inexact = sticky; \
Sgl_setzero(opnd); \
}

Definition at line 302 of file sgl_float.h.

#define Sgl_exponent (   object)    Sexponent(object)

Definition at line 33 of file sgl_float.h.

#define Sgl_exponentmantissa (   object)    Sexponentmantissa(object)

Definition at line 36 of file sgl_float.h.

#define Sgl_firstword (   value)    Sall(value)

Definition at line 27 of file sgl_float.h.

#define Sgl_fourthword (   value)    dummy_location

Definition at line 30 of file sgl_float.h.

#define Sgl_hidden (   sgl_value)    Shidden(sgl_value)

Definition at line 230 of file sgl_float.h.

#define Sgl_hiddenhigh3mantissa (   sgl_value)    Shiddenhigh3mantissa(sgl_value)

Definition at line 229 of file sgl_float.h.

#define Sgl_increment (   sgl_value)    Sall(sgl_value) += 1

Definition at line 75 of file sgl_float.h.

#define Sgl_increment_mantissa (   sgl_value)    Deposit_smantissa(sgl_value,sgl_value+1)

Definition at line 76 of file sgl_float.h.

#define Sgl_invert_sign (   sgl_value)    Deposit_ssign(sgl_value,~Ssign(sgl_value))

Definition at line 181 of file sgl_float.h.

#define Sgl_is_signalingnan (   sgl_value)    (Ssignalingnan(sgl_value)==0x1ff)

Definition at line 85 of file sgl_float.h.

#define Sgl_isequal (   sgl_op1,
  sgl_op2 
)    (Sall(sgl_op1) == Sall(sgl_op2))

Definition at line 127 of file sgl_float.h.

#define Sgl_isgreaterthan (   sgl_op1,
  sgl_op2 
)    (Sall(sgl_op1) > Sall(sgl_op2))

Definition at line 123 of file sgl_float.h.

#define Sgl_isinfinity (   sgl_value)
Value:
Sgl_mantissa(sgl_value)==0)

Definition at line 112 of file sgl_float.h.

#define Sgl_isinfinity_exponent (   sgl_value)    (Sgl_exponent(sgl_value)==SGL_INFINITY_EXPONENT)

Definition at line 108 of file sgl_float.h.

#define Sgl_islessthan (   sgl_op1,
  sgl_op2 
)    (Sall(sgl_op1) < Sall(sgl_op2))

Definition at line 121 of file sgl_float.h.

#define Sgl_ismagnitudeless (   signlessleft,
  signlessright 
)
Value:
/* unsigned int signlessleft, signlessright; */ \
(signlessleft < signlessright)

Definition at line 147 of file sgl_float.h.

#define Sgl_isnan (   sgl_value)
Value:
Sgl_mantissa(sgl_value)!=0)

Definition at line 115 of file sgl_float.h.

#define Sgl_isnotinfinity_exponent (   sgl_value)    (Sgl_exponent(sgl_value)!=SGL_INFINITY_EXPONENT)

Definition at line 110 of file sgl_float.h.

#define Sgl_isnotlessthan (   sgl_op1,
  sgl_op2 
)    (Sall(sgl_op1) >= Sall(sgl_op2))

Definition at line 125 of file sgl_float.h.

#define Sgl_isnotnan (   sgl_value)
Value:
Sgl_mantissa(sgl_value)==0)

Definition at line 118 of file sgl_float.h.

#define Sgl_isnotzero (   sgl_value)    (Sall(sgl_value)!=0)

Definition at line 86 of file sgl_float.h.

#define Sgl_isnotzero_exponent (   sgl_value)    (Sexponent(sgl_value)!=0)

Definition at line 90 of file sgl_float.h.

#define Sgl_isnotzero_exponentmantissa (   sgl_value)    (Sexponentmantissa(sgl_value)!=0)

Definition at line 92 of file sgl_float.h.

#define Sgl_isnotzero_hiddenhigh7mantissa (   sgl_value)    (Shiddenhigh7mantissa(sgl_value)!=0)

Definition at line 87 of file sgl_float.h.

#define Sgl_isnotzero_low4 (   sgl_value)    (Slow4(sgl_value)!=0)

Definition at line 89 of file sgl_float.h.

#define Sgl_isnotzero_mantissa (   sgl_value)    (Smantissa(sgl_value)!=0)

Definition at line 91 of file sgl_float.h.

#define Sgl_isone_hidden (   sgl_value)    (Shidden(sgl_value))

Definition at line 74 of file sgl_float.h.

#define Sgl_isone_hiddenoverflow (   sgl_value)    (Is_shiddenoverflow(sgl_value)!=0)

Definition at line 81 of file sgl_float.h.

#define Sgl_isone_lowmantissa (   sgl_value)    (Is_slow(sgl_value)!=0)

Definition at line 83 of file sgl_float.h.

#define Sgl_isone_sign (   sgl_value)    (Is_ssign(sgl_value)!=0)

Definition at line 80 of file sgl_float.h.

#define Sgl_isone_signaling (   sgl_value)    (Is_ssignaling(sgl_value)!=0)

Definition at line 84 of file sgl_float.h.

#define Sgl_iszero (   sgl_value)    (Sall(sgl_value)==0)

Definition at line 94 of file sgl_float.h.

#define Sgl_iszero_exponent (   sgl_value)    (Sexponent(sgl_value)==0)

Definition at line 104 of file sgl_float.h.

#define Sgl_iszero_exponentmantissa (   sgl_value)    (Sexponentmantissa(sgl_value)==0)

Definition at line 106 of file sgl_float.h.

#define Sgl_iszero_hidden (   sgl_value)    (Is_shidden(sgl_value)==0)

Definition at line 96 of file sgl_float.h.

#define Sgl_iszero_hiddenhigh3mantissa (   sgl_value)    (Shiddenhigh3mantissa(sgl_value)==0)

Definition at line 99 of file sgl_float.h.

#define Sgl_iszero_hiddenhigh7mantissa (   sgl_value)    (Shiddenhigh7mantissa(sgl_value)==0)

Definition at line 101 of file sgl_float.h.

#define Sgl_iszero_hiddenoverflow (   sgl_value)    (Is_shiddenoverflow(sgl_value)==0)

Definition at line 97 of file sgl_float.h.

#define Sgl_iszero_mantissa (   sgl_value)    (Smantissa(sgl_value)==0)

Definition at line 105 of file sgl_float.h.

#define Sgl_iszero_sign (   sgl_value)    (Is_ssign(sgl_value)==0)

Definition at line 103 of file sgl_float.h.

#define Sgl_iszero_signaling (   sgl_value)    (Is_ssignaling(sgl_value)==0)

Definition at line 95 of file sgl_float.h.

#define Sgl_leftshift (   srcdst,
  varamount 
)    Sall(srcdst) <<= varamount

Definition at line 56 of file sgl_float.h.

#define Sgl_leftshiftby1 (   sgl_value)    Sall(sgl_value) <<= 1

Definition at line 138 of file sgl_float.h.

#define Sgl_leftshiftby1_withextent (   left,
  right,
  result 
)    Shiftdouble(Sall(left),Extall(right),31,Sall(result))

Definition at line 63 of file sgl_float.h.

#define Sgl_leftshiftby2 (   sgl_value)    Sall(sgl_value) <<= 2

Definition at line 136 of file sgl_float.h.

#define Sgl_leftshiftby3 (   sgl_value)    Sall(sgl_value) <<= 3

Definition at line 134 of file sgl_float.h.

#define Sgl_leftshiftby4 (   sgl_value)    Sall(sgl_value) <<= 4

Definition at line 132 of file sgl_float.h.

#define Sgl_leftshiftby8 (   sgl_value)    Sall(sgl_value) <<= 8

Definition at line 130 of file sgl_float.h.

#define Sgl_lowmantissa (   sgl_value)    Slow(sgl_value)

Definition at line 231 of file sgl_float.h.

#define Sgl_makequietnan (   dest)
Value:
Sall(dest) = ((SGL_EMAX+SGL_BIAS)+1)<< (32-(1+SGL_EXP_LENGTH)) \
| (1<<(32-(1+SGL_EXP_LENGTH+2)))

Definition at line 255 of file sgl_float.h.

#define Sgl_makesignalingnan (   dest)
Value:
Sall(dest) = ((SGL_EMAX+SGL_BIAS)+1)<< (32-(1+SGL_EXP_LENGTH)) \
| (1<<(32-(1+SGL_EXP_LENGTH+1)))

Definition at line 258 of file sgl_float.h.

#define Sgl_mantissa (   object)    Smantissa(object)

Definition at line 35 of file sgl_float.h.

#define Sgl_normalize (   sgl_opnd,
  exponent 
)
Value:
while(Sgl_iszero_hiddenhigh7mantissa(sgl_opnd)) { \
Sgl_leftshiftby8(sgl_opnd); \
exponent -= 8; \
} \
Sgl_leftshiftby4(sgl_opnd); \
exponent -= 4; \
} \
while(Sgl_iszero_hidden(sgl_opnd)) { \
Sgl_leftshiftby1(sgl_opnd); \
exponent -= 1; \
}

Definition at line 262 of file sgl_float.h.

#define Sgl_or_signs (   src1dst,
  src2 
)    Sall(src1dst) = (Sall(src2)&((unsigned int)1<<31)) | Sall(src1dst)

Definition at line 43 of file sgl_float.h.

#define Sgl_right_align (   srcdst,
  shift,
  extent 
)
Value:
/* sgl_floating_point srcdst; int shift; extension extent */ \
if (shift < 32) { \
Extall(extent) = Sall(srcdst) << (32-(shift)); \
Sall(srcdst) >>= shift; \
} \
else { \
Extall(extent) = Sall(srcdst); \
Sall(srcdst) = 0; \
}

Definition at line 219 of file sgl_float.h.

#define Sgl_rightshift (   srcdst,
  varamount 
)    Sall(srcdst) >>= varamount

Definition at line 54 of file sgl_float.h.

#define Sgl_rightshift_exponentmantissa (   srcdst,
  varamount 
)
Value:
Sall(srcdst) = \
(Sexponentmantissa(srcdst) >> varamount) | \
(Sall(srcdst) & ((unsigned int)1<<31))

Definition at line 58 of file sgl_float.h.

#define Sgl_rightshiftby1 (   sgl_value)    Sall(sgl_value) >>= 1

Definition at line 140 of file sgl_float.h.

#define Sgl_rightshiftby1_withextent (   left,
  right,
  dst 
)    Shiftdouble(Sall(left),Extall(right),1,Extall(right))

Definition at line 66 of file sgl_float.h.

#define Sgl_rightshiftby4 (   sgl_value)    Sall(sgl_value) >>= 4

Definition at line 142 of file sgl_float.h.

#define Sgl_rightshiftby8 (   sgl_value)    Sall(sgl_value) >>= 8

Definition at line 144 of file sgl_float.h.

#define Sgl_secondword (   value)    dummy_location

Definition at line 28 of file sgl_float.h.

#define Sgl_set_exponent (   sgl_value,
  exp 
)    Deposit_sexponent(sgl_value,exp)

Definition at line 158 of file sgl_float.h.

#define Sgl_set_exponentmantissa (   dest,
  value 
)    Deposit_sexponentmantissa(dest,value)

Definition at line 161 of file sgl_float.h.

#define Sgl_set_mantissa (   dest,
  value 
)    Deposit_smantissa(dest,value)

Definition at line 160 of file sgl_float.h.

#define Sgl_set_quiet (   sgl_value)    Deposit_shigh2mantissa(sgl_value,1)

Definition at line 157 of file sgl_float.h.

#define Sgl_set_sign (   sgl_value,
  sign 
)    Deposit_ssign(sgl_value,sign)

Definition at line 180 of file sgl_float.h.

#define Sgl_sethigh4bits (   sgl_value,
  extsign 
)    Deposit_shigh4(sgl_value,extsign)

Definition at line 178 of file sgl_float.h.

#define Sgl_setinfinity (   sgl_value,
  sign 
)
Value:
Sall(sgl_value) = (SGL_INFINITY_EXPONENT << (32-(1+SGL_EXP_LENGTH))) | \
((unsigned int)sign << 31)

Definition at line 175 of file sgl_float.h.

#define Sgl_setinfinity_exponent (   sgl_value)    Deposit_sexponent(sgl_value,SGL_INFINITY_EXPONENT)

Definition at line 165 of file sgl_float.h.

#define Sgl_setinfinity_exponentmantissa (   sgl_value)
Value:

Definition at line 167 of file sgl_float.h.

#define Sgl_setinfinitynegative (   sgl_value)
Value:
Sall(sgl_value) = (SGL_INFINITY_EXPONENT << (32-(1+SGL_EXP_LENGTH))) \
| ((unsigned int)1<<31)

Definition at line 172 of file sgl_float.h.

#define Sgl_setinfinitypositive (   sgl_value)    Sall(sgl_value) = (SGL_INFINITY_EXPONENT << (32-(1+SGL_EXP_LENGTH)))

Definition at line 170 of file sgl_float.h.

#define Sgl_setlargest (   sgl_value,
  sign 
)
Value:
Sall(sgl_value) = (unsigned int)sign << 31 | \
(((SGL_EMAX+SGL_BIAS) << (32-(1+SGL_EXP_LENGTH))) \
| ((1 << (32-(1+SGL_EXP_LENGTH))) - 1 ))

Definition at line 209 of file sgl_float.h.

#define Sgl_setlargest_exponentmantissa (   sgl_value)
Value:
Sall(sgl_value) = Sall(sgl_value) & ((unsigned int)1<<31) | \
(((SGL_EMAX+SGL_BIAS) << (32-(1+SGL_EXP_LENGTH))) \
| ((1 << (32-(1+SGL_EXP_LENGTH))) - 1 ))

Definition at line 213 of file sgl_float.h.

#define Sgl_setlargestnegative (   sgl_value)
Value:
Sall(sgl_value) = ((SGL_EMAX+SGL_BIAS) << (32-(1+SGL_EXP_LENGTH))) \
| ((1<<(32-(1+SGL_EXP_LENGTH))) - 1 ) \
| ((unsigned int)1<<31)

Definition at line 201 of file sgl_float.h.

#define Sgl_setlargestpositive (   sgl_value)
Value:
Sall(sgl_value) = ((SGL_EMAX+SGL_BIAS) << (32-(1+SGL_EXP_LENGTH))) \
| ((1<<(32-(1+SGL_EXP_LENGTH))) - 1 )

Definition at line 198 of file sgl_float.h.

#define Sgl_setnegativeinfinity (   sgl_value)
Value:
Sall(sgl_value) = \

Definition at line 206 of file sgl_float.h.

#define Sgl_setnegativezero (   sgl_value)    Sall(sgl_value) = (unsigned int)1 << 31

Definition at line 190 of file sgl_float.h.

#define Sgl_setone_lowmantissa (   sgl_value)    Deposit_slow(sgl_value,1)

Definition at line 184 of file sgl_float.h.

#define Sgl_setone_sign (   sgl_value)    Deposit_ssign(sgl_value,1)

Definition at line 183 of file sgl_float.h.

#define Sgl_setoverflow (   sgl_opnd)
Value:
/* set result to infinity or largest number */ \
switch (Rounding_mode()) { \
case ROUNDPLUS: \
if (Sgl_isone_sign(sgl_opnd)) { \
Sgl_setlargestnegative(sgl_opnd); \
} \
else { \
Sgl_setinfinitypositive(sgl_opnd); \
} \
break; \
case ROUNDMINUS: \
if (Sgl_iszero_sign(sgl_opnd)) { \
Sgl_setlargestpositive(sgl_opnd); \
} \
else { \
Sgl_setinfinitynegative(sgl_opnd); \
} \
break; \
case ROUNDNEAREST: \
Sgl_setinfinity_exponentmantissa(sgl_opnd); \
break; \
case ROUNDZERO: \
Sgl_setlargest_exponentmantissa(sgl_opnd); \
}

Definition at line 276 of file sgl_float.h.

#define Sgl_setwrapped_exponent (   sgl_value,
  exponent,
  op 
)    Deposit_sexponent(sgl_value,(exponent op SGL_WRAP))

Definition at line 195 of file sgl_float.h.

#define Sgl_setzero (   sgl_value)    Sall(sgl_value) = 0

Definition at line 189 of file sgl_float.h.

#define Sgl_setzero_exponent (   sgl_value)    Sall(sgl_value) &= 0x807fffff

Definition at line 186 of file sgl_float.h.

#define Sgl_setzero_exponentmantissa (   sgl_value)    Sall(sgl_value) &= 0x80000000

Definition at line 188 of file sgl_float.h.

#define Sgl_setzero_mantissa (   sgl_value)    Sall(sgl_value) &= 0xff800000

Definition at line 187 of file sgl_float.h.

#define Sgl_setzero_sign (   sgl_value)    Sall(sgl_value) &= 0x7fffffff

Definition at line 185 of file sgl_float.h.

#define Sgl_sign (   object)    Ssign(object)

Definition at line 32 of file sgl_float.h.

#define Sgl_signexponent (   object)    Ssignexponent(object)

Definition at line 34 of file sgl_float.h.

#define Sgl_signextendedsign (   value)    Ssignedsign(value)

Definition at line 72 of file sgl_float.h.

#define Sgl_subtract (   sgl_left,
  sgl_right,
  sgl_result 
)    Sall(sgl_result) = Sall(sgl_left) - Sall(sgl_right)

Definition at line 234 of file sgl_float.h.

#define Sgl_subtract_withextension (   left,
  right,
  extent,
  result 
)
Value:
/* sgl_floating_point left,right,result; extension extent */ \
Sgl_subtract(left,right,result); \
if((Extall(extent) = 0-Extall(extent))) \
Sall(result) = Sall(result)-1

Definition at line 239 of file sgl_float.h.

#define Sgl_thirdword (   value)    dummy_location

Definition at line 29 of file sgl_float.h.

#define Sgl_xorfromintp1 (   left,
  right,
  result 
)    Sall(result) = left XOR Sall(right)

Definition at line 251 of file sgl_float.h.

#define Sgl_xortointp1 (   left,
  right,
  result 
)    result = Sall(left) XOR Sall(right);

Definition at line 248 of file sgl_float.h.

#define Sglext_addition (   lefta,
  leftb,
  righta,
  rightb,
  resulta,
  resultb 
)
Value:
/* If the sum of the low words is less than either source, then \
* an overflow into the next word occurred. */ \
if ((Sextallp2(resultb) = Sextallp2(leftb)+Sextallp2(rightb)) < \
Sextallp2(rightb)) \
Sextallp1(resulta) = Sextallp1(lefta)+Sextallp1(righta)+1; \
else Sextallp1(resulta) = Sextallp1(lefta)+Sextallp1(righta)

Definition at line 380 of file sgl_float.h.

#define Sglext_arithrightshiftby1 (   srcdstA,
  srcdstB 
)
Value:
Shiftdouble(Sextallp1(srcdstA),Sextallp2(srcdstB),1,Sextallp2(srcdstB)); \
Sextallp1(srcdstA) = (int)Sextallp1(srcdstA) >> 1

Definition at line 388 of file sgl_float.h.

#define Sglext_clear_sign (   srcdst)    Sgl_clear_sign(srcdst)

Definition at line 430 of file sgl_float.h.

#define Sglext_clear_signexponent (   srcdst)    Sgl_clear_signexponent(srcdst)

Definition at line 429 of file sgl_float.h.

#define Sglext_clear_signexponent_set_hidden (   srcdst)    Sgl_clear_signexponent_set_hidden(srcdst)

Definition at line 427 of file sgl_float.h.

#define Sglext_copy (   srca,
  srcb,
  desta,
  destb 
)
Value:
Sextallp1(desta) = Sextallp1(srca); \
Sextallp2(destb) = Sextallp2(srcb)

Definition at line 334 of file sgl_float.h.

#define Sglext_copytoint_exponentmantissa (   src,
  dest 
)    Sgl_copytoint_exponentmantissa(src,dest)

Definition at line 421 of file sgl_float.h.

#define Sglext_denormalize (   opndp1,
  opndp2,
  exponent,
  is_tiny 
)

Definition at line 433 of file sgl_float.h.

#define Sglext_ismagnitudeless (   signlessleft,
  signlessright 
)    Sgl_ismagnitudeless(signlessleft,signlessright)

Definition at line 423 of file sgl_float.h.

#define Sglext_isnotzero_low31p2 (   val)    (Sextlow31p2(val)!=0)

Definition at line 329 of file sgl_float.h.

#define Sglext_isnotzero_mantissap2 (   valB)    (Sextallp2(valB)!=0)

Definition at line 326 of file sgl_float.h.

#define Sglext_isone_hidden (   dbl_value)    Sgl_isone_hidden(dbl_value)

Definition at line 431 of file sgl_float.h.

#define Sglext_isone_highp2 (   val)    (Sexthighp2(val)!=0)

Definition at line 328 of file sgl_float.h.

#define Sglext_isone_lowp1 (   val)    (Sextlowp1(val)!=0)

Definition at line 327 of file sgl_float.h.

#define Sglext_iszero (   valA,
  valB 
)    (Sextallp1(valA)==0 && Sextallp2(valB)==0)

Definition at line 330 of file sgl_float.h.

#define Sglext_leftshiftby1 (   valA,
  valB 
)
Value:
Shiftdouble(Sextallp1(valA),Sextallp2(valB),31,Sextallp1(valA)); \
Sextallp2(valB) <<= 1

Definition at line 404 of file sgl_float.h.

#define Sglext_leftshiftby2 (   valA,
  valB 
)
Value:
Shiftdouble(Sextallp1(valA),Sextallp2(valB),30,Sextallp1(valA)); \
Sextallp2(valB) <<= 2

Definition at line 401 of file sgl_float.h.

#define Sglext_leftshiftby3 (   valA,
  valB 
)
Value:
Shiftdouble(Sextallp1(valA),Sextallp2(valB),29,Sextallp1(valA)); \
Sextallp2(valB) <<= 3

Definition at line 398 of file sgl_float.h.

#define Sglext_leftshiftby4 (   valA,
  valB 
)
Value:
Shiftdouble(Sextallp1(valA),Sextallp2(valB),28,Sextallp1(valA)); \
Sextallp2(valB) <<= 4

Definition at line 395 of file sgl_float.h.

#define Sglext_leftshiftby8 (   valA,
  valB 
)
Value:
Shiftdouble(Sextallp1(valA),Sextallp2(valB),24,Sextallp1(valA)); \
Sextallp2(valB) <<= 8

Definition at line 392 of file sgl_float.h.

#define Sglext_right_align (   srcdstA,
  srcdstB,
  shift 
)
Value:
{int shiftamt, sticky; \
shiftamt = shift % 32; \
sticky = 0; \
switch (shift/32) { \
case 0: if (shiftamt > 0) { \
sticky = Sextallp2(srcdstB) << 32 - (shiftamt); \
Variable_shift_double(Sextallp1(srcdstA), \
Sextallp2(srcdstB),shiftamt,Sextallp2(srcdstB)); \
Sextallp1(srcdstA) >>= shiftamt; \
} \
break; \
case 1: if (shiftamt > 0) { \
sticky = (Sextallp1(srcdstA) << 32 - (shiftamt)) | \
Sextallp2(srcdstB); \
} \
else { \
sticky = Sextallp2(srcdstB); \
} \
Sextallp2(srcdstB) = Sextallp1(srcdstA) >> shiftamt; \
Sextallp1(srcdstA) = 0; \
break; \
} \
if (sticky) Sglext_setone_lowmantissap2(srcdstB); \
}

Definition at line 348 of file sgl_float.h.

#define Sglext_rightshiftby1 (   valueA,
  valueB 
)
Value:
Shiftdouble(Sextallp1(valueA),Sextallp2(valueB),1,Sextallp2(valueB)); \
Sextallp1(valueA) >>= 1

Definition at line 414 of file sgl_float.h.

#define Sglext_rightshiftby3 (   valueA,
  valueB 
)
Value:
Shiftdouble(Sextallp1(valueA),Sextallp2(valueB),3,Sextallp2(valueB)); \
Sextallp1(valueA) >>= 3

Definition at line 411 of file sgl_float.h.

#define Sglext_rightshiftby4 (   valueA,
  valueB 
)
Value:
Shiftdouble(Sextallp1(valueA),Sextallp2(valueB),4,Sextallp2(valueB)); \
Sextallp1(valueA) >>= 4

Definition at line 408 of file sgl_float.h.

#define Sglext_set_sign (   dbl_value,
  sign 
)    Sgl_set_sign(dbl_value,sign)

Definition at line 426 of file sgl_float.h.

#define Sglext_setone_lowmantissap2 (   value)    Deposit_dlowp2(value,1)

Definition at line 345 of file sgl_float.h.

#define Sglext_setzero (   valA,
  valB 
)    Sextallp1(valA) = 0; Sextallp2(valB) = 0

Definition at line 323 of file sgl_float.h.

#define Sglext_subtract (   lefta,
  leftb,
  righta,
  rightb,
  resulta,
  resultb 
)
Value:
if( Sextallp2(rightb) > Sextallp2(leftb) ) Sextallp1(lefta)--; \
Sextallp2(resultb) = Sextallp2(leftb) - Sextallp2(rightb); \
Sextallp1(resulta) = Sextallp1(lefta) - Sextallp1(righta)

Definition at line 375 of file sgl_float.h.

#define Sglext_swap_lower (   leftp2,
  rightp2 
)
Value:
Sextallp2(leftp2) = Sextallp2(leftp2) XOR Sextallp2(rightp2); \
Sextallp2(rightp2) = Sextallp2(leftp2) XOR Sextallp2(rightp2); \
Sextallp2(leftp2) = Sextallp2(leftp2) XOR Sextallp2(rightp2)

Definition at line 340 of file sgl_float.h.

#define SGLEXT_THRESHOLD   48

Definition at line 321 of file sgl_float.h.

#define Sglext_xorfromintp1 (   left,
  right,
  result 
)    Sgl_xorfromintp1(left,right,result)

Definition at line 419 of file sgl_float.h.

#define Sglext_xortointp1 (   left,
  right,
  result 
)    Sgl_xortointp1(left,right,result)

Definition at line 418 of file sgl_float.h.

#define unfl   +

Definition at line 194 of file sgl_float.h.