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

Go to the source code of this file.

Macros

#define Dbl_firstword(value)   Dallp1(value)
 
#define Dbl_secondword(value)   Dallp2(value)
 
#define Dbl_thirdword(value)   dummy_location
 
#define Dbl_fourthword(value)   dummy_location
 
#define Dbl_sign(object)   Dsign(object)
 
#define Dbl_exponent(object)   Dexponent(object)
 
#define Dbl_signexponent(object)   Dsignexponent(object)
 
#define Dbl_mantissap1(object)   Dmantissap1(object)
 
#define Dbl_mantissap2(object)   Dmantissap2(object)
 
#define Dbl_exponentmantissap1(object)   Dexponentmantissap1(object)
 
#define Dbl_allp1(object)   Dallp1(object)
 
#define Dbl_allp2(object)   Dallp2(object)
 
#define Dbl_and_signs(src1dst, src2)   Dallp1(src1dst) = (Dallp1(src2)|~((unsigned int)1<<31)) & Dallp1(src1dst)
 
#define Dbl_or_signs(src1dst, src2)   Dallp1(src1dst) = (Dallp1(src2)&((unsigned int)1<<31)) | Dallp1(src1dst)
 
#define Dbl_clear_exponent_set_hidden(srcdst)   Deposit_dexponent(srcdst,1)
 
#define Dbl_clear_signexponent_set_hidden(srcdst)   Deposit_dsignexponent(srcdst,1)
 
#define Dbl_clear_sign(srcdst)   Dallp1(srcdst) &= ~((unsigned int)1<<31)
 
#define Dbl_clear_signexponent(srcdst)   Dallp1(srcdst) &= Dmantissap1((unsigned int)-1)
 
#define Dbl_rightshift(srcdstA, srcdstB, varamount)
 
#define Dbl_rightshift_exponentmantissa(srcdstA, srcdstB, varamount)
 
#define Dbl_leftshift(srcdstA, srcdstB, varamount)
 
#define Dbl_leftshiftby1_withextent(lefta, leftb, right, resulta, resultb)
 
#define Dbl_rightshiftby1_withextent(leftb, right, dst)
 
#define Dbl_arithrightshiftby1(srcdstA, srcdstB)
 
#define Dbl_signextendedsign(value)   Dsignedsign(value)
 
#define Dbl_isone_hidden(dbl_value)   (Is_dhidden(dbl_value)!=0)
 
#define Dbl_increment(dbl_valueA, dbl_valueB)   if( (Dallp2(dbl_valueB) += 1) == 0 ) Dallp1(dbl_valueA) += 1
 
#define Dbl_increment_mantissa(dbl_valueA, dbl_valueB)
 
#define Dbl_decrement(dbl_valueA, dbl_valueB)
 
#define Dbl_isone_sign(dbl_value)   (Is_dsign(dbl_value)!=0)
 
#define Dbl_isone_hiddenoverflow(dbl_value)   (Is_dhiddenoverflow(dbl_value)!=0)
 
#define Dbl_isone_lowmantissap1(dbl_valueA)   (Is_dlowp1(dbl_valueA)!=0)
 
#define Dbl_isone_lowmantissap2(dbl_valueB)   (Is_dlowp2(dbl_valueB)!=0)
 
#define Dbl_isone_signaling(dbl_value)   (Is_dsignaling(dbl_value)!=0)
 
#define Dbl_is_signalingnan(dbl_value)   (Dsignalingnan(dbl_value)==0xfff)
 
#define Dbl_isnotzero(dbl_valueA, dbl_valueB)   (Dallp1(dbl_valueA) || Dallp2(dbl_valueB))
 
#define Dbl_isnotzero_hiddenhigh7mantissa(dbl_value)   (Dhiddenhigh7mantissa(dbl_value)!=0)
 
#define Dbl_isnotzero_exponent(dbl_value)   (Dexponent(dbl_value)!=0)
 
#define Dbl_isnotzero_mantissa(dbl_valueA, dbl_valueB)   (Dmantissap1(dbl_valueA) || Dmantissap2(dbl_valueB))
 
#define Dbl_isnotzero_mantissap1(dbl_valueA)   (Dmantissap1(dbl_valueA)!=0)
 
#define Dbl_isnotzero_mantissap2(dbl_valueB)   (Dmantissap2(dbl_valueB)!=0)
 
#define Dbl_isnotzero_exponentmantissa(dbl_valueA, dbl_valueB)   (Dexponentmantissap1(dbl_valueA) || Dmantissap2(dbl_valueB))
 
#define Dbl_isnotzero_low4p2(dbl_value)   (Dlow4p2(dbl_value)!=0)
 
#define Dbl_iszero(dbl_valueA, dbl_valueB)
 
#define Dbl_iszero_allp1(dbl_value)   (Dallp1(dbl_value)==0)
 
#define Dbl_iszero_allp2(dbl_value)   (Dallp2(dbl_value)==0)
 
#define Dbl_iszero_hidden(dbl_value)   (Is_dhidden(dbl_value)==0)
 
#define Dbl_iszero_hiddenoverflow(dbl_value)   (Is_dhiddenoverflow(dbl_value)==0)
 
#define Dbl_iszero_hiddenhigh3mantissa(dbl_value)   (Dhiddenhigh3mantissa(dbl_value)==0)
 
#define Dbl_iszero_hiddenhigh7mantissa(dbl_value)   (Dhiddenhigh7mantissa(dbl_value)==0)
 
#define Dbl_iszero_sign(dbl_value)   (Is_dsign(dbl_value)==0)
 
#define Dbl_iszero_exponent(dbl_value)   (Dexponent(dbl_value)==0)
 
#define Dbl_iszero_mantissa(dbl_valueA, dbl_valueB)   (Dmantissap1(dbl_valueA)==0 && Dmantissap2(dbl_valueB)==0)
 
#define Dbl_iszero_exponentmantissa(dbl_valueA, dbl_valueB)   (Dexponentmantissap1(dbl_valueA)==0 && Dmantissap2(dbl_valueB)==0)
 
#define Dbl_isinfinity_exponent(dbl_value)   (Dexponent(dbl_value)==DBL_INFINITY_EXPONENT)
 
#define Dbl_isnotinfinity_exponent(dbl_value)   (Dexponent(dbl_value)!=DBL_INFINITY_EXPONENT)
 
#define Dbl_isinfinity(dbl_valueA, dbl_valueB)
 
#define Dbl_isnan(dbl_valueA, dbl_valueB)
 
#define Dbl_isnotnan(dbl_valueA, dbl_valueB)
 
#define Dbl_islessthan(dbl_op1a, dbl_op1b, dbl_op2a, dbl_op2b)
 
#define Dbl_isgreaterthan(dbl_op1a, dbl_op1b, dbl_op2a, dbl_op2b)
 
#define Dbl_isnotlessthan(dbl_op1a, dbl_op1b, dbl_op2a, dbl_op2b)
 
#define Dbl_isnotgreaterthan(dbl_op1a, dbl_op1b, dbl_op2a, dbl_op2b)
 
#define Dbl_isequal(dbl_op1a, dbl_op1b, dbl_op2a, dbl_op2b)
 
#define Dbl_leftshiftby8(dbl_valueA, dbl_valueB)
 
#define Dbl_leftshiftby7(dbl_valueA, dbl_valueB)
 
#define Dbl_leftshiftby4(dbl_valueA, dbl_valueB)
 
#define Dbl_leftshiftby3(dbl_valueA, dbl_valueB)
 
#define Dbl_leftshiftby2(dbl_valueA, dbl_valueB)
 
#define Dbl_leftshiftby1(dbl_valueA, dbl_valueB)
 
#define Dbl_rightshiftby8(dbl_valueA, dbl_valueB)
 
#define Dbl_rightshiftby4(dbl_valueA, dbl_valueB)
 
#define Dbl_rightshiftby2(dbl_valueA, dbl_valueB)
 
#define Dbl_rightshiftby1(dbl_valueA, dbl_valueB)
 
#define Dbl_ismagnitudeless(leftB, rightB, signlessleft, signlessright)
 
#define Dbl_copytoint_exponentmantissap1(src, dest)   dest = Dexponentmantissap1(src)
 
