MCPcopy Create free account
hub / github.com/BlitterStudio/amiberry / float64_to_floatx80

Function float64_to_floatx80

src/softfloat/softfloat.cpp:1707–1728  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1705*----------------------------------------------------------------------------*/
1706
1707floatx80 float64_to_floatx80(float64 a, float_status *status)
1708{
1709 flag aSign;
1710 int aExp;
1711 uint64_t aSig;
1712
1713 aSig = extractFloat64Frac( a );
1714 aExp = extractFloat64Exp( a );
1715 aSign = extractFloat64Sign( a );
1716 if ( aExp == 0x7FF ) {
1717 if ( aSig ) return commonNaNToFloatx80( float64ToCommonNaN( a, status ), status );
1718 return packFloatx80( aSign, 0x7FFF, floatx80_default_infinity_low );
1719 }
1720 if ( aExp == 0 ) {
1721 if ( aSig == 0 ) return packFloatx80( aSign, 0, 0 );
1722 normalizeFloat64Subnormal( aSig, &aExp, &aSig );
1723 }
1724 return
1725 packFloatx80(
1726 aSign, aExp + 0x3C00, ( aSig | LIT64( 0x0010000000000000 ) )<<11 );
1727
1728}
1729
1730#ifdef SOFTFLOAT_68K // 31-12-2016: Added for Previous
1731floatx80 float64_to_floatx80_allowunnormal( float64 a, float_status *status )

Callers 15

doubletof80Function · 0.85
checkvaltype2Function · 0.85
fp_from_extenFunction · 0.85
softfloat_tanFunction · 0.85
floatx80_atanFunction · 0.85
floatx80_cosFunction · 0.85
floatx80_coshFunction · 0.85
floatx80_etoxFunction · 0.85
floatx80_etoxm1Function · 0.85
floatx80_lognFunction · 0.85
floatx80_lognp1Function · 0.85
floatx80_sinFunction · 0.85

Calls 7

extractFloat64FracFunction · 0.85
extractFloat64ExpFunction · 0.85
extractFloat64SignFunction · 0.85
commonNaNToFloatx80Function · 0.85
float64ToCommonNaNFunction · 0.85
packFloatx80Function · 0.85

Tested by

no test coverage detected