#define Dbl_set_quiet(dbl_value)   Deposit_dhigh2mantissa(dbl_value,1)
 
#define Dbl_set_exponent(dbl_value, exp)   Deposit_dexponent(dbl_value,exp)
 
#define Dbl_set_mantissa(desta, destb, valuea, valueb)
 
#define Dbl_set_mantissap1(desta, valuea)   Deposit_dmantissap1(desta,valuea)
 
#define Dbl_set_mantissap2(destb, valueb)   Dmantissap2(destb) = Dmantissap2(valueb)
 
#define Dbl_set_exponentmantissa(desta, destb, valuea, valueb)
 
#define Dbl_set_exponentmantissap1(dest, value)   Deposit_dexponentmantissap1(dest,value)
 
#define Dbl_copyfromptr(src, desta, destb)
 
#define Dbl_copytoptr(srca, srcb, dest)
 
#define Dbl_setinfinity_exponent(dbl_value)   Deposit_dexponent(dbl_value,DBL_INFINITY_EXPONENT)
 
#define Dbl_setinfinity_exponentmantissa(dbl_valueA, dbl_valueB)
 
#define Dbl_setinfinitypositive(dbl_valueA, dbl_valueB)
 
#define Dbl_setinfinitynegative(dbl_valueA, dbl_valueB)
 
#define Dbl_setinfinity(dbl_valueA, dbl_valueB, sign)
 
#define Dbl_sethigh4bits(dbl_value, extsign)   Deposit_dhigh4p1(dbl_value,extsign)
 
#define Dbl_set_sign(dbl_value, sign)   Deposit_dsign(dbl_value,sign)
 
#define Dbl_invert_sign(dbl_value)   Deposit_dsign(dbl_value,~Dsign(dbl_value))
 
#define Dbl_setone_sign(dbl_value)   Deposit_dsign(dbl_value,1)
 
#define Dbl_setone_lowmantissap2(dbl_value)   Deposit_dlowp2(dbl_value,1)
 
#define Dbl_setzero_sign(dbl_value)   Dallp1(dbl_value) &= 0x7fffffff
 
#define Dbl_setzero_exponent(dbl_value)   Dallp1(dbl_value) &= 0x800fffff
 
#define Dbl_setzero_mantissa(dbl_valueA, dbl_valueB)
 
#define Dbl_setzero_mantissap1(dbl_value)   Dallp1(dbl_value) &= 0xfff00000
 
#define Dbl_setzero_mantissap2(dbl_value)   Dallp2(dbl_value) = 0
 
#define Dbl_setzero_exponentmantissa(dbl_valueA, dbl_valueB)
 
#define Dbl_setzero_exponentmantissap1(dbl_valueA)   Dallp1(dbl_valueA) &= 0x80000000
 
#define Dbl_setzero(dbl_valueA, dbl_valueB)   Dallp1(dbl_valueA) = 0; Dallp2(dbl_valueB) = 0
 
#define Dbl_setzerop1(dbl_value)   Dallp1(dbl_value) = 0
 
#define Dbl_setzerop2(dbl_value)   Dallp2(dbl_value) = 0
 
#define Dbl_setnegativezero(dbl_value)   Dallp1(dbl_value) = (unsigned int)1 << 31; Dallp2(dbl_value) = 0
 
#define Dbl_setnegativezerop1(dbl_value)   Dallp1(dbl_value) = (unsigned int)1<<31
 
#define ovfl   -
 
#define unfl   +
 
#define Dbl_setwrapped_exponent(dbl_value, exponent, op)   Deposit_dexponent(dbl_value,(exponent op DBL_WRAP))
 
#define Dbl_setlargestpositive(dbl_valueA, dbl_valueB)
 
#define Dbl_setlargestnegative(dbl_valueA, dbl_valueB)
 
#define Dbl_setlargest_exponentmantissa(dbl_valueA, dbl_valueB)
 
#define Dbl_setnegativeinfinity(dbl_valueA, dbl_valueB)
 
#define Dbl_setlargest(dbl_valueA, dbl_valueB, sign)
 
#define Dbl_right_align(srcdstA, srcdstB, shift, extent)
 
#define Dbl_fix_overshift(srcdstA, srcdstB, shift, extent)
 
#define Dbl_hiddenhigh3mantissa(dbl_value)   Dhiddenhigh3mantissa(dbl_value)
 
#define Dbl_hidden(dbl_value)   Dhidden(dbl_value)
 
#define Dbl_lowmantissap2(dbl_value)   Dlowp2(dbl_value)
 
#define Dbl_subtract(lefta, leftb, righta, rightb, resulta, resultb)
 
#define Dbl_subtract_withextension(lefta, leftb, righta, rightb, extent, resulta, resultb)
 
#define Dbl_addition(lefta, leftb, righta, rightb, resulta, resultb)
 
#define Dbl_xortointp1(left, right, result)   result = Dallp1(left) XOR Dallp1(right)
 
#define Dbl_xorfromintp1(left, right, result)   Dallp1(result) = left XOR Dallp1(right)
 
#define Dbl_swap_lower(left, right)
 
#define Dbl_makequietnan(desta, destb)
 
#define Dbl_makesignalingnan(desta, destb)
 
#define Dbl_normalize(dbl_opndA, dbl_opndB, exponent)
 
#define Twoword_add(src1dstA, src1dstB, src2A, src2B)
 
#define Twoword_subtract(src1dstA, src1dstB, src2A, src2B)
 
#define Dbl_setoverflow(resultA, resultB)
 
#define Dbl_denormalize(opndp1, opndp2, exponent, guard, sticky, inexact)
 
#define DBLEXT_THRESHOLD   106
 
#define Dblext_setzero(valA, valB, valC, valD)
 
#define Dblext_isnotzero_mantissap3(valC)   (Dextallp3(valC)!=0)
 
#define Dblext_isnotzero_mantissap4(valD)   (Dextallp3(valD)!=0)
 
#define Dblext_isone_lowp2(val)   (Dextlowp2(val)!=0)
 
#define Dblext_isone_highp3(val)   (Dexthighp3(val)!=0)
 
#define Dblext_isnotzero_low31p3(val)   (Dextlow31p3(val)!=0)
 
#define Dblext_iszero(valA, valB, valC, valD)
 
#define Dblext_copy(srca, srcb, srcc, srcd, desta, destb, destc, destd)
 
#define Dblext_swap_lower(leftp2, leftp3, leftp4, rightp2, rightp3, rightp4)
 
#define Dblext_setone_lowmantissap4(dbl_value)   Deposit_dextlowp4(dbl_value,1)
 
#define Dblext_right_align(srcdstA, srcdstB, srcdstC, srcdstD, shift)
 
#define Dblext_subtract(lefta, leftb, leftc, leftd, righta, rightb, rightc, rightd, resulta, resultb, resultc, resultd)
 
#define Dblext_addition(lefta, leftb, leftc, leftd, righta, rightb, rightc, rightd, resulta, resultb, resultc, resultd)
 
#define Dblext_arithrightshiftby1(srcdstA, srcdstB, srcdstC, srcdstD)
 
#define Dblext_leftshiftby8(valA, valB, valC, valD)
 
#define Dblext_leftshiftby4(valA, valB, valC, valD)
 
#define Dblext_leftshiftby3(valA, valB, valC, valD)
 
#define Dblext_leftshiftby2(valA, valB, valC, valD)
 
#define Dblext_leftshiftby1(valA, valB, valC, valD)
 
#define Dblext_rightshiftby4(valueA, valueB, valueC, valueD)
 
#define Dblext_rightshiftby1(valueA, valueB, valueC, valueD)
 
#define Dblext_xortointp1(left, right, result)   Dbl_xortointp1(left,right,result)
 
#define Dblext_xorfromintp1(left, right, result)   Dbl_xorfromintp1(left,right,result)
 
#define Dblext_copytoint_exponentmantissap1(src, dest)   Dbl_copytoint_exponentmantissap1(src,dest)
 
#define Dblext_ismagnitudeless(leftB, rightB, signlessleft, signlessright)   Dbl_ismagnitudeless(leftB,rightB,signlessleft,signlessright)
 
#define Dbl_copyto_dblext(src1, src2, dest1, dest2, dest3, dest4)
 
#define Dblext_set_sign(dbl_value, sign)   Dbl_set_sign(dbl_value,sign)
 
#define Dblext_clear_signexponent_set_hidden(srcdst)   Dbl_clear_signexponent_set_hidden(srcdst)
 
#define Dblext_clear_signexponent(srcdst)   Dbl_clear_signexponent(srcdst)
 
#define Dblext_clear_sign(srcdst)   Dbl_clear_sign(srcdst)
 
#define Dblext_isone_hidden(dbl_value)   Dbl_isone_hidden(dbl_value)
 
#define Fourword_add(src1dstA, src1dstB, src1dstC, src1dstD, src2A, src2B, src2C, src2D)
 
#define Dblext_denormalize(opndp1, opndp2, opndp3, opndp4, exponent, is_tiny)
 

Macro Definition Documentation

#define Dbl_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. */ \
Dallp1(resulta) = Dallp1(lefta) + Dallp1(righta); \
if((Dallp2(resultb) = Dallp2(leftb) + Dallp2(rightb)) < Dallp2(rightb)) \
Dallp1(resulta)++

Definition at line 413 of file dbl_float.h.

#define Dbl_allp1 (   object)    Dallp1(object)

Definition at line 37 of file dbl_float.h.

#define Dbl_allp2 (   object)    Dallp2(object)

Definition at line 38 of file dbl_float.h.

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

Definition at line 42 of file dbl_float.h.

#define Dbl_arithrightshiftby1 (   srcdstA,
  srcdstB 
)
Value:
Shiftdouble(Dallp1(srcdstA),Dallp2(srcdstB),1,Dallp2(srcdstB));\
Dallp1(srcdstA) = (int)Dallp1(srcdstA) >> 1

Definition at line 107 of file dbl_float.h.

#define Dbl_clear_exponent_set_hidden (   srcdst)    Deposit_dexponent(srcdst,1)

Definition at line 48 of file dbl_float.h.

#define Dbl_clear_sign (   srcdst)    Dallp1(srcdst) &= ~((unsigned int)1<<31)

Definition at line 51 of file dbl_float.h.

#define Dbl_clear_signexponent (   srcdst)    Dallp1(srcdst) &= Dmantissap1((unsigned int)-1)

Definition at line 52 of file dbl_float.h.

#define Dbl_clear_signexponent_set_hidden (   srcdst)    Deposit_dsignexponent(srcdst,1)

Definition at line 49 of file dbl_float.h.

#define Dbl_copyfromptr (   src,
  desta,
  destb 
)
Value:
Dallp1(desta) = src->wd0; \
Dallp2(destb) = src->wd1

Definition at line 262 of file dbl_float.h.

#define Dbl_copyto_dblext (   src1,
  src2,
  dest1,
  dest2,
  dest3,
  dest4 
)
Value:
Dextallp1(dest1) = Dallp1(src1); Dextallp2(dest2) = Dallp2(src2); \
Dextallp3(dest3) = 0; Dextallp4(dest4) = 0

Definition at line 720 of file dbl_float.h.

#define Dbl_copytoint_exponentmantissap1 (   src,
  dest 
)    dest = Dexponentmantissap1(src)

Definition at line 240 of file dbl_float.h.

#define Dbl_copytoptr (   srca,
  srcb,
  dest 
)
Value:
dest->wd0 = Dallp1(srca); \
dest->wd1 = Dallp2(srcb)

Definition at line 265 of file dbl_float.h.

#define Dbl_decrement (   dbl_valueA,
  dbl_valueB 
)
Value:
if( Dallp2(dbl_valueB) == 0 ) Dallp1(dbl_valueA) -= 1; \
Dallp2(dbl_valueB) -= 1

Definition at line 122 of file dbl_float.h.

#define Dbl_denormalize (   opndp1,
  opndp2,
  exponent,
  guard,
  sticky,
  inexact 
)
Value:
if (exponent >= (1-DBL_P)) { \
if (exponent >= -31) { \
guard = (Dallp2(opndp2) >> -exponent) & 1; \
if (exponent < 0) sticky |= Dallp2(opndp2) << (32+exponent); \
if (exponent > -31) { \
Variable_shift_double(opndp1,opndp2,1-exponent,opndp2); \
Dallp1(opndp1) >>= 1-exponent; \
} \
else { \
Dallp2(opndp2) = Dallp1(opndp1); \
Dbl_setzerop1(opndp1); \
} \
} \
else { \
guard = (Dallp1(opndp1) >> -32-exponent) & 1; \
if (exponent == -32) sticky |= Dallp2(opndp2); \
else sticky |= (Dallp2(opndp2) | Dallp1(opndp1) << 64+exponent); \
Dallp2(opndp2) = Dallp1(opndp1) >> -31-exponent; \
Dbl_setzerop1(opndp1); \
} \
inexact = guard | sticky; \
} \
else { \
guard = 0; \
sticky |= (Dallp1(opndp1) | Dallp2(opndp2)); \
Dbl_setzero(opndp1,opndp2); \
inexact = sticky; \
}

Definition at line 492 of file dbl_float.h.

#define Dbl_exponent (   object)    Dexponent(object)

Definition at line 32 of file dbl_float.h.

#define Dbl_exponentmantissap1 (   object)    Dexponentmantissap1(object)

Definition at line 36 of file dbl_float.h.

#define Dbl_firstword (   value)    Dallp1(value)

Definition at line 26 of file dbl_float.h.

#define Dbl_fix_overshift (   srcdstA,
  srcdstB,
  shift,
  extent 
)
Value:
Extall(extent) = Dallp2(srcdstB) << 32 - (shift); \
Dallp2(srcdstB) = (Dallp1(srcdstA) << 32 - (shift)) | \
(Dallp2(srcdstB) >> (shift)); \
Dallp1(srcdstA) = Dallp1(srcdstA) >> shift

Definition at line 388 of file dbl_float.h.

#define Dbl_fourthword (   value)    dummy_location

Definition at line 29 of file dbl_float.h.

#define Dbl_hidden (   dbl_value)    Dhidden(dbl_value)

Definition at line 395 of file dbl_float.h.

#define Dbl_hiddenhigh3mantissa (   dbl_value)    Dhiddenhigh3mantissa(dbl_value)

Definition at line 394 of file dbl_float.h.

#define Dbl_increment (   dbl_valueA,
  dbl_valueB 
)    if( (Dallp2(dbl_valueB) += 1) == 0 ) Dallp1(dbl_valueA) += 1

Definition at line 117 of file dbl_float.h.

#define Dbl_increment_mantissa (   dbl_valueA,
  dbl_valueB 
)
Value:
if( (Dmantissap2(dbl_valueB) += 1) == 0 ) \
Deposit_dmantissap1(dbl_valueA,dbl_valueA+1)

Definition at line 119 of file dbl_float.h.

#define Dbl_invert_sign (   dbl_value)    Deposit_dsign(dbl_value,~Dsign(dbl_value))

Definition at line 291 of file dbl_float.h.

#define Dbl_is_signalingnan (   dbl_value)    (Dsignalingnan(dbl_value)==0xfff)

Definition at line 131 of file dbl_float.h.

#define Dbl_isequal (   dbl_op1a,
  dbl_op1b,
  dbl_op2a,
  dbl_op2b 
)
Value:
((Dallp1(dbl_op1a) == Dallp1(dbl_op2a)) && \
(Dallp2(dbl_op1b) == Dallp2(dbl_op2b)))

Definition at line 190 of file dbl_float.h.

#define Dbl_isgreaterthan (   dbl_op1a,
  dbl_op1b,
  dbl_op2a,
  dbl_op2b 
)
Value:
(Dallp1(dbl_op1a) > Dallp1(dbl_op2a) || \
(Dallp1(dbl_op1a) == Dallp1(dbl_op2a) && \
Dallp2(dbl_op1b) > Dallp2(dbl_op2b)))

Definition at line 178 of file dbl_float.h.

#define Dbl_isinfinity (   dbl_valueA,
  dbl_valueB 
)
Value:
(Dexponent(dbl_valueA)==DBL_INFINITY_EXPONENT && \
Dmantissap1(dbl_valueA)==0 && Dmantissap2(dbl_valueB)==0)

Definition at line 164 of file dbl_float.h.

#define Dbl_isinfinity_exponent (   dbl_value)    (Dexponent(dbl_value)==DBL_INFINITY_EXPONENT)

Definition at line 160 of file dbl_float.h.

#define Dbl_islessthan (   dbl_op1a,
  dbl_op1b,
  dbl_op2a,
  dbl_op2b 
)
Value:
(Dallp1(dbl_op1a) < Dallp1(dbl_op2a) || \
(Dallp1(dbl_op1a) == Dallp1(dbl_op2a) && \
Dallp2(dbl_op1b) < Dallp2(dbl_op2b)))

Definition at line 174 of file dbl_float.h.

#define Dbl_ismagnitudeless (   leftB,
  rightB,
  signlessleft,
  signlessright 
)
Value:
((signlessleft <= signlessright) && \
( (signlessleft < signlessright) || (Dallp2(leftB)<Dallp2(rightB)) ))

Definition at line 236 of file dbl_float.h.

#define Dbl_isnan (   dbl_valueA,
  dbl_valueB 
)
Value:
(Dexponent(dbl_valueA)==DBL_INFINITY_EXPONENT && \
(Dmantissap1(dbl_valueA)!=0 || Dmantissap2(dbl_valueB)!=0))

Definition at line 167 of file dbl_float.h.

#define Dbl_isnotgreaterthan (   dbl_op1a,
  dbl_op1b,
  dbl_op2a,
  dbl_op2b 
)
Value:
(Dallp1(dbl_op1a) < Dallp1(dbl_op2a) || \
(Dallp1(dbl_op1a) == Dallp1(dbl_op2a) && \
Dallp2(dbl_op1b) <= Dallp2(dbl_op2b)))

Definition at line 186 of file dbl_float.h.

#define Dbl_isnotinfinity_exponent (   dbl_value)    (Dexponent(dbl_value)!=DBL_INFINITY_EXPONENT)

Definition at line 162 of file dbl_float.h.

#define Dbl_isnotlessthan (   dbl_op1a,
  dbl_op1b,
  dbl_op2a,
  dbl_op2b 
)
Value:
(Dallp1(dbl_op1a) > Dallp1(dbl_op2a) || \
(Dallp1(dbl_op1a) == Dallp1(dbl_op2a) && \
Dallp2(dbl_op1b) >= Dallp2(dbl_op2b)))

Definition at line 182 of file dbl_float.h.

#define Dbl_isnotnan (   dbl_valueA,
  dbl_valueB 
)
Value:
(Dexponent(dbl_valueA)!=DBL_INFINITY_EXPONENT || \
(Dmantissap1(dbl_valueA)==0 && Dmantissap2(dbl_valueB)==0))

Definition at line 170 of file dbl_float.h.

#define Dbl_isnotzero (   dbl_valueA,
  dbl_valueB 
)    (Dallp1(dbl_valueA) || Dallp2(dbl_valueB))

Definition at line 132 of file dbl_float.h.

#define Dbl_isnotzero_exponent (   dbl_value)    (Dexponent(dbl_value)!=0)

Definition at line 136 of file dbl_float.h.

#define Dbl_isnotzero_exponentmantissa (   dbl_valueA,
  dbl_valueB 
)    (Dexponentmantissap1(dbl_valueA) || Dmantissap2(dbl_valueB))

Definition at line 141 of file dbl_float.h.

#define Dbl_isnotzero_hiddenhigh7mantissa (   dbl_value)    (Dhiddenhigh7mantissa(dbl_value)!=0)

Definition at line 134 of file dbl_float.h.

#define Dbl_isnotzero_low4p2 (   dbl_value)    (Dlow4p2(dbl_value)!=0)

Definition at line 143 of file dbl_float.h.

#define Dbl_isnotzero_mantissa (   dbl_valueA,
  dbl_valueB 
)    (Dmantissap1(dbl_valueA) || Dmantissap2(dbl_valueB))

Definition at line 137 of file dbl_float.h.

#define Dbl_isnotzero_mantissap1 (   dbl_valueA)    (Dmantissap1(dbl_valueA)!=0)

Definition at line 139 of file dbl_float.h.

#define Dbl_isnotzero_mantissap2 (   dbl_valueB)    (Dmantissap2(dbl_valueB)!=0)

Definition at line 140 of file dbl_float.h.

#define Dbl_isone_hidden (   dbl_value)    (Is_dhidden(dbl_value)!=0)

Definition at line 114 of file dbl_float.h.

#define Dbl_isone_hiddenoverflow (   dbl_value)    (Is_dhiddenoverflow(dbl_value)!=0)

Definition at line 127 of file dbl_float.h.

#define Dbl_isone_lowmantissap1 (   dbl_valueA)    (Is_dlowp1(dbl_valueA)!=0)

Definition at line 128 of file dbl_float.h.

#define Dbl_isone_lowmantissap2 (   dbl_valueB)    (Is_dlowp2(dbl_valueB)!=0)

Definition at line 129 of file dbl_float.h.

#define Dbl_isone_sign (   dbl_value)    (Is_dsign(dbl_value)!=0)

Definition at line 126 of file dbl_float.h.

#define Dbl_isone_signaling (   dbl_value)    (Is_dsignaling(dbl_value)!=0)

Definition at line 130 of file dbl_float.h.

#define Dbl_iszero (   dbl_valueA,
  dbl_valueB 
)
Value:
(Dallp1(dbl_valueA)==0 && \
Dallp2(dbl_valueB)==0)

Definition at line 144 of file dbl_float.h.

#define Dbl_iszero_allp1 (   dbl_value)    (Dallp1(dbl_value)==0)

Definition at line 146 of file dbl_float.h.

#define Dbl_iszero_allp2 (   dbl_value)    (Dallp2(dbl_value)==0)

Definition at line 147 of file dbl_float.h.

#define Dbl_iszero_exponent (   dbl_value)    (Dexponent(dbl_value)==0)

Definition at line 155 of file dbl_float.h.

#define Dbl_iszero_exponentmantissa (   dbl_valueA,
  dbl_valueB 
)    (Dexponentmantissap1(dbl_valueA)==0 && Dmantissap2(dbl_valueB)==0)

Definition at line 158 of file dbl_float.h.

#define Dbl_iszero_hidden (   dbl_value)    (Is_dhidden(dbl_value)==0)

Definition at line 148 of file dbl_float.h.

#define Dbl_iszero_hiddenhigh3mantissa (   dbl_value)    (Dhiddenhigh3mantissa(dbl_value)==0)

Definition at line 150 of file dbl_float.h.

#define Dbl_iszero_hiddenhigh7mantissa (   dbl_value)    (Dhiddenhigh7mantissa(dbl_value)==0)

Definition at line 152 of file dbl_float.h.

#define Dbl_iszero_hiddenoverflow (   dbl_value)    (Is_dhiddenoverflow(dbl_value)==0)

Definition at line 149 of file dbl_float.h.

#define Dbl_iszero_mantissa (   dbl_valueA,
  dbl_valueB 
)    (Dmantissap1(dbl_valueA)==0 && Dmantissap2(dbl_valueB)==0)

Definition at line 156 of file dbl_float.h.

#define Dbl_iszero_sign (   dbl_value)    (Is_dsign(dbl_value)==0)

Definition at line 154 of file dbl_float.h.

#define Dbl_leftshift (   srcdstA,
  srcdstB,
  varamount 
)
Value:
{if((varamount) >= 32) { \
Dallp1(srcdstA) = Dallp2(srcdstB) << (varamount-32); \
Dallp2(srcdstB)=0; \
} \
else { \
if ((varamount) > 0) { \
Dallp1(srcdstA) = (Dallp1(srcdstA) << (varamount)) | \
(Dallp2(srcdstB) >> (32-(varamount))); \
Dallp2(srcdstB) <<= varamount; \
} \
} }

Definition at line 87 of file dbl_float.h.

#define Dbl_leftshiftby1 (   dbl_valueA,
  dbl_valueB 
)
Value:
Shiftdouble(Dallp1(dbl_valueA),Dallp2(dbl_valueB),31,Dallp1(dbl_valueA)); \
Dallp2(dbl_valueB) <<= 1

Definition at line 209 of file dbl_float.h.

#define Dbl_leftshiftby1_withextent (   lefta,
  leftb,
  right,
  resulta,
  resultb 
)
Value:
Shiftdouble(Dallp1(lefta), Dallp2(leftb), 31, Dallp1(resulta)); \
Shiftdouble(Dallp2(leftb), Extall(right), 31, Dallp2(resultb))

Definition at line 99 of file dbl_float.h.

#define Dbl_leftshiftby2 (   dbl_valueA,
  dbl_valueB 
)
Value:
Shiftdouble(Dallp1(dbl_valueA),Dallp2(dbl_valueB),30,Dallp1(dbl_valueA)); \
Dallp2(dbl_valueB) <<= 2

Definition at line 206 of file dbl_float.h.

#define Dbl_leftshiftby3 (   dbl_valueA,
  dbl_valueB 
)
Value:
Shiftdouble(Dallp1(dbl_valueA),Dallp2(dbl_valueB),29,Dallp1(dbl_valueA)); \
Dallp2(dbl_valueB) <<= 3

Definition at line 203 of file dbl_float.h.

#define Dbl_leftshiftby4 (   dbl_valueA,
  dbl_valueB 
)
Value:
Shiftdouble(Dallp1(dbl_valueA),Dallp2(dbl_valueB),28,Dallp1(dbl_valueA)); \
Dallp2(dbl_valueB) <<= 4

Definition at line 200 of file dbl_float.h.

#define Dbl_leftshiftby7 (   dbl_valueA,
  dbl_valueB 
)
Value:
Shiftdouble(Dallp1(dbl_valueA),Dallp2(dbl_valueB),25,Dallp1(dbl_valueA)); \
Dallp2(dbl_valueB) <<= 7

Definition at line 197 of file dbl_float.h.

#define Dbl_leftshiftby8 (   dbl_valueA,
  dbl_valueB 
)
Value:
Shiftdouble(Dallp1(dbl_valueA),Dallp2(dbl_valueB),24,Dallp1(dbl_valueA)); \
Dallp2(dbl_valueB) <<= 8

Definition at line 194 of file dbl_float.h.

#define Dbl_lowmantissap2 (   dbl_value)    Dlowp2(dbl_value)

Definition at line 396 of file dbl_float.h.

#define Dbl_makequietnan (   desta,
  destb 
)
Value:
Dallp1(desta) = ((DBL_EMAX+DBL_BIAS)+1)<< (32-(1+DBL_EXP_LENGTH)) \
| (1<<(32-(1+DBL_EXP_LENGTH+2))); \
Dallp2(destb) = 0

Definition at line 431 of file dbl_float.h.

#define Dbl_makesignalingnan (   desta,
  destb 
)
Value:
Dallp1(desta) = ((DBL_EMAX+DBL_BIAS)+1)<< (32-(1+DBL_EXP_LENGTH)) \
| (1<<(32-(1+DBL_EXP_LENGTH+1))); \
Dallp2(destb) = 0

Definition at line 435 of file dbl_float.h.

#define Dbl_mantissap1 (   object)    Dmantissap1(object)

Definition at line 34 of file dbl_float.h.

#define Dbl_mantissap2 (   object)    Dmantissap2(object)

Definition at line 35 of file dbl_float.h.

#define Dbl_normalize (   dbl_opndA,
  dbl_opndB,
  exponent 
)
Value:
while(Dbl_iszero_hiddenhigh7mantissa(dbl_opndA)) { \
Dbl_leftshiftby8(dbl_opndA,dbl_opndB); \
exponent -= 8; \
} \
if(Dbl_iszero_hiddenhigh3mantissa(dbl_opndA)) { \
Dbl_leftshiftby4(dbl_opndA,dbl_opndB); \
exponent -= 4; \
} \
while(Dbl_iszero_hidden(dbl_opndA)) { \
Dbl_leftshiftby1(dbl_opndA,dbl_opndB); \
exponent -= 1; \
}

Definition at line 440 of file dbl_float.h.

#define Dbl_or_signs (   src1dst,
  src2 
)    Dallp1(src1dst) = (Dallp1(src2)&((unsigned int)1<<31)) | Dallp1(src1dst)

Definition at line 44 of file dbl_float.h.

#define Dbl_right_align (   srcdstA,
  srcdstB,
  shift,
  extent 
)

Definition at line 348 of file dbl_float.h.

#define Dbl_rightshift (   srcdstA,
  srcdstB,
  varamount 
)
Value:
{if((varamount) >= 32) { \
Dallp2(srcdstB) = Dallp1(srcdstA) >> (varamount-32); \
Dallp1(srcdstA)=0; \
} \
else if(varamount > 0) { \
Variable_shift_double(Dallp1(srcdstA), Dallp2(srcdstB), \
(varamount), Dallp2(srcdstB)); \
Dallp1(srcdstA) >>= varamount; \
} }

Definition at line 64 of file dbl_float.h.

#define Dbl_rightshift_exponentmantissa (   srcdstA,
  srcdstB,
  varamount 
)
Value:
{if((varamount) >= 32) { \
Dallp2(srcdstB) = Dexponentmantissap1(srcdstA) >> (varamount-32); \
Dallp1(srcdstA) &= ((unsigned int)1<<31); /* clear expmant field */ \
} \
else if(varamount > 0) { \
Variable_shift_double(Dexponentmantissap1(srcdstA), Dallp2(srcdstB), \
(varamount), Dallp2(srcdstB)); \
Deposit_dexponentmantissap1(srcdstA, \
(Dexponentmantissap1(srcdstA)>>varamount)); \
} }

Definition at line 75 of file dbl_float.h.

#define Dbl_rightshiftby1 (   dbl_valueA,
  dbl_valueB 
)
Value:
Shiftdouble(Dallp1(dbl_valueA),Dallp2(dbl_valueB),1,Dallp2(dbl_valueB)); \
Dallp1(dbl_valueA) >>= 1

Definition at line 222 of file dbl_float.h.

#define Dbl_rightshiftby1_withextent (   leftb,
  right,
  dst 
)
Value:
Extall(dst) = (Dallp2(leftb) << 31) | ((unsigned int)Extall(right) >> 1) | \

Definition at line 103 of file dbl_float.h.

#define Dbl_rightshiftby2 (   dbl_valueA,
  dbl_valueB 
)
Value:
Shiftdouble(Dallp1(dbl_valueA),Dallp2(dbl_valueB),2,Dallp2(dbl_valueB)); \
Dallp1(dbl_valueA) >>= 2

Definition at line 219 of file dbl_float.h.

#define Dbl_rightshiftby4 (   dbl_valueA,
  dbl_valueB 
)
Value:
Shiftdouble(Dallp1(dbl_valueA),Dallp2(dbl_valueB),4,Dallp2(dbl_valueB)); \
Dallp1(dbl_valueA) >>= 4

Definition at line 216 of file dbl_float.h.

#define Dbl_rightshiftby8 (   dbl_valueA,
  dbl_valueB 
)
Value:
Shiftdouble(Dallp1(dbl_valueA),Dallp2(dbl_valueB),8,Dallp2(dbl_valueB)); \
Dallp1(dbl_valueA) >>= 8

Definition at line 213 of file dbl_float.h.

#define Dbl_secondword (   value)    Dallp2(value)

Definition at line 27 of file dbl_float.h.

#define Dbl_set_exponent (   dbl_value,
  exp 
)    Deposit_dexponent(dbl_value,exp)

Definition at line 246 of file dbl_float.h.

#define Dbl_set_exponentmantissa (   desta,
  destb,
  valuea,
  valueb 
)
Value:
Dmantissap2(destb) = Dmantissap2(valueb)

Definition at line 256 of file dbl_float.h.

#define Dbl_set_exponentmantissap1 (   dest,
  value 
)    Deposit_dexponentmantissap1(dest,value)

Definition at line 259 of file dbl_float.h.

#define Dbl_set_mantissa (   desta,
  destb,
  valuea,
  valueb 
)
Value:
Deposit_dmantissap1(desta,valuea); \
Dmantissap2(destb) = Dmantissap2(valueb)

Definition at line 248 of file dbl_float.h.

#define Dbl_set_mantissap1 (   desta,
  valuea 
)    Deposit_dmantissap1(desta,valuea)

Definition at line 251 of file dbl_float.h.

#define Dbl_set_mantissap2 (   destb,
  valueb 
)    Dmantissap2(destb) = Dmantissap2(valueb)

Definition at line 253 of file dbl_float.h.

#define Dbl_set_quiet (   dbl_value)    Deposit_dhigh2mantissa(dbl_value,1)

Definition at line 245 of file dbl_float.h.

#define Dbl_set_sign (   dbl_value,
  sign 
)    Deposit_dsign(dbl_value,sign)

Definition at line 290 of file dbl_float.h.

#define Dbl_sethigh4bits (   dbl_value,
  extsign 
)    Deposit_dhigh4p1(dbl_value,extsign)

Definition at line 289 of file dbl_float.h.

#define Dbl_setinfinity (   dbl_valueA,
  dbl_valueB,
  sign 
)
Value:
Dallp1(dbl_valueA) = ((unsigned int)sign << 31) | \
Dmantissap2(dbl_valueB) = 0

Definition at line 284 of file dbl_float.h.

#define Dbl_setinfinity_exponent (   dbl_value)    Deposit_dexponent(dbl_value,DBL_INFINITY_EXPONENT)

Definition at line 270 of file dbl_float.h.

#define Dbl_setinfinity_exponentmantissa (   dbl_valueA,
  dbl_valueB 
)
Value:
Dmantissap2(dbl_valueB) = 0

Definition at line 272 of file dbl_float.h.

#define Dbl_setinfinitynegative (   dbl_valueA,
  dbl_valueB 
)
Value:
Dallp1(dbl_valueA) = ((unsigned int)1<<31) | \
Dmantissap2(dbl_valueB) = 0

Definition at line 280 of file dbl_float.h.

#define Dbl_setinfinitypositive (   dbl_valueA,
  dbl_valueB 
)
Value:
Dallp1(dbl_valueA) \
Dmantissap2(dbl_valueB) = 0

Definition at line 276 of file dbl_float.h.

#define Dbl_setlargest (   dbl_valueA,
  dbl_valueB,
  sign 
)
Value:
Dallp1(dbl_valueA) = ((unsigned int)sign << 31) | \
((DBL_EMAX+DBL_BIAS) << (32-(1+DBL_EXP_LENGTH))) | \
((1 << (32-(1+DBL_EXP_LENGTH))) - 1 ); \
Dallp2(dbl_valueB) = 0xFFFFFFFF

Definition at line 340 of file dbl_float.h.

#define Dbl_setlargest_exponentmantissa (   dbl_valueA,
  dbl_valueB 
)
Value:
(((DBL_EMAX+DBL_BIAS) << (32-(1+DBL_EXP_LENGTH))) \
| ((1<<(32-(1+DBL_EXP_LENGTH))) - 1 ))); \
Dallp2(dbl_valueB) = 0xFFFFFFFF

Definition at line 330 of file dbl_float.h.

#define Dbl_setlargestnegative (   dbl_valueA,
  dbl_valueB 
)
Value:
Dallp1(dbl_valueA) = ((DBL_EMAX+DBL_BIAS) << (32-(1+DBL_EXP_LENGTH))) \
| ((1<<(32-(1+DBL_EXP_LENGTH))) - 1 ) \
| ((unsigned int)1<<31); \
Dallp2(dbl_valueB) = 0xFFFFFFFF

Definition at line 325 of file dbl_float.h.

#define Dbl_setlargestpositive (   dbl_valueA,
  dbl_valueB 
)
Value:
Dallp1(dbl_valueA) = ((DBL_EMAX+DBL_BIAS) << (32-(1+DBL_EXP_LENGTH))) \
| ((1<<(32-(1+DBL_EXP_LENGTH))) - 1 ); \
Dallp2(dbl_valueB) = 0xFFFFFFFF

Definition at line 321 of file dbl_float.h.

#define Dbl_setnegativeinfinity (   dbl_valueA,
  dbl_valueB 
)
Value:
<< (32-(1+DBL_EXP_LENGTH)) ; \
Dallp2(dbl_valueB) = 0

Definition at line 336 of file dbl_float.h.

#define Dbl_setnegativezero (   dbl_value)    Dallp1(dbl_value) = (unsigned int)1 << 31; Dallp2(dbl_value) = 0

Definition at line 311 of file dbl_float.h.

#define Dbl_setnegativezerop1 (   dbl_value)    Dallp1(dbl_value) = (unsigned int)1<<31

Definition at line 313 of file dbl_float.h.

#define Dbl_setone_lowmantissap2 (   dbl_value)    Deposit_dlowp2(dbl_value,1)

Definition at line 293 of file dbl_float.h.

#define Dbl_setone_sign (   dbl_value)    Deposit_dsign(dbl_value,1)

Definition at line 292 of file dbl_float.h.

#define Dbl_setoverflow (   resultA,
  resultB 
)
Value:
/* set result to infinity or largest number */ \
switch (Rounding_mode()) { \
case ROUNDPLUS: \
if (Dbl_isone_sign(resultA)) { \
Dbl_setlargestnegative(resultA,resultB); \
} \
else { \
Dbl_setinfinitypositive(resultA,resultB); \
} \
break; \
case ROUNDMINUS: \
if (Dbl_iszero_sign(resultA)) { \
Dbl_setlargestpositive(resultA,resultB); \
} \
else { \
Dbl_setinfinitynegative(resultA,resultB); \
} \
break; \
case ROUNDNEAREST: \
Dbl_setinfinity_exponentmantissa(resultA,resultB); \
break; \
case ROUNDZERO: \
Dbl_setlargest_exponentmantissa(resultA,resultB); \
}

Definition at line 466 of file dbl_float.h.

#define Dbl_setwrapped_exponent (   dbl_value,
  exponent,
  op 
)    Deposit_dexponent(dbl_value,(exponent op DBL_WRAP))

Definition at line 318 of file dbl_float.h.

#define Dbl_setzero (   dbl_valueA,
  dbl_valueB 
)    Dallp1(dbl_valueA) = 0; Dallp2(dbl_valueB) = 0

Definition at line 307 of file dbl_float.h.

#define Dbl_setzero_exponent (   dbl_value)    Dallp1(dbl_value) &= 0x800fffff

Definition at line 295 of file dbl_float.h.

#define Dbl_setzero_exponentmantissa (   dbl_valueA,
  dbl_valueB 
)
Value:
Dallp1(dbl_valueA) &= 0x80000000; \
Dallp2(dbl_valueB) = 0

Definition at line 302 of file dbl_float.h.

#define Dbl_setzero_exponentmantissap1 (   dbl_valueA)    Dallp1(dbl_valueA) &= 0x80000000

Definition at line 305 of file dbl_float.h.

#define Dbl_setzero_mantissa (   dbl_valueA,
  dbl_valueB 
)
Value:
Dallp1(dbl_valueA) &= 0xfff00000; \
Dallp2(dbl_valueB) = 0

Definition at line 297 of file dbl_float.h.

#define Dbl_setzero_mantissap1 (   dbl_value)    Dallp1(dbl_value) &= 0xfff00000

Definition at line 300 of file dbl_float.h.

#define Dbl_setzero_mantissap2 (   dbl_value)    Dallp2(dbl_value) = 0

Definition at line 301 of file dbl_float.h.

#define Dbl_setzero_sign (   dbl_value)    Dallp1(dbl_value) &= 0x7fffffff

Definition at line 294 of file dbl_float.h.

#define Dbl_setzerop1 (   dbl_value)    Dallp1(dbl_value) = 0

Definition at line 309 of file dbl_float.h.

#define Dbl_setzerop2 (   dbl_value)    Dallp2(dbl_value) = 0

Definition at line 310 of file dbl_float.h.

#define Dbl_sign (   object)    Dsign(object)

Definition at line 31 of file dbl_float.h.

#define Dbl_signexponent (   object)    Dsignexponent(object)

Definition at line 33 of file dbl_float.h.

#define Dbl_signextendedsign (   value)    Dsignedsign(value)

Definition at line 112 of file dbl_float.h.

#define Dbl_subtract (   lefta,
  leftb,
  righta,
  rightb,
  resulta,
  resultb 
)
Value:
if( Dallp2(rightb) > Dallp2(leftb) ) Dallp1(lefta)--; \
Dallp2(resultb) = Dallp2(leftb) - Dallp2(rightb); \
Dallp1(resulta) = Dallp1(lefta) - Dallp1(righta)

Definition at line 399 of file dbl_float.h.

#define Dbl_subtract_withextension (   lefta,
  leftb,
  righta,
  rightb,
  extent,
  resulta,
  resultb 
)
Value:
Dbl_subtract(lefta,leftb,righta,rightb,resulta,resultb); \
if( (Extall(extent) = 0-Extall(extent)) ) \
{ \
if((Dallp2(resultb)--) == 0) Dallp1(resulta)--; \
}

Definition at line 406 of file dbl_float.h.

#define Dbl_swap_lower (   left,
  right 
)
Value:

Definition at line 425 of file dbl_float.h.

#define Dbl_thirdword (   value)    dummy_location

Definition at line 28 of file dbl_float.h.

#define Dbl_xorfromintp1 (   left,
  right,
  result 
)    Dallp1(result) = left XOR Dallp1(right)

Definition at line 422 of file dbl_float.h.

#define Dbl_xortointp1 (   left,
  right,
  result 
)    result = Dallp1(left) XOR Dallp1(right)

Definition at line 419 of file dbl_float.h.

#define Dblext_addition (   lefta,
  leftb,
  leftc,
  leftd,
  righta,
  rightb,
  rightc,
  rightd,
  resulta,
  resultb,
  resultc,
  resultd 
)
Value:
/* If the sum of the low words is less than either source, then \
* an overflow into the next word occurred. */ \
if ((Dextallp4(resultd) = Dextallp4(leftd)+Dextallp4(rightd)) < \
Dextallp4(rightd)) \
if((Dextallp3(resultc) = Dextallp3(leftc)+Dextallp3(rightc)+1) <= \
Dextallp3(rightc)) \
if((Dextallp2(resultb) = Dextallp2(leftb)+Dextallp2(rightb)+1) \
<= Dextallp2(rightb)) \
Dextallp1(resulta) = Dextallp1(lefta)+Dextallp1(righta)+1; \
else Dextallp1(resulta) = Dextallp1(lefta)+Dextallp1(righta); \
if ((Dextallp2(resultb) = Dextallp2(leftb)+Dextallp2(rightb)) < \
Dextallp2(rightb)) \
Dextallp1(resulta) = Dextallp1(lefta)+Dextallp1(righta)+1; \
else Dextallp1(resulta) = Dextallp1(lefta)+Dextallp1(righta); \
if ((Dextallp3(resultc) = Dextallp3(leftc)+Dextallp3(rightc)) < \
Dextallp3(rightc)) \
if ((Dextallp2(resultb) = Dextallp2(leftb)+Dextallp2(rightb)+1) \
<= Dextallp2(rightb)) \
Dextallp1(resulta) = Dextallp1(lefta)+Dextallp1(righta)+1; \
else Dextallp1(resulta) = Dextallp1(lefta)+Dextallp1(righta); \
if ((Dextallp2(resultb) = Dextallp2(leftb)+Dextallp2(rightb)) < \
Dextallp2(rightb)) \
Dextallp1(resulta) = Dextallp1(lefta)+Dextallp1(righta)+1; \
else Dextallp1(resulta) = Dextallp1(lefta)+Dextallp1(righta)

Definition at line 637 of file dbl_float.h.

#define Dblext_arithrightshiftby1 (   srcdstA,
  srcdstB,
  srcdstC,
  srcdstD 
)
Value:
Shiftdouble(Dextallp3(srcdstC),Dextallp4(srcdstD),1,Dextallp4(srcdstD)); \
Shiftdouble(Dextallp2(srcdstB),Dextallp3(srcdstC),1,Dextallp3(srcdstC)); \
Shiftdouble(Dextallp1(srcdstA),Dextallp2(srcdstB),1,Dextallp2(srcdstB)); \
Dextallp1(srcdstA) = (int)Dextallp1(srcdstA) >> 1

Definition at line 666 of file dbl_float.h.

#define Dblext_clear_sign (   srcdst)    Dbl_clear_sign(srcdst)

Definition at line 728 of file dbl_float.h.

#define Dblext_clear_signexponent (   srcdst)    Dbl_clear_signexponent(srcdst)

Definition at line 727 of file dbl_float.h.

#define Dblext_clear_signexponent_set_hidden (   srcdst)    Dbl_clear_signexponent_set_hidden(srcdst)

Definition at line 725 of file dbl_float.h.

#define Dblext_copy (   srca,
  srcb,
  srcc,
  srcd,
  desta,
  destb,
  destc,
  destd 
)
Value:
Dextallp1(desta) = Dextallp4(srca); \
Dextallp2(destb) = Dextallp4(srcb); \
Dextallp3(destc) = Dextallp4(srcc); \
Dextallp4(destd) = Dextallp4(srcd)

Definition at line 542 of file dbl_float.h.

#define Dblext_copytoint_exponentmantissap1 (   src,
  dest 
)    Dbl_copytoint_exponentmantissap1(src,dest)

Definition at line 714 of file dbl_float.h.

#define Dblext_denormalize (   opndp1,
  opndp2,
  opndp3,
  opndp4,
  exponent,
  is_tiny 
)

Definition at line 758 of file dbl_float.h.

#define Dblext_ismagnitudeless (   leftB,
  rightB,
  signlessleft,
  signlessright 
)    Dbl_ismagnitudeless(leftB,rightB,signlessleft,signlessright)

Definition at line 717 of file dbl_float.h.

#define Dblext_isnotzero_low31p3 (   val)    (Dextlow31p3(val)!=0)

Definition at line 538 of file dbl_float.h.

#define Dblext_isnotzero_mantissap3 (   valC)    (Dextallp3(valC)!=0)

Definition at line 534 of file dbl_float.h.

#define Dblext_isnotzero_mantissap4 (   valD)    (Dextallp3(valD)!=0)

Definition at line 535 of file dbl_float.h.

#define Dblext_isone_hidden (   dbl_value)    Dbl_isone_hidden(dbl_value)

Definition at line 729 of file dbl_float.h.

#define Dblext_isone_highp3 (   val)    (Dexthighp3(val)!=0)

Definition at line 537 of file dbl_float.h.

#define Dblext_isone_lowp2 (   val)    (Dextlowp2(val)!=0)

Definition at line 536 of file dbl_float.h.

#define Dblext_iszero (   valA,
  valB,
  valC,
  valD 
)
Value:
(Dextallp1(valA)==0 && \
Dextallp2(valB)==0 && Dextallp3(valC)==0 && Dextallp4(valD)==0)

Definition at line 539 of file dbl_float.h.

#define Dblext_leftshiftby1 (   valA,
  valB,
  valC,
  valD 
)
Value:
Shiftdouble(Dextallp1(valA),Dextallp2(valB),31,Dextallp1(valA)); \
Shiftdouble(Dextallp2(valB),Dextallp3(valC),31,Dextallp2(valB)); \
Shiftdouble(Dextallp3(valC),Dextallp4(valD),31,Dextallp3(valC)); \
Dextallp4(valD) <<= 1

Definition at line 692 of file dbl_float.h.

#define Dblext_leftshiftby2 (   valA,
  valB,
  valC,
  valD 
)
Value:
Shiftdouble(Dextallp1(valA),Dextallp2(valB),30,Dextallp1(valA)); \
Shiftdouble(Dextallp2(valB),Dextallp3(valC),30,Dextallp2(valB)); \
Shiftdouble(Dextallp3(valC),Dextallp4(valD),30,Dextallp3(valC)); \
Dextallp4(valD) <<= 2

Definition at line 687 of file dbl_float.h.

#define Dblext_leftshiftby3 (   valA,
  valB,
  valC,
  valD 
)
Value:
Shiftdouble(Dextallp1(valA),Dextallp2(valB),29,Dextallp1(valA)); \
Shiftdouble(Dextallp2(valB),Dextallp3(valC),29,Dextallp2(valB)); \
Shiftdouble(Dextallp3(valC),Dextallp4(valD),29,Dextallp3(valC)); \
Dextallp4(valD) <<= 3

Definition at line 682 of file dbl_float.h.

#define Dblext_leftshiftby4 (   valA,
  valB,
  valC,
  valD 
)
Value:
Shiftdouble(Dextallp1(valA),Dextallp2(valB),28,Dextallp1(valA)); \
Shiftdouble(Dextallp2(valB),Dextallp3(valC),28,Dextallp2(valB)); \
Shiftdouble(Dextallp3(valC),Dextallp4(valD),28,Dextallp3(valC)); \
Dextallp4(valD) <<= 4

Definition at line 677 of file dbl_float.h.

#define Dblext_leftshiftby8 (   valA,
  valB,
  valC,
  valD 
)
Value:
Shiftdouble(Dextallp1(valA),Dextallp2(valB),24,Dextallp1(valA)); \
Shiftdouble(Dextallp2(valB),Dextallp3(valC),24,Dextallp2(valB)); \
Shiftdouble(Dextallp3(valC),Dextallp4(valD),24,Dextallp3(valC)); \
Dextallp4(valD) <<= 8

Definition at line 672 of file dbl_float.h.

#define Dblext_right_align (   srcdstA,
  srcdstB,
  srcdstC,
  srcdstD,
  shift 
)

Definition at line 562 of file dbl_float.h.

#define Dblext_rightshiftby1 (   valueA,
  valueB,
  valueC,
  valueD 
)
Value:
Shiftdouble(Dextallp3(valueC),Dextallp4(valueD),1,Dextallp4(valueD)); \
Shiftdouble(Dextallp2(valueB),Dextallp3(valueC),1,Dextallp3(valueC)); \
Shiftdouble(Dextallp1(valueA),Dextallp2(valueB),1,Dextallp2(valueB)); \
Dextallp1(valueA) >>= 1

Definition at line 703 of file dbl_float.h.

#define Dblext_rightshiftby4 (   valueA,
  valueB,
  valueC,
  valueD 
)
Value:
Shiftdouble(Dextallp3(valueC),Dextallp4(valueD),4,Dextallp4(valueD)); \
Shiftdouble(Dextallp2(valueB),Dextallp3(valueC),4,Dextallp3(valueC)); \
Shiftdouble(Dextallp1(valueA),Dextallp2(valueB),4,Dextallp2(valueB)); \
Dextallp1(valueA) >>= 4

Definition at line 698 of file dbl_float.h.

#define Dblext_set_sign (   dbl_value,
  sign 
)    Dbl_set_sign(dbl_value,sign)

Definition at line 724 of file dbl_float.h.

#define Dblext_setone_lowmantissap4 (   dbl_value)    Deposit_dextlowp4(dbl_value,1)

Definition at line 559 of file dbl_float.h.

#define Dblext_setzero (   valA,
  valB,
  valC,
  valD 
)
Value:
Dextallp1(valA) = 0; Dextallp2(valB) = 0; \
Dextallp3(valC) = 0; Dextallp4(valD) = 0

Definition at line 529 of file dbl_float.h.

#define Dblext_subtract (   lefta,
  leftb,
  leftc,
  leftd,
  righta,
  rightb,
  rightc,
  rightd,
  resulta,
  resultb,
  resultc,
  resultd 
)
Value:
if( Dextallp4(rightd) > Dextallp4(leftd) ) \
if( (Dextallp3(leftc)--) == 0) \
if( (Dextallp2(leftb)--) == 0) Dextallp1(lefta)--; \
Dextallp4(resultd) = Dextallp4(leftd) - Dextallp4(rightd); \
if( Dextallp3(rightc) > Dextallp3(leftc) ) \
if( (Dextallp2(leftb)--) == 0) Dextallp1(lefta)--; \
Dextallp3(resultc) = Dextallp3(leftc) - Dextallp3(rightc); \
if( Dextallp2(rightb) > Dextallp2(leftb) ) Dextallp1(lefta)--; \
Dextallp2(resultb) = Dextallp2(leftb) - Dextallp2(rightb); \
Dextallp1(resulta) = Dextallp1(lefta) - Dextallp1(righta)

Definition at line 625 of file dbl_float.h.

#define Dblext_swap_lower (   leftp2,
  leftp3,
  leftp4,
  rightp2,
  rightp3,
  rightp4 
)
Value:
Dextallp2(leftp2) = Dextallp2(leftp2) XOR Dextallp2(rightp2); \
Dextallp2(rightp2) = Dextallp2(leftp2) XOR Dextallp2(rightp2); \
Dextallp2(leftp2) = Dextallp2(leftp2) XOR Dextallp2(rightp2); \
Dextallp3(leftp3) = Dextallp3(leftp3) XOR Dextallp3(rightp3); \
Dextallp3(rightp3) = Dextallp3(leftp3) XOR Dextallp3(rightp3); \
Dextallp3(leftp3) = Dextallp3(leftp3) XOR Dextallp3(rightp3); \
Dextallp4(leftp4) = Dextallp4(leftp4) XOR Dextallp4(rightp4); \
Dextallp4(rightp4) = Dextallp4(leftp4) XOR Dextallp4(rightp4); \
Dextallp4(leftp4) = Dextallp4(leftp4) XOR Dextallp4(rightp4)

Definition at line 548 of file dbl_float.h.

#define DBLEXT_THRESHOLD   106

Definition at line 527 of file dbl_float.h.

#define Dblext_xorfromintp1 (   left,
  right,
  result 
)    Dbl_xorfromintp1(left,right,result)

Definition at line 711 of file dbl_float.h.

#define Dblext_xortointp1 (   left,
  right,
  result 
)    Dbl_xortointp1(left,right,result)

Definition at line 709 of file dbl_float.h.

#define Fourword_add (   src1dstA,
  src1dstB,
  src1dstC,
  src1dstD,
  src2A,
  src2B,
  src2C,
  src2D 
)
Value:
/* \
* want this macro to generate: \
* ADD src1dstD,src2D,src1dstD; \
* ADDC src1dstC,src2C,src1dstC; \
* ADDC src1dstB,src2B,src1dstB; \
* ADDC src1dstA,src2A,src1dstA; \
*/ \
if ((unsigned int)(src1dstD += (src2D)) < (unsigned int)(src2D)) { \
if ((unsigned int)(src1dstC += (src2C) + 1) <= \
(unsigned int)(src2C)) { \
if ((unsigned int)(src1dstB += (src2B) + 1) <= \
(unsigned int)(src2B)) src1dstA++; \
} \
else if ((unsigned int)(src1dstB += (src2B)) < \
(unsigned int)(src2B)) src1dstA++; \
} \
else { \
if ((unsigned int)(src1dstC += (src2C)) < \
(unsigned int)(src2C)) { \
if ((unsigned int)(src1dstB += (src2B) + 1) <= \
(unsigned int)(src2B)) src1dstA++; \
} \
else if ((unsigned int)(src1dstB += (src2B)) < \
(unsigned int)(src2B)) src1dstA++; \
} \
src1dstA += (src2A)

Definition at line 736 of file dbl_float.h.

#define ovfl   -

Definition at line 316 of file dbl_float.h.

#define Twoword_add (   src1dstA,
  src1dstB,
  src2A,
  src2B 
)
Value:
/* \
* want this macro to generate: \
* ADD src1dstB,src2B,src1dstB; \
* ADDC src1dstA,src2A,src1dstA; \
*/ \
if ((src1dstB) + (src2B) < (src1dstB)) Dallp1(src1dstA)++; \
Dallp1(src1dstA) += (src2A); \
Dallp2(src1dstB) += (src2B)

Definition at line 454 of file dbl_float.h.

#define Twoword_subtract (   src1dstA,
  src1dstB,
  src2A,
  src2B 
)
Value:
/* \
* want this macro to generate: \
* SUB src1dstB,src2B,src1dstB; \
* SUBB src1dstA,src2A,src1dstA; \
*/ \
if ((src1dstB) < (src2B)) Dallp1(src1dstA)--; \
Dallp1(src1dstA) -= (src2A); \
Dallp2(src1dstB) -= (src2B)

Definition at line 460 of file dbl_float.h.

#define unfl   +

Definition at line 317 of file dbl_float.h.